Failed to spawn bluetooth main process: unable to execute: permission denied

I had bluetooth working on Ubuntu 13.10, quite well in fact. However, I recently did some experimenting with QtSixA, a tool which allows syncing of Playstation 3 remotes with Ubuntu over Bluetooth. Unfortunately, while its service (sixad) is enabled, other bluetooth functions are disabled.

I've gotten that out of my system, but am unable to restore bluetooth functionality. Notably, in dmesg, I see the following output:

[    1.492281] init: Failed to spawn bluetooth main process: unable to execute: Permission denied

The bluetooth chipset is a Broadcom BCM20702A0; here's the output of 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

Although frankly, the permission denied message makes me think it has nothing to do with drivers. Thoughts?


Solution 1:

I had the same problem with the sixad package and instructions at the Ubuntu wiki for Sixaxis

$ sudo chmod +x /usr/sbin/bluetoothd

$ sudo service bluetooth restart

Fixed it for me. I'll take a look at the sixad package to see if I can find where the permissions were mangled.

EDIT

I think this happens when you try sixad --boot-yes. This will disable the newer v4 bluez Bluetooth stack in favor of the sixad driver based on bluez v3. You can only use one or the other, until sixaxis is supported by bluez v4.

I also needed to manually sudo hciconfig hci0 up after setting sixad to start at boot, as for some reason sudo hciconfig -a showed my bluetooth device as down. Need to investigate more.