Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bluetooth headphones mistaken for a keyboard!?!

1,135 views
Skip to first unread message

Mark Fletcher

unread,
Mar 3, 2016, 6:20:05 PM3/3/16
to
I took delivery of a very nice pair of Bang & Olufsen BeoPlay H8
bluetooth headphones yesterday. I've verified they work properly by
connecting them to my iPhone.

When I try to connect them to my PC, I am not having so much luck. PC is
a 7-year-old self-built desktop box running Jessie with Gnome as the DE,
with Intel Core i7-920 CPU and 24GB RAM. Bluetooth capability comes from
a rather younger (bought about 6 months ago) bluetooth USB dongle which
I routinely use to connect my iPhone and Android tablets to the computer
to play audio from them through the computer's speakers. So I know it
works fine too.

Turning on bluetooth from the gnome applet, and putting the headphones
into pairing mode, the computer quickly finds the headphones. When I ask
the computer to connect it quickly does so, apparently successfully, and
I hear the tones in the headphones indicating they too know they are
connected. But, pulseaudio doesn't recognise a new audio sink has been
installed -- and I don't blame it, because of the below.

Looking in the Gnome Log Viewer in messages, at the moment of connecting
the headphones, I see this:

Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (II) config/udev: Adding input
device 00:09:A7:09:BE:22 (/dev/input/event17)
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) 00:09:A7:09:BE:22:
Applying InputClass "evdev keyboard catchall"
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (II) Using input driver
'evdev' for '00:09:A7:09:BE:22'
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) 00:09:A7:09:BE:22: always
reports core events
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) evdev: 00:09:A7:09:BE:22:
Device: "/dev/input/event17"
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (--) evdev: 00:09:A7:09:BE:22:
Vendor 0 Product 0
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (--) evdev: 00:09:A7:09:BE:22:
Found keys
Mar 4 08:07:17 kazuki kernel: [382097.651490] input: 00:09:A7:09:BE:22
as /devices/virtual/input/input30
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (II) evdev: 00:09:A7:09:BE:22:
Configuring as keyboard
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) Option "config_info"
"udev:/sys/devices/virtual/input/input30/event17"
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (II) XINPUT: Adding extended
input device "00:09:A7:09:BE:22" (type: KEYBOARD, id 13)
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) Option "xkb_rules"
"evdev"
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) Option "xkb_model"
"pc105"
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) Option "xkb_layout"
"jp,us"
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) Option "xkb_variant" ","
Mar 4 08:07:17 kazuki gdm-Xorg-:0[1040]: (**) Option "xkb_options"
"grp:alt_shift_toggle,grp_led:scroll"


That doesn't look healthy. First of all it is detecting an INPUT device,
presumably the headphone controls for volume and so on, and no OUTPUT
device. Second, it seems to think that what it has found is a keyboard.
Pulseaudio can, it seems to me, be excused for thinking a keyboard has
been added and not being accustomed to playing sound through a
keyboard... :-)

I'm thinking this could be a udev problem of some kind -- perhaps I am
missing appropriate udev rules? I am not sure how to diagnose the
problem from here, far less fix it, so any advice would be appreciated.
Google has, unusually, turned up zilch.

Thanks in advance

Mark

deloptes

unread,
Mar 3, 2016, 7:30:12 PM3/3/16
to
Which version of debian are you on and which kernel?

You may need to tell udev what kind of device it is, but we don't know if
your system is configured properly

check following articles - the second one is more practical, where you can
test pulse against the headset - I couldn't find any information on that
head set and linux except that head set is pretty expensive

https://lwn.net/Articles/531133/
http://jfcarter.net/~jimc/documents/blue-music-1504.html

I hope this helps

regards

Mark Fletcher

unread,
Mar 4, 2016, 2:10:04 AM3/4/16
to
deloptes <deloptes <at> gmail.com> writes:

>
> Mark Fletcher wrote:
>

> > PC is
> > a 7-year-old self-built desktop box running Jessie with Gnome as the DE,
>
> Which version of debian are you on and which kernel?
>

Thanks for your time and attention. As I mentioned in my original post, I
am running Jessie. The kernel is the stock x86_64 kernel currently in
Jessie. I'm sorry but I'm not in front of the computer right now and am not
sure exactly what version. I last updated last Sunday.

