请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:WL1835MOD 工具/软件:Linux
您好!
我们将 BeagleBone Green Wireless (https://beagleboard.org/green-wireless )与蓝牙模块 WL1835MOD 配合使用。 当同时连接到8-10个 iPhone / Android 时、我们会遇到维持 BLE 连接的问题。 在我们的用例 中、BeagleBone Green Wireless 是中央设备(和扫描器)、而 Android/iPhone 设备是外设(和广播器)。
CPU:Sitara AM3358BZCZ100
平台:Linux (4.4.5.54-ti-R93 и 4.9.54-ti-R56)
蓝牙堆栈:BlueZ (5.45)
固件版本:TIInit_11.8.32.bts (Service Pack 4.2)
我们的 BeagleBone 器件正在持续扫描安装了可公开自定义 GATT 服务的移动应用的器件;一旦发现此类移动设备、BeableBone 应用便会与其连接并创建绑定。
平台:Linux (4.4.5.54-ti-R93 и 4.9.54-ti-R56)
蓝牙堆栈:BlueZ (5.45)
固件版本:TIInit_11.8.32.bts (Service Pack 4.2)
我们的 BeagleBone 器件正在持续扫描安装了可公开自定义 GATT 服务的移动应用的器件;一旦发现此类移动设备、BeableBone 应用便会与其连接并创建绑定。
我们遇到的问题是、在与8-10个器件建立连接(最小时间:0m 56s、最大时间:119m 10s、平均时间:26m 40s)后、BeagleBone 几乎同时断开与所有器件的连接。 此过程附带一个 HCI 事件: 断开完成、原因为:连接超时。 作为恢复措施、我们只需继续扫描、连接通常会在几秒钟内启动。
但是、在几个小时的此类连接/断开连接后、蓝牙模块停止响应 HCI 命令、至少这是内核日志所说的:
[45274.596510]蓝牙:hci0命令0x200c TX 超时
[45361.596587]蓝牙:hci0命令0x200c TX 超时
HCI 在此之前的日志如下所示:
< HCI 命令:LE 设置扫描启用(0x08|0x000c) PLEN 2. 编号164275 [hci0] 20717.475133
扫描:启用(0x01)
过滤器重复项:启用(0x01)
> HCI 事件:命令完成(0x0E) PLEN 4. 编号164276 [hci0] 20799.395988
LE 设置扫描使能(0x08|0x000c) ncmd 1.
状态:成功(0x00)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164277 [hci0] 20799.405919
状态:成功(0x00)
手柄:1025
原因:连接超时(0x08)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164278 [hci0] 20799.411891
状态:成功(0x00)
手柄:1026
原因:连接超时(0x08)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164279 [hci0] 20799.411937
状态:成功(0x00)
手柄:1027
原因:连接超时(0x08)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164280 [hci0] 20799.411945
状态:成功(0x00)
手柄:1028
原因:连接超时(0x08)
< HCI 命令:LE 设置扫描启用(0x08|0x000c) PLEN 2. 编号164281 [hci0] 20804.475598
扫描:禁用(0x00)
过滤器重复项:禁用(0x00)
如您所见、顶部的 HCI LE 扫描启用命令花费82秒的时间完成、 底部的 LE 设置扫描启用完全未完成。 在最后一个 LE Set Scan Enable 命令之后的日志中没有 HCI 事件、但我们希望命令完成或其他 HCI 事件。
[45361.596587]蓝牙:hci0命令0x200c TX 超时
HCI 在此之前的日志如下所示:
< HCI 命令:LE 设置扫描启用(0x08|0x000c) PLEN 2. 编号164275 [hci0] 20717.475133
扫描:启用(0x01)
过滤器重复项:启用(0x01)
> HCI 事件:命令完成(0x0E) PLEN 4. 编号164276 [hci0] 20799.395988
LE 设置扫描使能(0x08|0x000c) ncmd 1.
状态:成功(0x00)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164277 [hci0] 20799.405919
状态:成功(0x00)
手柄:1025
原因:连接超时(0x08)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164278 [hci0] 20799.411891
状态:成功(0x00)
手柄:1026
原因:连接超时(0x08)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164279 [hci0] 20799.411937
状态:成功(0x00)
手柄:1027
原因:连接超时(0x08)
> HCI 事件:断开连接完成(0x05) PLEN 4. 编号164280 [hci0] 20799.411945
状态:成功(0x00)
手柄:1028
原因:连接超时(0x08)
< HCI 命令:LE 设置扫描启用(0x08|0x000c) PLEN 2. 编号164281 [hci0] 20804.475598
扫描:禁用(0x00)
过滤器重复项:禁用(0x00)
如您所见、顶部的 HCI LE 扫描启用命令花费82秒的时间完成、 底部的 LE 设置扫描启用完全未完成。 在最后一个 LE Set Scan Enable 命令之后的日志中没有 HCI 事件、但我们希望命令完成或其他 HCI 事件。
如果有任何帮助,我们将不胜感激。
谢谢!