Bluetooth and sound system connection not working
I have another issue that appears to be in the realm of the sound system, this time on my laptop. I am running OpenSuSE 15.6 with the KDE/Plasma desktop. I recently acquired a set of Bluetooth hearing aids and thought, wouldn't it be nice to be able to connect them to my laptop, so that I could listen to AudioBooks or music, without disturbing my wife while working on the laptop. After a bit of head scratching, cursing, etc I got the Bluetooth connection between my hearing aids and the laptop working. (At least according the the Bluetooth widget in the kicker bar) Trouble is, there is no device for my hearing aids showing up in the list of devices my sound system knows about. I installed pavucontrol to see if it saw anything related to a Bluetooth connection to my hearing aids in it's list of output devices, but no it doesn't, only shows my laptop's "Raptor Lake-P/U/H cAVS Pro" sound devices. So no joy getting sound directed to my hearing aids. From my internet searches I found a few suggestions saying don't use the Pulseaudio drivers with Bluetooth devices, but instead use the Pipewire drivers, so I have switched my laptop over to using Pipewire but still no joy. I checked the kernel messages for errors but nothing significant showed up there -
#dmesg | grep Bluetooth [ 6.616455] Bluetooth: Core ver 2.22 [ 6.616478] Bluetooth: HCI device and connection manager initialized [ 6.616482] Bluetooth: HCI socket layer initialized [ 6.616484] Bluetooth: L2CAP socket layer initialized [ 6.616485] Bluetooth: SCO socket layer initialized [ 6.746371] Bluetooth: hci0: Device revision is 0 [ 6.746383] Bluetooth: hci0: Secure boot is enabled [ 6.746388] Bluetooth: hci0: OTP lock is enabled [ 6.746392] Bluetooth: hci0: API lock is enabled [ 6.746396] Bluetooth: hci0: Debug lock is disabled [ 6.746404] Bluetooth: hci0: Minimum firmware build 1 week 10 2014 [ 6.746405] Bluetooth: hci0: Bootloader timestamp 2019.40 buildtype 1 build 38 [ 6.747644] Bluetooth: hci0: DSM reset method type: 0x00 [ 6.785281] Bluetooth: hci0: Found device firmware: intel/ibt-0040-0041.sfi [ 6.785291] Bluetooth: hci0: Boot Address: 0x100800 [ 6.785292] Bluetooth: hci0: Firmware Version: 91-33.24 [ 8.264829] Bluetooth: hci0: Waiting for firmware download to complete [ 8.265480] Bluetooth: hci0: Firmware loaded in 1445503 usecs [ 8.265546] Bluetooth: hci0: Waiting for device to boot [ 8.282317] Bluetooth: hci0: Device booted in 16413 usecs [ 8.282318] Bluetooth: hci0: Malformed MSFT vendor event: 0x02 [ 8.286451] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0040-0041.ddc [ 8.288321] Bluetooth: hci0: Applying Intel DDC parameters completed [ 8.291344] Bluetooth: hci0: Firmware timestamp 2024.33 buildtype 1 build 81755 [ 94.927759] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 94.927762] Bluetooth: BNEP filters: protocol multicast [ 94.927765] Bluetooth: BNEP socket layer initialized [ 94.928631] Bluetooth: MGMT ver 1.22 [ 125.869741] Bluetooth: RFCOMM TTY layer initialized [ 125.869749] Bluetooth: RFCOMM socket layer initialized [ 125.869753] Bluetooth: RFCOMM ver 1.11 My internet research says that the one anomaly showing up - Malformed MSFT vendor event: 0x02 is nothing to worry about. It is caused by a driver not clearing a normal event signal and wrongfully putting it on a stack where higher layers in the sound subsystem don't know what to do with it. There is a patch and write-ups about it at
https://github.com/bluez/bluez/issues/877 https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git... I have installed the following packages, as suggested by my internet research - bluez bluez-auto-enable-devices (and all dependent packages) pipewire pipewire-pulseaudio (and all dependent packages) I read the wiki at https://en.opensuse.org/Bluetooth but found it unhelpful. I suspect it's rather out of date. (seems to talk about stuff that does not apply or exist on my system) Does anyone have any ideas on why my Bluetooth hearing aids are not showing up as sound output capable devices? Got me stumped and as always my gratitude and thanks for helping me solve this little problem... Marc..
Hello, In the Message; Subject : Bluetooth and sound system connection not working Message-ID : <516d89e1-40c0-400c-a584-6e056af3ed0d@marcchamberlin.com> Date & Time: Sat, 14 Dec 2024 15:57:16 -0800 [MC] == Marc Chamberlin via openSUSE Users <users@lists.opensuse.org> has written: MC> I have another issue that appears to be in the realm of the sound MC> system, this time on my laptop. I am running OpenSuSE 15.6 with MC> the KDE/Plasma desktop. [...] MC> the the Bluetooth widget in the kicker bar) Trouble is, there is MC> no device for my hearing aids showing up in the list of devices my MC> sound system knows about. I installed pavucontrol to see if it saw MC> anything related to a Bluetooth connection to my hearing aids in it's MC> list of output devices, but no it doesn't, only shows my laptop's MC> "Raptor Lake-P/U/H cAVS Pro" sound devices. So no joy getting sound MC> directed to my hearing aids. [...] 1. When using with Pulseaudio install pulseaudio-module-bluetooth 2. When using with Pipewire Add these 3 lines to your ~/bash_profile export PIPEWIRE_MODULE_DIR=/usr/lib/pipewire-0.3:/usr/lib64/pipewire-0.3 export SPA_SUPPORT_LIB=/usr/lib/spa-0.2/support:/usr/lib64/spa-0.2/support export SPA_PLUGIN_DIR=/usr/lib/spa-0.2:/usr/lib64/spa-0.2 then, execute; $ source ~/.bash_profile Best Regards. --- ┏━━┓彡 Masaru Nomiya mail-to: nomiya @ lake.dti.ne.jp ┃\/彡 ┗━━┛ " The production of A.I. seems to carry a powerful side effect: as the machines generate intelligence, they also generate mystery. Human misunderstanding endures, possibly a permanent condition. " -- "Was Linguistic A.I. Created by Accident?" THE NEW YORKER --
Hello,
In the Message;
Subject : Bluetooth and sound system connection not working Message-ID : <516d89e1-40c0-400c-a584-6e056af3ed0d@marcchamberlin.com> Date & Time: Sat, 14 Dec 2024 15:57:16 -0800
[MC] == Marc Chamberlin via openSUSE Users <users@lists.opensuse.org> has written:
MC> I have another issue that appears to be in the realm of the sound MC> system, this time on my laptop. I am running OpenSuSE 15.6 with MC> the KDE/Plasma desktop. [...] MC> the the Bluetooth widget in the kicker bar) Trouble is, there is MC> no device for my hearing aids showing up in the list of devices my MC> sound system knows about. I installed pavucontrol to see if it saw MC> anything related to a Bluetooth connection to my hearing aids in it's MC> list of output devices, but no it doesn't, only shows my laptop's MC> "Raptor Lake-P/U/H cAVS Pro" sound devices. So no joy getting sound MC> directed to my hearing aids. [...]
1. When using with Pulseaudio
install pulseaudio-module-bluetooth I uninstalled Pipewire and then installed Pulseaudio. This was my original configuration when I reported that I could connect my hearing aids with my laptop via Bluetooth, however no Bluetooth device (ie. hearing aids) is showing up in any list of sound devices. So there is a disconnect between Bluetooth devices and Sound system devices. BTW the
On 12/14/24 16:38, Masaru Nomiya wrote: package pulseaudio-module-bluetooth is automatically installed when Pulseaudio is installed.
2. When using with Pipewire
Add these 3 lines to your ~/bash_profile
export PIPEWIRE_MODULE_DIR=/usr/lib/pipewire-0.3:/usr/lib64/pipewire-0.3 export SPA_SUPPORT_LIB=/usr/lib/spa-0.2/support:/usr/lib64/spa-0.2/support export SPA_PLUGIN_DIR=/usr/lib/spa-0.2:/usr/lib64/spa-0.2
then, execute;
$ source ~/.bash_profile
This is easier said than done! First off, OpenSuSE does not install a .bash_profile in the user's home directory when it is created. Instead it installs a ~/.profile and a ~/.bashrc file. I did some internet searching trying to figure out what's the difference. Apparently there are 4 variables that Linux uses to determine which .bash* file to use when starting up a bash shell. These are whether the shell being started is a Login or a non-Login shell and whether the shell is interactive of not. Not all combinations of these 4 variables are fully explained anywhere I could find, and OpenSuSE's lack of using the .bash_profile file makes it even more difficult for me to grok and understand where to place the three export statements you suggest when using Pipewire on an OpenSuSE system. To make matters more confusing, apparently (and please correct me if I am wrong) on Linux systems that install a ~/.bash_profile file, whenever a login/interactive bash shell is started, this ~/.bash_profile file also sources the ~/.bashrc file. So I concluded that it would be OK to place your three export statements in my .bashrc file. But no joy, see below... (My understanding also seems to be that non-Login/non-interactive and non-Login/interactive shells use the .bashrc file when they are started) That leaves a login/non-interactive shell as unexplained I did fool around a bit and tried placing these export statements in the .bashrc file and in the .profile file (which apparently always gets executed during startup of all types of shells), rebooting, and discovering that it only made matters worse. The sound system then would always report there was no device connected for sound output. So no sound whatsoever! I find myself further confused because I do not know how to discover whether an application or a process was started via a login or not-login shell, or whether the shell was interactive or not. It seems to me that this would affect where to define things like environment variables. Marc...
participants (2)
-
Marc Chamberlin
-
Masaru Nomiya