> You may need to tell udev what kind of device it is, but we don't know if
> your system is configured properly
>

I'm fairly confident in my system configuration since I have been able to
get my system to work as s Pulse SINK for an iPhone and Android SOURCE,
which is reputed to be harder than what I am trying to do here. But I take
your point, no proof there isn't some misconfiguration lurking somewhere.
And I suppose it's possible that I jiggered something up, if you'll pardon
the technical term, when I was getting the iPhone / Android thing working.
I'm not sure HOW to educate udev on a device it doesn't just know -- and
the few google queries on that I have tried so far have left me cross-
eyed...

> I couldn't find any information on that
> head set and linux except that head set is pretty expensive
>

Yes it's a very nice pair of headphones -- the sound quality is amazing,
and the noise cancellation isn't bad either. And comfortable for spectacle
wearers which not all makers can claim.

> https://lwn.net/Articles/531133/
> http://jfcarter.net/~jimc/documents/blue-music-1504.html
>

Thanks for these -- I have only been able to review the second of these as
the first is being blocked by my company firewall for some reason. I'll
look at it when I get home tonight. Unfortunately, the second, like
everything I've read on the internet about this problem in the last 24
hours or so, skips over the problem I'm having -- from pairing (no problem)
to connecting (no ERRORS, _probably_ no problem) to configuring / setting
up Pulse (which I don't get to because my system thinks a keyboard just
connected to it, not a pair of headphones).

Mark

deloptes

unread,
Mar 4, 2016, 5:10:05 AM3/4/16
to
>From my experience with bluetooth worst case would be that something is not
supported, but it is rear as BT is mostly standardized in terms of
communication.

So what I would do is to check the profiles reported via the hcitool
It would be most probably A2DP.
Next is to find out how to configure udev to map the profile to an output.
Jessie stock is 3.16 - it could be worth trying something newer - live
ubuntu pre release or so. Not only because of the kernel, but because udev
could be smarter.
I had to install blueman in order to easily configure bluetooth devices in
gnome on jessie recently. And I read that A2DP is located now in
gstreamer ... pulse something package (bluez5).

I think you misinterpret the messages - it is normal that you get keyboard
as input, because there are buttons you press to control the device.
The problem is you are missing the audio link. So there is a missing part -
not wrongly configured one. I would say this part is correctly configured,
but the audio link is not configured at all.

However it could be also that the expensive brand "Bang & Olufsen" provided
you with a CD with windows drivers for something not supported in linux -
this would be your worst case.

I hope this helps

Sven Arvidsson

unread,
Mar 4, 2016, 10:40:04 AM3/4/16
to
Wouldn't headphones be pretty much like setting up a Bluetooth
speaker? 

The only thing I did to get it working was making sure that pulseaudio-
module-bluetooth was installed, everything else went without a hitch.

--
Cheers,
Sven Arvidsson
http://www.whiz.se
PGP Key ID 6FAB5CD5

signature.asc

Mark Fletcher

unread,
Mar 4, 2016, 10:40:04 AM3/4/16
to
On Fri, 2016-03-04 at 11:08 +0100, deloptes wrote:

> So what I would do is to check the profiles reported via the hcitool
> It would be most probably A2DP.

When I run hcitool info on the headphones I get:

$ hcitool info XX:XX:XX:XX:XX:XX
Requesting information ...
BD Address: XX:XX:XX:XX:XX:XX
OUI Company: Bang & Olufsen A/S (00-09-A7)
Device Name: BeoPlay H8
LMP Version: 4.1 (0x7) LMP Subversion: 0x2812
Manufacturer: Cambridge Silicon Radio (10)
Features page 0: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <hold mode> <sniff mode>
<park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
<power control> <transparent SCO> <broadcast encrypt>
<EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan>
<interlaced iscan> <interlaced pscan> <inquiry with RSSI>
<extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave>
<AFH class. slave> <LE support> <3-slot EDR ACL>
<5-slot EDR ACL> <sniff subrating> <pause encryption>
<AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps>
<EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry>
<LE and BR/EDR> <simple pairing> <encapsulated PDU>
<non-flush flag> <LSTO> <inquiry TX power> <EPC>
<extended features>
Features page 1: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00

(Address elided just in case I should care about that)

