LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Bluetooth Speaker Experience (https://www.linuxquestions.org/questions/slackware-14/bluetooth-speaker-experience-4175609925/)

budman85 07-15-2017 02:19 PM

Bluetooth Speaker Experience
 
I spent the last week or so trying to get this to work. Finally had a break-thru the other day and finally got it to work last night. It seems to be a few issues with the bluetooth.conf file missing some settings.

Devices:
Bluetooth Dongle IOGear GBU521W6
TV Sound Bar

There were 3 issues I encountered, this may help others:

1) driver error:
bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
Solved by downloading driver fw-0a5c_21e8.hcd then renaming it to the missing file into /lib/firmware/brcm
url to explain it http://plugable.com/2014/06/23/pluga...ssues-on-linux

2) When I tried to run the blueman-applet and manager, the script would blow out with AccessDenied. However, I could run them as root.

Fix: add myself to wheel group, and change the bluetooth.conf owner from user='root' to group='wheel'. Now DBUS works and the applet and manager now load for user when X starts.

3) Although it was loading, the speakers would still not connect. When you'd try, you would get a connect yes/no/yes/no response. Running a dump showed some type of Auth issue, although auth was disabled due a prior error message "Invalid exchange".

Fix: found missing auth options in the bluetooth.conf
For policy group=wheel (former user=root) section, these are needed:
<allow send_interface="org.bluez.PasskeyAgent"/>
<allow receive_interface="org.bluez.PasskeyAgent"/>

For the at_console section, there were several added that made it work. The main one seems to be the method_call.
<allow send_type="method_call"/>
<allow send_destination="org.bluez.Manager"/>
<allow receive_sender="org.bluez.Manager"/>
<allow send_path="/org/bluez"/>
<allow send_destination="org.bluez.Adapter"/>
<allow receive_sender="org.bluez.Adapter"/>
<allow send_destination="org.bluez.Service"/>
<allow receive_sender="org.bluez.Service"/>
<allow send_destination="org.bluez.Database"/>
<allow receive_sender="org.bluez.Database"/>
<allow send_destination="org.bluez.Security"/>
<allow receive_sender="org.bluez.Security"/>
<allow send_destination="org.bluez"/>
<allow receive_sender="org.bluez"/>

After doing that, I rebooted. Then I removed the discovered devices, and then I started bluetoolctl, issued scan on, then pressed the bluetooth button on the sound bar. I heard the tone and saw the device appear, but this time I was asked "Do you authorize connecting? yes/no", I entered yes and the sound bar was now connected.

Now I can toggle the Sound Bar on and play music from the laptop to the TV. It works nice. :)

Although the above now works flawlessly, does any one see any issue with the config changes.

Hopefully this will help others.

Regards

Laserbeak 07-15-2017 02:36 PM

My problem with Bluetooth devices is with iPhones etc. on the street -- the quality tends to be quite bad. I live in New York so there's literally millions of people walking and driving around with such devices and I think they interfere with each other and that causes the problem.

alex14641 07-15-2017 06:23 PM

Quote:

Originally Posted by budman85 (Post 5735317)
2) When I tried to run the blueman-applet and manager, the script would blow out with AccessDenied. However, I could run them as root.

Fix: add myself to wheel group, and change the bluetooth.conf owner from user='root' to group='wheel'.

I fixed this issue by simply adding myself to the messagebus group, logging out, and logging back in.

dugan 07-15-2017 07:15 PM

FWIW, my Bluetooth headphones worked out of the box.


All times are GMT -5. The time now is 01:11 AM.