Как сделать передачу файлов по Bluetooth с помощью OBEX на сборке yocto
Я пытаюсь сделать возможность отправлять и получать файлы на устройствах с помощью OBEX. Я использую сборку yocto (ветка воина) и добавил в свой образ следующие пакеты, используя
IMAGE_INSTALL_append = " obex obexftp obex-data-server openobex python-dbus python-pygobject python-pybluez"
Шаги, которые я пробовал:
- Следуя руководству по этой ссылке, сначала я использую bluetoothctl для доверия и сопряжения целевого устройства, с которого я хочу отправлять и получать файлы.
- Узнаю канал сервиса OBEX Push с целевого устройства с помощью команды
sdptool search --bdaddr target-MAC_address OPUSH
Он возвращает детали службы OBEX Object Push, включая канал, в моем случае канал 4.
- Я пытаюсь отправить файл (test.txt) на целевую машину, используя приведенную ниже команду и указав канал
obexftp --nopath --noconn --uuid none --bluetooth target-MAC_address --channel 4--put test.txt
На моем компьютере с Windows (целевой машине) я получаю уведомление о входящей передаче файла, и через несколько секунд он говорит: "Передача была отменена устройством Bluetooth или компьютером с поддержкой Bluetooth", на хост-машине я получаю сообщение об ошибке "Ошибка сегментации". На экране dmesg я также получаю сообщение об ошибке "Obexftp segfault at ...."
Как исправить эту ошибку? Есть ли другие пакеты, которые мне нужно добавить, чтобы сделать передачу файлов возможной?