我正在尝试让蓝牙在Raspberry Pi 3中运行。
我正在使用buildroot:
bluetoothd
因为
bluez脚本适用于systemd。console=ttyAMA0,115200
rfkill
,但我只看到了wifi接口,没有蓝牙接口。运行:
hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
输出显示:
bcm43xx_init
Initialization timed out
尝试了115200,同样。
注意:
invalid id
以上所有内容都是在深度搜索后进行的。
那么我在这里缺少什么?
如何让蓝牙开始在我的Raspberry Pi 3中运行 使用buildroot作为图像创建者?
谢谢大家!
答案 0 :(得分:2)
As described in the commit adding the firmware, you unfortunately need to patch bluez5_utils to get the firmware to work:
https://git.buildroot.net/buildroot/commit/?id=1f94f1aaab2e786542a83327358570a828d68f45
答案 1 :(得分:2)
主要问题是buildroot添加了pi3-miniuart-bt叠加层 在config.txt。
要删除它,我们需要从post-image.sh脚本中删除if作为上述脚本的参数。
在raspberry pi 3中,ttyAMA0被分配到蓝牙,pi3-miniuart-bt将其恢复为串行com端口,再次断开蓝牙连接。
总结buildroot中的步骤。
/dev/ttyAMA0
醇>
构建完成后,检查目标(pi3)
modprobe hci_uart
。运行lsmod
以查看它正在运行。
要启动服务并加载固件,请使用hciattach:
hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
启动bluetoothd守护程序:
/usr/libexec/bluetooth/bluetoothd &
使用bluetoothctl
启动蓝牙硬件(开机和代理开启)。
现在你应该使用hcitool dev。
同样,如果你不删除叠加层,你将会超时。
那就是它。现在应该看到hci设备。 你可以使用:
看到它rfkill list
(从busybox-menuconfig安装)hciconfig -a
上述步骤并未使控制台在Pi 3上正常工作,但这是另一回事。