Я использую NVIDIA Jetson TX2 NX с модулем WiFi-BT на базе чипа RTL8822ce.
Bluetooth может открыть и увидеть каждую деталь, но при запуске сканирования он не будет отображать список ближайших устройств.
[НОВОЕ] Контроллер 70:66:55:A6:F4:72 BlueZ 5.48 [по умолчанию]
Агент зарегистрирован
[блютуз]# показать
Контроллер 70:66:55:A6:F4:72 (общедоступный)
Название: BlueZ 5.48
Псевдоним: BlueZ 5.48
Класс: 0x00000000
Работает: да
Обнаруживаемый: нет
Пара: да
UUID: общий профиль атрибута (00001801-0000-1000-8000-00805f9b34fb)
UUID: информация PnP (00001200-0000-1000-8000-00805f9b34fb)
UUID: Общий профиль доступа (00001800-0000-1000-8000-00805f9b34fb)
Модалии: usb:v1D6Bp0246d0530
Открытие: нет
[Bluetooth] # можно обнаружить на
Изменение обнаруживаемого при успешном завершении
[CHG] Контроллер 70:66:55:A6:F4:72 Обнаруживаемый: да
[блютуз]# показать
Контроллер 70:66:55:A6:F4:72 (общедоступный)
Название: BlueZ 5.48
Псевдоним: BlueZ 5.48
Класс: 0x00000000
Работает: да
Обнаруживаемый: да
Пара: да
UUID: общий профиль атрибута (00001801-0000-1000-8000-00805f9b34fb)
UUID: информация PnP (00001200-0000-1000-8000-00805f9b34fb)
UUID: Общий профиль доступа (00001800-0000-1000-8000-00805f9b34fb)
Модалии: usb:v1D6Bp0246d0530
Открытие: нет
[Bluetooth]# сканирование включено
Открытие началось
[CHG] Контроллер 70:66:55:A6:F4:72 Обнаружение: да
[Bluetooth] # сканирование выключено
[CHG] Контроллер 70:66:55:A6:F4:72 Обнаружение: нет
Открытие остановлено
[блютуз]# выход
Агент незарегистрирован
[DEL] Контроллер 70:66:55:A6:F4:72 BlueZ 5.48 [по умолчанию]
Но когда я взял журнал, я заметил некоторые проблемы в порядке команд HCI.
root@localhost:/home/ASKC# btmon
Bluetooth-монитор версии 5.48
= Примечание: Linux версии 4.9.253-tegra (aarch64) 0.275592
= Примечание: версия подсистемы Bluetooth 2.22 0.275595
= Новый индекс: 70:66:55:A6:F4:72 (основной, USB, hci0) [hci0] 0,275596
= Открытый индекс: 70:66:55:A6:F4:72 [hci0] 0,275597
= Информация об индексе: 70:66:55:A6:F4:72 (Realtek Semiconductor Corporation) [hci0] 0,275598
@ MGMT Открыто: bluetoothd (привилегированная) версия 1.14 {0x0002} 0.275599
@ MGMT Открыто: bluetoothd (привилегированная) версия 1.14 {0x0001} 0.275601
@ MGMT Открыто: btmon (привилегированная) версия 1.14 {0x0003} 0.275626
@ Команда MGMT: Set Connectable (0x0007) plen 1 {0x0001} [hci0] 17.340311
Возможность подключения: включено (0x01)
@ Событие MGMT: выполнение команды (0x0001) plen 7 {0x0001} [hci0] 17.340407
Установить подключаемый (0x0007) плен 4
Статус: Успех (0x00)
Текущие настройки: 0x00000ad3
Питание
Подключаемый
Склеиваемый
Безопасное простое сопряжение
BR/EDR
Мало энергии
Безопасные соединения
@ Событие MGMT: новые настройки (0x0006) plen 4 {0x0003} [hci0] 17.340425
Текущие настройки: 0x00000ad3
Питание
Подключаемый
Склеиваемый
Безопасное простое сопряжение
BR/EDR
Мало энергии
Безопасные соединения
@ Событие MGMT: новые настройки (0x0006) plen 4 {0x0002} [hci0] 17.340425
Текущие настройки: 0x00000ad3
Питание
Подключаемый
Склеиваемый
Безопасное простое сопряжение
BR/EDR
Мало энергии
Безопасные соединения
@ Команда MGMT: установить доступный для обнаружения (0x0006) plen 3 {0x0001} [hci0] 17.340628
Обнаруживаемый: общий (0x01)
Таймаут: 180
< Команда HCI: запись текущего IAC LAP (0x03|0x003a) plen 4 #1 [hci0] 17.340783
Количество МАК: 1
Код доступа: 0x9e8b33 (общий запрос)
> Событие HCI: выполнение команды (0x0e) plen 4 #2 [hci0] 17.341793
Запись текущего IAC LAP (0x03|0x003a) ncmd 2
Статус: Успех (0x00)
< Команда HCI: запись разрешения сканирования (0x03|0x001a) plen 1 #3 [hci0] 17.341914
Включение сканирования: сканирование запроса + сканирование страницы (0x03)
> Событие HCI: выполнение команды (0x0e) plen 4 #4 [hci0] 17.342825
Запись разрешения сканирования (0x03|0x001a) ncmd 2
Статус: Успех (0x00)
@ Событие MGMT: выполнение команды (0x0001) plen 7 {0x0001} [hci0] 17.342964
Установить доступный для обнаружения (0x0006) плен 4
Статус: Успех (0x00)
Текущие настройки: 0x00000adb
Питание
Подключаемый
Обнаруживаемый
Склеиваемый
Безопасное простое сопряжение
BR/EDR
Мало энергии
Безопасные соединения
@ Событие MGMT: новые настройки (0x0006) plen 4 {0x0003} [hci0] 17.343001
Текущие настройки: 0x00000adb
Питание
Подключаемый
Обнаруживаемый
Склеиваемый
Безопасное простое сопряжение
BR/EDR
Мало энергии
Безопасные соединения
@ Событие MGMT: новые настройки (0x0006) plen 4 {0x0002} [hci0] 17.343001
Текущие настройки: 0x00000adb
Питание
Подключаемый
Обнаруживаемый
Склеиваемый
Безопасное простое сопряжение
BR/EDR
Мало энергии
Безопасные соединения
@ Команда MGMT: Начать обнаружение (0x0023) plen 1 {0x0001} [hci0] 30.352194
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
< Команда HCI: LE Установить случайный адрес (0x08|0x0005) plen 6 #5 [hci0] 30.352384
Адрес: 1D:0F:B3:73:FA:E7 (неразрешимый)
> Событие HCI: выполнение команды (0x0e) plen 4 #6 [hci0] 30.353773
LE Установить случайный адрес (0x08|0x0005) ncmd 2
Статус: Успех (0x00)
< Команда HCI: LE Установить параметры сканирования (0x08|0x000b) plen 7 #7 [hci0] 30.353889
Тип: Активный (0x01)
Интервал: 11,250 мс (0x0012)
Окно: 11,250 мс (0x0012)
Тип собственного адреса: Случайный (0x01)
Политика фильтрации: принимать всю рекламу (0x00)
> Событие HCI: выполнение команды (0x0e) plen 4 #8 [hci0] 30.354774
LE Установка параметров сканирования (0x08|0x000b) ncmd 2
Статус: Успех (0x00)
< Команда HCI: LE Set Scan Enable (0x08|0x000c) plen 2 #9 [hci0] 30.354871
Сканирование: включено (0x01)
Фильтровать дубликаты: включено (0x01)
> Событие HCI: выполнение команды (0x0e) plen 4 #10 [hci0] 30.355763
LE Включить сканирование (0x08|0x000c) ncmd 2
Статус: Успех (0x00)
@ Событие MGMT: выполнение команды (0x0001) plen 4 {0x0001} [hci0] 30.356005
Начать обнаружение (0x0023) плен 1
Статус: Успех (0x00)
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Событие @MGMT: Обнаружение (0x0013) plen 2 {0x0003} [hci0] 30.356057
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Обнаружение: включено (0x01)
@ Событие MGMT: Обнаружение (0x0013) plen 2 {0x0002} [hci0] 30.356057
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Обнаружение: включено (0x01)
Событие @ MGMT: Обнаружение (0x0013) plen 2 {0x0001} [hci0] 30.356057
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Обнаружение: включено (0x01)
< Команда HCI: LE Set Scan Enable (0x08|0x000c) plen 2 #11 [hci0] 35.626810
Сканирование: отключено (0x00)
Фильтровать дубликаты: отключено (0x00)
> Событие HCI: выполнение команды (0x0e) plen 4 #12 [hci0] 35.627802
LE Включить сканирование (0x08|0x000c) ncmd 2
Статус: Успех (0x00)
< Команда HCI: запрос (0x01|0x0001) plen 5 #13 [hci0] 35.627958
Код доступа: 0x9e8b33 (общий запрос)
Длина: 5,12 с (0x04)
Количество ответов: 0
> Событие HCI: статус команды (0x0f) plen 4 #14 [hci0] 35.628759
Запрос (0x01|0x0001) ncmd 2
Статус: Успех (0x00)
> Событие HCI: запрос завершен (0x01) плен 1 #15 [hci0] 40.750766
Статус: Успех (0x00)
@ Событие MGMT: Обнаружение (0x0013) plen 2 {0x0003} [hci0] 40.750922
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Обнаружение: отключено (0x00)
Событие @MGMT: Обнаружение (0x0013) plen 2 {0x0002} [hci0] 40.750922
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Обнаружение: отключено (0x00)
Событие @ MGMT: Обнаружение (0x0013) plen 2 {0x0001} [hci0] 40.750922
Тип адреса: 0x07
BR/EDR
LE Публичный
LE Случайный
Обнаружение: отключено (0x00)
client_loop: отключение отправки: сломанный канал
Вы можете видеть, что после шага включения сканирования команда HCI: запрос не отправляется. И когда сканирование отключается, HCI Command: Inquiry отправляет. То есть есть разница в порядке следования команд и событий.
Могу ли я изменить последовательность? Можете ли вы помочь мне решить?