事实上,我在 Ubuntu 13.10 上使用蓝牙时效果很好。但是,我最近尝试使用 QtSixA,这是一种允许通过蓝牙将 Playstation 3 遥控器与 Ubuntu 同步的工具。不幸的是,虽然其服务 (sixad) 已启用,但其他蓝牙功能已禁用。
我已经将其从系统中移除,但无法恢复蓝牙功能。值得注意的是,在 dmesg 中,我看到以下输出:
[ 1.492281] init: Failed to spawn bluetooth main process: unable to execute: Permission denied
蓝牙芯片组是Broadcom BCM20702A0;以下是输出dmesg | grep Bluetooth
:
[ 1.175333] Bluetooth: Core ver 2.16
[ 1.175342] Bluetooth: HCI device and connection manager initialized
[ 1.175347] Bluetooth: HCI socket layer initialized
[ 1.175348] Bluetooth: L2CAP socket layer initialized
[ 1.175351] Bluetooth: SCO socket layer initialized
[ 1.504078] Bluetooth: RFCOMM TTY layer initialized
[ 1.504085] Bluetooth: RFCOMM socket layer initialized
[ 1.504086] Bluetooth: RFCOMM ver 1.11
虽然坦白地说,这条permission denied
消息让我认为它与司机无关。你认为呢?
答案1
我对 sixad 软件包和说明也遇到了同样的问题Sixaxis 的 Ubuntu wiki
$ sudo chmod +x /usr/sbin/bluetoothd
$ sudo service bluetooth restart
帮我修复了这个问题。我将查看 sixad 包,看看能否找到权限被破坏的地方。
编辑
我认为当您尝试时会发生这种情况sixad --boot-yes
。这将禁用较新的 v4 bluez 蓝牙堆栈,转而使用基于 bluez v3 的 sixad 驱动程序。您只能使用其中一个,直到 bluez v4 支持 sixaxis。
我还需要手动sudo hciconfig hci0 up
将 sixad 设置为在启动时启动,因为出于某种原因,sudo hciconfig -a
我的蓝牙设备显示为关闭。需要进一步调查。