如何解决NRF52840 上的 HCI_UART,将设备连接到基于 Yocto 的 Linux SBC 错误提示“无法初始化设备 hci0:无法分配请求的地址 (99)”
我正在尝试将基于 nordic 的 nrf52840 的 BLE 模块连接到基于 Yocto 的 SBC,所有 BlueZ 相关软件包都已添加到该模块中。
我已将 Zephyr 的示例 hci_uart 程序写入模块。该模块似乎在我的 Linux PC(BlueZ 版本 5.48)上完美运行,而在 SBC(BlueZ 版本 5.54)上却无法启动。这是我使用时出现的错误
root@rb-imx6:~# hciconfig hci0 up
root@rb-imx6:~# Can't init device hci0: Cannot assign requested address (99)
有人可以帮我解决这个问题吗?
提前致谢。
解决方法
分配地址错误是由于缺少Linux内核配置选项:
CONFIG_CRYPTO_USER
CONFIG_CRYPTO_USER_API
CONFIG_CRYPTO_USER_API_AEAD
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_AES
CONFIG_CRYPTO_CCM
CONFIG_CRYPTO_AEAD
CONFIG_CRYPTO_CMAC
这很可能发生在自建的 Buildroot 或 Yocto 嵌入式 Linux 系统中。如果遇到此错误,则应启用上述选项并重新编译内核。
在此处查看 BlueZ 要求:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/README#n64
要查看 BlueZ 的详细调试输出,请使用 -d
选项运行它:
bluetoothd -d
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。