Отправка события HCI завершилась неудачно с неверным аргументом - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь отправить необработанное сообщение на мое устройство Bluetooth.Я попытался отправить событие завершения подключения на устройство.Я упаковал данные, связанные с правой ручкой.Однако, когда я отправляю данные, я получаю недопустимую ошибку аргумента.

raw_sock = bt.hci_open_dev(bt.hci_devid(src_hci))
flt = bt.hci_filter_new()
bt.hci_filter_set_ptype(flt, bt.HCI_EVENT_PKT)
raw_sock.setsockopt(bt.SOL_HCI, bt.HCI_FILTER, flt)
raw_sock.sendall(binascii.unhexlify('04030b004700xxxxxxxxxxxx0100'))
raw_sock.close()

*** ошибка: (22, «Недопустимый аргумент») xxxxxxxxxxxx - это адрес ключа Bluetooth

Когда я пытаюсь отправить данные с другим типом пакета, сообщение отправлено успешно.Почему BlueZ не смог отправить это событие?Потому что я не контроллер?

Обновление - я попытался переключиться на мастер, введя следующие команды

hciconfig -a hci0 lm master hciconfig -a hcio lp hold

, но это не сработало.

...