bluetooth-lowenergy - 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 Embedded Linux 系统中。如果遇到此错误,则应启用上述选项并重新编译内核。
请参阅此处的 BlueZ 要求:https ://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/README#n64
要查看 BlueZ 的详细调试输出,请使用-d
以下选项运行它:
bluetoothd -d
推荐阅读
- python - 使用 readlines 从文件打印 - 新行加倍
- excel - 当其他任何一个单元格发生更改时,如何使用 Excel 更改三个单元格?
- firebase-realtime-database - 当我 invalidate() 我的数据时,onChanged submitList 在 loadInitial 从 firebase 获取数据之前触发了 0 个项目
- scala - 使用 Scala 将多列转换为 Spark Dataframe 上的一列地图
- sql - MemSQL - 追加查询类型对象
- angular - Angular Universal Build 错误“缺少脚本:build:ssr”
- compilation - 使用标志 -fast 时无法编译
- php - 使用 XMLreader 读取和解析大型 XML 文件。空值问题
- php - 将 PHP 变量导入 jQuery Ajax 的语法
- spring - @RequestBody 下的映射字段