Bluez отправляет команду ext scan rsp data, даже если Legacy PDU установлен в Ext Adv Params - PullRequest
1 голос
/ 09 июля 2020

Linux ядро: 5.4.24 Мы используем bluez с контроллером с включенной функцией 5.0. При выполнении hciconfig hci0 reset мы видим, что в LE Set Extended Advertising Parameters, даже если свойства установлены как ADV_NONCONN_IND legacy, как показано ниже:

< HCI Command: LE Set Extended Advertising Parameters (0x08|0x0036) plen 25                           #83 [hci0] 9.977909
        Handle: 0x00
    Properties: 0x0010
              Use legacy advertising PDUs: ADV_NONCONN_IND

Мы все еще можем видеть отправку bluez Ext Scan Rsp Data, как показано ниже:

< HCI Command: LE Set Extended Scan Response Data (0x08|0x0038) plen 35                               #87 [hci0] 9.984415
        Handle: 0x00
        Operation: Complete scan response data (0x03)
        Fragment preference: Minimize fragmentation (0x01)
        Data length: 0x0c
        Name (complete): pvqseqevk

И поскольку spe c говорит:

Если рекламный набор не сканируется и Хост использует эту команду, кроме отбрасывания существующих данных, Контроллер должен вернуть код ошибки Недействительный Параметры команды HCI (0x12).

Контроллер возвращает эту ошибку:

> HCI Event: Command Complete (0x0e) plen 4                                                           #88 [hci0] 9.989066
      LE Set Extended Scan Response Data (0x08|0x0038) ncmd 1
        Status: Invalid HCI Command Parameters (0x12)

Кроме того, после этой команды проходят следующие команды, как показано в hcidump / btmon, но ядро выдает ошибку, потому что эта команда не выполняется. Мой вопрос: каково ожидаемое поведение? Если такое поведение правильное, должны ли мы просто игнорировать ошибку? Если поведение неправильное, есть ли уже какое-нибудь исправление для этого?

...