"sdptool records" gives me the following profiles supported (scraped
from the output, can post it all if it helps):

"Handsfree" (0x111e)
Version: 0x0106
"Headset" (0x1108)
Version: 0x0102
"Advanced Audio" (0x110d)
Version: 0x0103
"AV Remote" (0x110e)
Version: 0x0105

I suspect that "Advanced Audio" is the one I want...

> Next is to find out how to configure udev to map the profile to an output.

Uh... yeah. Unfortunately I am not sure what that means. Does that mean
create new udev rules? Know of any good resources I can use to learn how
to do that? I imagine I am gonna need that 0x110d code though, right?

> Jessie stock is 3.16 - it could be worth trying something newer - live
> ubuntu pre release or so. Not only because of the kernel, but because udev
> could be smarter.

The headphones are about a year old -- I mean this product has been on
the market for about a year, this particular pair is brand new -- does
that make any difference? I am willing to try a newer kernel if you
think it will really make a difference.

> I had to install blueman in order to easily configure bluetooth devices in
> gnome on jessie recently. And I read that A2DP is located now in
> gstreamer ... pulse something package (bluez5).
>

Now that's interesting -- you are not the first person to recommend
Blueman since I started looking into this but I installed Blueman the
other day and don't see it telling me anything remotely useful that the
gnome bluetooth applet doesn't, except for signal strengths etc which
seem to be strong / optimal but aren't actually helping. Am I being
stupid?

I don't see A2DP in the list of profiles -- unless that is "Advanced
Audio"?

And gstreamer is installed. I see a lot of packages for gstreamer and
they aren't all installed, but the ones that look important to me are.
Specifically gstreamer-1.0-pulse is installed.

> I think you misinterpret the messages - it is normal that you get keyboard
> as input, because there are buttons you press to control the device.
> The problem is you are missing the audio link. So there is a missing part -
> not wrongly configured one. I would say this part is correctly configured,
> but the audio link is not configured at all.
>

Ah, I see, that makes sense I guess.

> However it could be also that the expensive brand "Bang & Olufsen" provided
> you with a CD with windows drivers for something not supported in linux -
> this would be your worst case.
>

It came with a small USB cable for charging, a regular audio cable for
situations where Bluetooth is not allowed, a manual in about 10
languages, and that's it. No Windows drivers. It's a pair of headphones
primarily designed for use generically with bluetooth enabled devices,
not primarily designed for use with a computer specifically. And I've
been using them connected to my iPhone while writing this, and I have to
say they are sweeeeet. So I am glad I bought 'em even if it takes me a
few days to get them working with my PC.

(Obviously I was not expecting them to work with my PC while they were
being used by my iPhone, I am not _that_ stupid :-) )

> I hope this helps
>

Thanks for your ongoing help, I appreciate you taking the time.

Mark

deloptes

unread,
Mar 4, 2016, 3:30:05 PM3/4/16
to
I can not check at the moment. I have not tried to configure headset. I did
a lot with mobile phones and recall there was a2dp. I'll try to check later
on that.

>
> (Address elided just in case I should care about that)
>
> "sdptool records" gives me the following profiles supported (scraped
> from the output, can post it all if it helps):
>
> "Handsfree" (0x111e)
> Version: 0x0106
> "Headset" (0x1108)
> Version: 0x0102
> "Advanced Audio" (0x110d)
> Version: 0x0103
> "AV Remote" (0x110e)
> Version: 0x0105
>
> I suspect that "Advanced Audio" is the one I want...

Yes it looks like
https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#Advanced_Audio_Distribution_Profile_.28A2DP.29

>
>> Next is to find out how to configure udev to map the profile to an
>> output.
>
> Uh... yeah. Unfortunately I am not sure what that means. Does that mean
> create new udev rules? Know of any good resources I can use to learn how
> to do that? I imagine I am gonna need that 0x110d code though, right?

https://wiki.archlinux.org/index.php/Bluetooth_headset

yes, perhaps check this article here (section: Legacy documentation: ALSA,
bluez5 and PulseAudio method) - seems a big discussion and article had some
critics, but there are few ideas on how to setup udev rules
example
$ bluetoothctl
produces output with UUID

