linux 设备bluez版本5.6.1 作为provisioner esp32作为node 使用meshctl 当完成 provision后,linux端的controller被关闭,不知道是什么原因。请大神指教。
你是从哪里看出来把Bluetooth controller关闭的?你说的是断开连接吗?如果是的话,这个是正常的,因为配置完成之后,要更新gatt服务,红旭的教程里有提及这事。
Wireless-Tech 您好,我provisioner端的bluetoothd 被关闭了,bluetoothd 是开机启动的,重启bluetoothd 是常规流程么。
alexeo 这个是不太正常的,一般此时发起重连
Wireless-Tech 我看抓了 provisioner端hci的数据,provision完成后,provisioner 和node端交互了ATT的服务,可能是这个过程出了问题,我看是交互了service 的handle,然后provisioner 向node端写了数据,失败了,然后 provisioner 端的host就和自己的controller断开了。上面图片能看到这个过程。
alexeo 这个需要provisioner重接扫描并连接
Wireless-Tech 嗯是的,目前是手动再起bluetoothd,然后connect 然后 给element配appkey
Wireless-Tech connect的时候应该是provisioner通过gatt扫描MESH_PROXY_SVC_UUID "00001828-0000-1000-8000-00805f9b34fb" 然后连接,然后配网。
这个现象是正常的,因为未配置前,设备端用的是provisioning service,配置后是proxy service,所以断开是必然的。
Wireless-Tech 嗯 可能是bluez 自己的某些逻辑导致的 host把controller关掉了。后续我再找找原因。谢谢大佬