首页 > 解决方案 > 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)

谁能帮我解决这个问题?

提前致谢。

标签: bluetooth-lowenergyembedded-linuxblueznrf52zephyr-rtos

解决方案


分配地址的错误是由于缺少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

这很可能发生在自建的BuildrootYocto Embedded Linux 系统中。如果遇到此错误,则应启用上述选项并重新编译内核。

请参阅此处的 BlueZ 要求:https ://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/README#n64

要查看 BlueZ 的详细调试输出,请使用-d以下选项运行它:

bluetoothd -d

推荐阅读