>
>> Jessie stock is 3.16 - it could be worth trying something newer - live
>> ubuntu pre release or so. Not only because of the kernel, but because
>> udev could be smarter.
>
> The headphones are about a year old -- I mean this product has been on
> the market for about a year, this particular pair is brand new -- does
> that make any difference? I am willing to try a newer kernel if you
> think it will really make a difference.

No difference - question is the level of support by the OS. I must admit
that before bluez5 all this BT related stuff was a nightmare.
The good thing is that BT devices are more or less standard, so the question
is how good is linux for the B&O product.

>
>> I had to install blueman in order to easily configure bluetooth devices
>> in gnome on jessie recently. And I read that A2DP is located now in
>> gstreamer ... pulse something package (bluez5).
>>
>
> Now that's interesting -- you are not the first person to recommend
> Blueman since I started looking into this but I installed Blueman the
> other day and don't see it telling me anything remotely useful that the
> gnome bluetooth applet doesn't, except for signal strengths etc which
> seem to be strong / optimal but aren't actually helping. Am I being
> stupid?
>
> I don't see A2DP in the list of profiles -- unless that is "Advanced
> Audio"?

I think blueman helped me somehow get the proper profile loaded for the
phones I tested with

>
> And gstreamer is installed. I see a lot of packages for gstreamer and
> they aren't all installed, but the ones that look important to me are.
> Specifically gstreamer-1.0-pulse is installed.

what about pulse-bluetooth ?

>
>> I think you misinterpret the messages - it is normal that you get
>> keyboard as input, because there are buttons you press to control the
>> device. The problem is you are missing the audio link. So there is a
>> missing part - not wrongly configured one. I would say this part is
>> correctly configured, but the audio link is not configured at all.
>>
>
> Ah, I see, that makes sense I guess.
>
>> However it could be also that the expensive brand "Bang & Olufsen"
>> provided you with a CD with windows drivers for something not supported
>> in linux - this would be your worst case.
>>
>
> It came with a small USB cable for charging, a regular audio cable for
> situations where Bluetooth is not allowed, a manual in about 10
> languages, and that's it. No Windows drivers. It's a pair of headphones
> primarily designed for use generically with bluetooth enabled devices,
> not primarily designed for use with a computer specifically. And I've
> been using them connected to my iPhone while writing this, and I have to
> say they are sweeeeet. So I am glad I bought 'em even if it takes me a
> few days to get them working with my PC.

Thats good - you could use a windows pc to see how the headset is recognized
and configured. You know windows provides a driver database online - who
knows if they do not relay on that db.

>
> (Obviously I was not expecting them to work with my PC while they were
> being used by my iPhone, I am not _that_ stupid :-) )
>

yes sure

>>
>
> Thanks for your ongoing help, I appreciate you taking the time.
>

nothing special I just spent half a day few months ago setting up mobile(s)
for sync project ... and it was an interesting journey from BT perspective.
I thought I could help a bit - of course the best would be to have someone
who has done this with same or similar product.
This article was enlightening:
http://www.lightofdawn.org/blog/?viewDetailed=00031

I think you could fix this with proper udev setup though, but still it
depends and I can not make promises - it could be you need some extra
software

regards

Mark Fletcher

unread,
Mar 4, 2016, 9:50:04 PM3/4/16
to


On Sat, Mar 5, 2016, 5:26 AM deloptes <delo...@gmail.com> wrote:

I think you could fix this with proper udev setup though, but still it
depends and I can not make promises - it could be you need some extra
software

 


The issue was that I had two instances of PulseAudio running. The first was running as Debian-gdm and the second as my local user. Following the instructions on the above link, I went to Debian-gdm's home directory and created a pulse directory in .config. In there I created client.conf and populated it according to the above link. Reboot the PC, reconnect the headphones, and VOILA. Working perfectly. (Reboot probably wasn't strictly necessary, a restart of GDM would probably have sufficed)

Now I don't know why there were two instances of Pulse Audio running, but I'm loath to believe that it is purely past stupidity on my part, since someone else had the same problem as evidenced by the above link. So there's presumably some legitimate reason why this situation would apply, and I don't know what I will have broken by making this change, but so far nothing I can detect. Anyone with opinions on why stock Jessie would be set up this way out of the box, please comment.

I want to particularly thank deloptes for your time and help, you got me searching along the right lines to find the problem.

Mark
0 new messages