This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3351:BLE 扩展广播 HCI 命令产生不完整的广播数据包

Guru**** 2874030 points

Other Parts Discussed in Thread: CC3351

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1633638/cc3351-ble-extended-advertising-hci-commands-makes-incomplete-advertising-packet

器件型号: CC3351

在内核 v5.10.72+上使用 BLE 扩展广播命令时、当前的 CC3351 驱动程序始终会生成不完整的广播数据包。  我们使用的 TI 无线 SDK 版本为  v1.0.2.12 和 v1.0.2.13。
内核 V6.13 上不存在问题、我们可以得到完整的广播包。
它可以使用以下 bluetoothctl 命令轻松复制:
# bluetoothctl 
上电
业务代表打开
默认代理
Advertising.Clear all
advertise.name MyBLE
Advertised.uuids 0000180f-0000-1000-8000-00805f9b34fb
通告.MANUFACTURER 0xFFFF 0x12 0x34
广播开启
我们还使用 btmon 捕获了 HCI 命令日志:
在智能手机上使用 BLE Agent 应用捕获的广播数据包:
虽然 在相同的软件和硬件环境但与其他供应商不同的 Wi-Fi 芯片下、我们可以得到一个完整的广播包:
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sabeh Khan1 :

    你能否像我们在会议上讨论的那样研究一下这个问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 星苏 、

    我相信我能够重现这个问题。 内核 5.10 中似乎有一个错误、它不能正确支持 LE 扩展广播。 为了真正解决该问题、内核中的蓝牙协议栈需要更新、但这并不理想、因为它需要大量代码。

    因此、我编写了一个快速补丁、它简单地禁用 LE 扩展广播、以便改用旧广播。 现在可以看到制造数据。 请尝试此补丁、并注意这仅适用于内核 5.10。

    e2e.ti.com/.../0001_2D00_force_2D00_legacy_2D00_extended_2D00_advertising.patch