You are not logged in.

#1 2016-11-05 12:45:32

ubootfanat
Member
Registered: 2016-02-15
Posts: 3

Bluetooth Audio Device cannot be used as audio device

Hi there,

I bought this very device http://www.philips.at/c-p/AEA2700_12/bluetooth-adapter about a year ago. Seemed like a good idea back then. Stream from the laptop, beamer, phone to the central hifi system.

in a nutshell
- it does not work - mostly
- there is a tiny little chance that it does work (one in 200? as a rought estimate)

detailed error description
most interesting is that the device is successfully paired everytime without any issues. Gnome shell shows a clear "audio device" type. Yet, it only happens sporadically that the sound settings list the device as output device. It happend a few times in the past. Nothing has been changed (concously) at the devices in question to get a working setup - which is quite disturbing as that seems like some parts of the linux system shows undeterministic behaviour.

different systems
The issues started back in the times I used Ubuntu Gnome linux. Now I am on Arch with Gnome shell. At work we do use Ubuntu Linux, me with gnome shell, a fellow coworker of mine with XFCE.
- Ubuntu Linux: did not work back then (except the 1 in 200)
- XFCE: we tried it twice and it worked both times (he was however given an old kernel and we did not have the time to investigate further)
- Arch linux with gnome shell: does not work, neither on my SurfacePro3 nor on an not-so-new Dell Vostro
Maybe the issue is not only on arch...

logs
most notable is that the device is tagged by evdev and libinput as keyboard. I inserted the "fritz" for debug purposes for one of my attempts.

Nov 05 13:17:10 meins bluetoothd[578]: /org/bluez/hci0/dev_0C_A6_94_9A_39_E6/fd4: fd(33) ready
Nov 05 13:17:10 meins kernel: input: 0C:A6:94:9A:39:E6 as /devices/virtual/input/input51
Nov 05 13:17:10 meins systemd-udevd[5965]: NAME="fritz" ignored, kernel device nodes cannot be renamed; please fix it in /usr/lib/udev/rules.d/12-philips-btaudio.rul
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) config/udev: Adding input device 0C:A6:94:9A:39:E6 (/dev/input/event31)
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (**) 0C:A6:94:9A:39:E6: Applying InputClass "evdev keyboard catchall"
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (**) 0C:A6:94:9A:39:E6: Applying InputClass "libinput keyboard catchall"
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) systemd-logind: got fd for /dev/input/event31 13:95 fd 41 paused 0
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) Using input driver 'libinput' for '0C:A6:94:9A:39:E6'
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (**) 0C:A6:94:9A:39:E6: always reports core events
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (**) Option "Device" "/dev/input/event31"
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (**) Option "_source" "server/udev"
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) input device '0C:A6:94:9A:39:E6', /dev/input/event31 is tagged by udev as: Keyboard
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) input device '0C:A6:94:9A:39:E6', /dev/input/event31 is a keyboard
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (**) Option "config_info" "udev:/sys/devices/virtual/input/input51/event31"
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) XINPUT: Adding extended input device "0C:A6:94:9A:39:E6" (type: KEYBOARD, id 18)
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) input device '0C:A6:94:9A:39:E6', /dev/input/event31 is tagged by udev as: Keyboard
Nov 05 13:17:10 meins /usr/lib/gdm/gdm-x-session[893]: (II) input device '0C:A6:94:9A:39:E6', /dev/input/event31 is a keyboard

Aug 21 16:08:42 meins /usr/lib/gdm/gdm-x-session[912]: (II) config/udev: removing device 0C:A6:94:9A:39:E6
Aug 21 16:08:42 meins /usr/lib/gdm/gdm-x-session[912]: (**) Option "fd" "29"
Aug 21 16:08:43 meins /usr/lib/gdm/gdm-x-session[912]: (II) UnloadModule: "libinput"
Aug 21 16:08:43 meins /usr/lib/gdm/gdm-x-session[912]: (II) systemd-logind: releasing fd for 13:92
Aug 21 16:08:43 meins dbus[579]: [system] Rejected send message, 3 matched rules; type="method_return", sender=":1.50" (uid=120 pid=735 comm="/usr/bin/pulseaudio --daemonize=no ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.20" (uid=0 pid=674 comm="/usr/lib/bluetooth/bluetoothd ")

once I caught some syslogs of a when the device worked afterwards. Interestingly, that was all I found:

Aug 30 18:55:38 meins bluetoothd[643]: Unable to connect Headset Voice gateway: connect: Device or resource busy (16)
Aug 30 18:55:38 meins bluetoothd[643]: Connecting Headset Voice gateway failed: Input/output error

udevadmin shows me this: An it is quite unsatisfying.

me@meins ~ % udevadm info -a -n /dev/input/event31

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/virtual/input/input51/event31':
    KERNEL=="event31"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/virtual/input/input51':
    KERNELS=="input51"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="0C:A6:94:9A:39:E6"
    ATTRS{phys}==""
    ATTRS{properties}=="0"
    ATTRS{uniq}==""

Bluetoothctl gives me the following info. Groovy is the headset that worked.

me@meins ~ % bluetoothctl
[NEW] Device 0C:A6:94:9A:39:E6 Philips AEA2700
[NEW] Device 7A:11:27:00:75:03 GROOVY

[Philips AEA2700]# paired-devices 
Device 0C:A6:94:9A:39:E6 Philips AEA2700
Device 7A:11:27:00:75:03 GROOVY

[Philips AEA2700]# info 0C:A6:94:9A:39:E6
Device 0C:A6:94:9A:39:E6
	Name: Philips AEA2700
	Alias: Philips AEA2700
	Class: 0x240414
	Icon: audio-card
	Paired: yes
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: no
	UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)

[Philips AEA2700]# info 7A:11:27:00:75:03
Device 7A:11:27:00:75:03
	Name: GROOVY
	Alias: GROOVY
	Class: 0x200404
	Icon: audio-card
	Paired: yes
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: yes
	UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
	UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)

further reference
As said before, I had this issue already back in the days of ubuntu. Here is the discussion: https://ubuntuforums.org/showthread.php?t=2304439 for further reference.

my attempts
- spot differences to working bluetooth audio devices (i had an ancient bluetooth headset which works just nice)
- I believe that the issue lies before pulseaudio. pulseaudio does not get hold of the device.
- I believe that the issue lies after the bluetooth system since the device is correctly paired.
- I tried to tag the device with udev rules in order to get it as a subdevice of the bluetooth system (as the working bt headset was) but had no success.

I do not know where to look further.

call for help
- if the system thinks that the device is a keyboard, why does gnome shell/pulseaudio know that it is in fact an audio device
- where does the system decide which driver to use for the device at hand
- how can I influence this decision

all while keeping in mind that sometimes it works flawlessly!

Thanks!
Florian

Last edited by ubootfanat (2016-11-05 12:55:58)

Offline

#2 2016-12-05 07:35:18

2bluesc
Member
Registered: 2014-02-18
Posts: 10
Website

Re: Bluetooth Audio Device cannot be used as audio device

Did you see this note: https://wiki.archlinux.org/index.php/Bl … e_with_GDM

If you're using GDM it may be messing with pulse audio.

Offline

Board footer

Powered by FluxBB