我试图激活我的嵌入式系统(google Coral、Mendel Linux)中的蓝牙服务,该服务以前可以工作。我遇到以下情况(它之前没有运行,但我设法修复了,暂时看起来Active (running)
是绿色的):
● bluetooth.service - Bluetooth service
Loaded: loaded (/etc/systemd/system/bluetooth.service; enabled; vendor preset: enable
Active: active (running) since Mon 2023-02-20 09:04:28 CET; 2h 45min ago
Docs: man:bluetoothd(8)
Main PID: 5846 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 797)
Memory: 712.0K
CGroup: /system.slice/bluetooth.service
└─5846 /usr/lib/bluetooth/bluetoothd --compat
Feb 20 09:04:28 silly-quill systemd[1]: Starting Bluetooth service...
Feb 20 09:04:28 silly-quill bluetoothd[5846]: Bluetooth daemon 5.50
Feb 20 09:04:28 silly-quill systemd[1]: Started Bluetooth service.
Feb 20 09:04:28 silly-quill bluetoothd[5846]: Starting SDP server
Feb 20 09:04:28 silly-quill bluetoothd[5846]: Failed to open RFKILL control device
Feb 20 09:04:28 silly-quill bluetoothd[5846]: Bluetooth management interface 1.14 initia
Feb 20 09:04:28 silly-quill bluetoothd[5846]: Sap driver initialization failed.
Feb 20 09:04:28 silly-quill bluetoothd[5846]: sap-server: Operation not permitted (1)
这导致我开始调查与蓝牙和蓝牙 rfkill 相关的错误。仍然不确定 SAP 驱动程序,但从我读到的内容来看这里,debian相关的蓝牙sap和这里,蓝牙服务上的 SAP 错误,它似乎与配置蓝牙设备(在本例中)相关。在最后一个中,他们建议添加:ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap
到蓝牙文件中。我还没有尝试过,因为该服务以前工作过,而且它仍然无法解释 rfkill 行为。
sudo rfkill list all
rfkill: cannot open /dev/rfkill: No such file or directory
rfkill: cannot read /dev/rfkill: Bad file descriptor
更新、升级或者作为 sudo 运行不适合我。我了解到软块和硬块和这里,这个 github 问题,最后,这让我尝试 modprobe:
sudo modprobe rfkill
modprobe: FATAL: Module rfkill not found in directory /lib/modules/4.14.98-imx
我更喜欢一点并发现当我执行 modprobe 时找不到模块所以我尝试了一下:
$ sudo depmod
$ sudo modprobe -r rfkill
modprobe: FATAL: Module rfkill not found.
我的猜测是 rfkill 和我的内核版本有问题(我根本没有内核方面的专业知识)。我做了更多研究,但没有找到答案,我将其留在这里,但可能不那么相关:rfkill 无法打开 dev rfkill,权限被拒绝,无法在 Linux 中打开 rfkill,提及内核。蓝牙服务处于兼容模式。我想过添加孟德尔标签,但我没有足够的声誉!
uname -a
Linux silly-quill 4.14.98-imx #1 SMP PREEMPT Tue Nov 2 02:55:21 UTC 2021 aarch64 GNU/Linux