我正在尝试在运行 Kitkat 的 Galaxy note 2 上初始化我的 bcm43xx 芯片。
我已经向后移植了我的蓝牙子系统并添加了来自 Bluez 的 hciattach、hciconfig 和其他(我已将其移植到我的 rom 中以替换 Bluedroid)
重新启动后,我运行以下命令
modprobe bluetooth //Load the backported subsystem
modprobe hci_uart
modprobe hci_smd
echo "1" > /sys/class/rfkill/rfkill0/state
hciattach /dev/ttySAC0 bcm43xx 3000000 flow 79:59:5E:**:**:** //The bt addr is loaded from /efs/bluetooth/bt_addr in which the ** are real hex
hciconfig hci0 up
无论如何,我已经修改了 hciattach,因为我遇到问题让它找到我的 bcm4334.hcd 固件文件,该文件在我的 rom 中是 /system/bin 我将它硬编码到源代码中,一切似乎都找到了
In '/system/bin': Success
In '/system/bin': Success
In '/system/bin/.ext': Success
Broke in '/system/bin/.ext': Success
Flash firmware /system/bin/bcm4334_semcosh.hcd
Set Controller UART speed to 3000000 bit/s
Device setup complete
前 4 行是我的调试代码,用于尝试获取递归搜索的函数。
是的,它有效.. 不...我可以使用 shell 中的工具 ping、扫描等,但请查看我的 hciconfig -a
hci0: Type: BR/EDR Bus: UART
BD Address: 43:34:B0:00:00:00 ACL MTU: 1021:8 SCO MTU: 64:1
DOWN
RX bytes:579 acl:0 sco:0 events:27 errors:0
TX bytes:379 acl:0 sco:0 commands:27 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
看看我的BD地址。它是默认的,没有地址给定地址。我现在面临的问题是 Bluez 检查我的硬件地址并发现它不匹配,因此它失败并且无法启动。
我已经到了不知道该去哪里的地步。任何帮助都会很棒
我正在使用 Bluez 5.18,反向移植的 3.14 驱动程序,4.4.2 基础。
提前致谢