D1 开发板使用 XR829 mesh fw 出现 code(56) 错误,如何解决
-
1、根据 https://bbs.aw-ol.com/topic/282/蓝牙mesh固件?_=1628500126461
将 /lib/firmware/fw_xr829_bt.bin 替换成 新的 fw
2、重启设备3、使用 md5sum 对比了/lib/firmware/fw_xr829_bt.bin和原始文件 ,确认文件没有错误
4、通过 hciattch 上 hci0
hciattch -n ttyS1 xradio >/dev/null 2>&1 &5、hciconfig 能够看到hci0 设备,但是状态是 DOWN
6、通过 hciconfig hci0 up 报错,无法启动 hci0
请问是否是 kernel 配置,或者其他配置导致的这个问题,该如何解决
hciattch 启动log如下:
xradio_init set LPM mode:disabled[userial_sync] uart sync count: 1. [userial_sync] read buf: 00 00. [userial_sync] uart sync count: 2. [userial_sync] read buf: 4f 4b. [userial_sync] Receive OK, uart sync done. Set uart mode done [userial_sync] uart sync count: 1. [userial_sync] read buf: 00 00. [userial_sync] uart sync count: 2. [userial_sync] read buf: 4f 4b. [userial_sync] Receive OK, uart sync done. [load_btfirmware] start loading firmware... [load_btfirmware] open firmware file success. load firmware done. jump: set pc 0, val 0 Now the system will jump to 00000000 Set HW FlowControl On userial_vendor_set_hw_fctrl set hw flowcontrol on [xradio_init] send reset cmd... writing 01 03 0c 00 received 7 04 0e 04 05 03 0c 00 [xradio_init] update hci baudrate... writing 01 18 fc 04 60 e3 16 00 received 7 04 0e 04 05 18 fc 00 Done setting baudrate [xradio_init] set bdaddr... writing 01 0a fc 09 02 00 06 d5 64 9d 15 22 22 received 7 04 0e 04 05 0a fc 00 writing 01 03 0c 00 received 7 04 0e 04 05 03 0c 00 [xradio_init] bring up hci... Done setting line discpline Device setup complete
使用的tina版本如下
-
@abing 在 D1 开发板使用 XR829 mesh fw 出现 code(56) 错误,如何解决 中说:
是
你好,我参考你的操作流程进行问题复现,更换掉板子剩的fw后,进行hci 挂载。
root@TinaLinux:/# hciattch -n ttyS1 xradio >/dev/null 2>&1 & [1]- Done(127) hciattch -n ttyS1 xradio 1>/dev/null 2>&1
然后使用 hciconfig 没有看到 hci 设备,是怎么回事呢?
root@TinaLinux:/# hciconfig [2]+ Done(127) hciattch -n ttyS1 xradio 1>/dev/null 2>&1 root@TinaLinux:/# hciconfig root@TinaLinux:/# hciconfig
-
@bedrock 你这估计是 没有 attch 成功,可以看一下 通过 hciattch -n ttyS1 xradio 这个命令,不在后台运行看一下输出的log,是否有异常
-
@abing 我log 显示 not fount 是不是 ttyS1 找不到?
root@TinaLinux:/# hciattch -n ttyS1 xradio /bin/sh: hciattch: not found
-
@bedrock
hciattach -
root@TinaLinux:/# hciconfig -a hci0 up [11722.896887] Bluetooth: hci0: command 0x1003 tx timeout [11724.976898] Bluetooth: hci0: command 0x1001 tx timeout [11727.056913] Bluetooth: hci0: command 0x1009 tx timeout Can't init device hci0: Connection timed out (110)
测试了一下,发现旧的固件不行。
-
@whycan 谢谢晕哥,已经成功复现这个问题
-
此问题已修复,使用此蓝牙固件。
fw_xr829_bt_40M.bin已经成功up
root@TinaLinux:/# hciconfig hci0 up root@TinaLinux:/# hciconfig hci0: Type: Primary Bus: UART BD Address: 22:22:53:A1:50:DF ACL MTU: 1021:8 SCO MTU: 255:4 UP RUNNING RX bytes:1154 acl:0 sco:0 events:54 errors:0 TX bytes:744 acl:0 sco:0 commands:54 errors:0
-
@bedrock 大佬神速。。。
-
@bedrock 但是我需要 mesh 功能哎,这个fw 有mesh 功能吗
-
@bedrock img 里面原来的固件,我也是可以up,但是我现在在开发mesh功能,需要替换 支持mesh 共存的fw。之前 全志的同学 mingyuan 有给过我一个img,是可以up 这个 支持mesh的fw的,但是 tina 1.0.1 sdk 编译出来的img 就是up不起来。
-
@abing 在 D1 开发板使用 XR829 mesh fw 出现 code(56) 错误,如何解决 中说:
@bedrock img 里面原来的固件,我也是可以up,但是我现在在开发mesh功能,需要替换 支持mesh 共存的fw。之前 全志的同学 mingyuan 有给过我一个img,是可以up 这个 支持mesh的fw的,但是 tina 1.0.1 sdk 编译出来的img 就是up不起来。
看版本号,mesh在两个版本前加入,所以这个也是有的
-
@bedrock 你是说哪个版本号,tina的版本号,还是 fw的版本号,mesh的支持是在fw支持的,我是需要fw 支持mesh和rf共存功能
-
@bedrock 我验证了你的这个版本不支持 mesh需要的 fast adv 特性,也就是应该没有mesh功能
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号