From: Tanu Kaskinen <tanuk@iki.fi>
To: "Tőkés Attila" <attitokes@gmail.com>
Cc: Bluez mailing list <linux-bluetooth@vger.kernel.org>
Subject: Re: Raspberry Pi 3 / BCM43438 + HSP profile + PulseAudio
Date: Sun, 21 Jan 2018 00:06:40 +0200 [thread overview]
Message-ID: <1516486000.11220.9.camel@iki.fi> (raw)
In-Reply-To: <CAMoM21ExUmytoG8LOSmhhL5iubqLx02r3Cn0zmujisk9Et0ZJA@mail.gmail.com>
On Sat, 2018-01-20 at 22:39 +0200, Tőkés Attila wrote:
> Hi Tanu,
>
> On Sat, Jan 20, 2018 at 10:06 PM, Tanu Kaskinen <tanuk@iki.fi> wrote:
> > On Sat, 2018-01-20 at 10:35 +0200, Tőkés Attila wrote:
> > > Hi Everyone,
> > >
> > > I'm trying to use a Bluetooth speaker with Raspberry Pi 3 in HSP mode
> > > with PulseAudio.
> > >
> > > Based on the information I found on the web (blogs / forums / mailing
> > > list archives), apparently, HSP does not really works with the
> > > Rasberry Pi's built in BCM43438 chip. I didn't found the exact reason
> > > yet. Some people suggest it may be a problem with the BCM43438
> > > firmware or with the kernel driver. A2DP, and HSP with USB Bluetooth
> > > dongles are reported to be working fine. (The most complete
> > > description I found about the problem is:
> > > http://youness.net/raspberry-pi/bluetooth-headset-raspberry-pi-3-ad2p-hsp)
> > >
> > > I think it would be useful to get clear picture about the problem. And
> > > maybe we could try to fix it.
> > >
> > > Does anyone managed to figure out what exactly the problem is?
> > >
> > > I started investigating the issue, but didn't got any result yet. I
> > > didn't had too much experience with the Linux's Bluetooth stack, so
> > > some help with the further investigation would be useful.
> > >
> > > ----
> > >
> > > Bellow are some details of my investigation.
> > >
> > > Hardware: Raspberry Pi 3 + JBL GO! Bluetooth speaker
> > >
> > > Kernel: raspberrypi 4.14.14-v7
> > > BlueZ: 5.43
> > > PulseAudio: 11.1
> > >
> > > Summary:
> > > - BCM43438's driver is sucessfuly loaded, it's firmware is uploaded successfully
> > > - the Bluetooth speaker gets detected and the pairing / connection works fine
> > > - PulseAudio detects the speaker as a card
> > > - both the headset_head_unit and a2dp_sink profiles are shown by
> > > `pacmd list-cards` and can be set with `pacmd set-card-profile`
> > > - with the a2dp_sink profile, the audio playback works fine (tested
> > > with `paplay`)
> > > - with the headset_head_unit profile, `paplay` gets stuck at start a
> > > no audio is played (`parecord` does the same)
> > >
> > > I started booth BlueZ and PulseAudio in debug mode, but found nothing
> > > obviuosly wrong (at least for me :P) in the logs. Also did a HCI dump.
> > >
> > > Linking the following logs (uploaded to PasteBin; they are too long
> > > inline them):
> > > - the Blootoothd's log - https://pastebin.com/WC17Ze0r
> > > - the PlulseAudio's log - https://pastebin.com/jUjqjuhC
> > > - the output of the PA commands - https://pastebin.com/wvRzdTEx
> > > - the output of some BL Tools (sdptool / bluetoothctl / hciconfig) -
> > > https://pastebin.com/Ax7XYr94
> > > - the HCI dump -https://pastebin.com/zqhqKu57
> > >
> > > SCO dump did not managed to get.
> > >
> > > I executed the following steps:
> > > (the steps are marked in the log files too):
> > > - start Blootoothd
> > > - start PulseAudio
> > > - powered on the Bloothooth speaker
> > > - tried to play some audio
> > > $ pacmd list cards
> > > $ pacmd set-card-profile 1 headset_head_unit
> > > $ paplay -v -d bluez_sink.78_44_05_4B_4F_FF.headset_head_unit
> > > /tmp/h2g2.ogg (gets stuck)
> > > $ pacmd set-card-profile 1 a2dp_sink
> > > $ paplay -v -d bluez_sink.78_44_05_4B_4F_FF.a2dp_sink /tmp/h2g2.ogg (works)
> >
> > HSP playback getting stuck is a fairly common problem (affecting
> > multiple bluetooth adapters from different vendors). Solutions for the
> > problem are known for a few adapters, but not this one. The issue is
> > documented here (the "HSP problem: the bluetooth sink and source are
> > created, but no audio is being transmitted" section):
> >
> > https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/#index8h3
> >
> > As you can read there, the underlying problem in the known cases is
> > either that firmware is missing or the SCO audio routing is wrong in
> > the adapter. Changing the routing requires (at least in the known
> > cases) a vendor-specific magic command. I don't know how to figure out
> > the correct command. On one Broadcom chip this does the trick: "hcitool
> > cmd 0x3F 0x01C 0x01 0x02 0x00 0x01 0x01", but I don't know how likely
> > that is to work on a different chip.
>
> I just sent that HCI command right now and guess what, it worked :).
> Both paplay an parecord are working fine with the HSP profile now.
Awesome! I'll update the wiki page.
--
Tanu
https://liberapay.com/tanuk
https://www.patreon.com/tanuk
next prev parent reply other threads:[~2018-01-20 22:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-20 8:35 Raspberry Pi 3 / BCM43438 + HSP profile + PulseAudio Tőkés Attila
2018-01-20 10:24 ` Barry Byford
2018-01-20 11:44 ` Tőkés Attila
2018-01-20 20:06 ` Tanu Kaskinen
2018-01-20 20:39 ` Tőkés Attila
2018-01-20 22:06 ` Tanu Kaskinen [this message]
2018-01-21 9:54 ` Tőkés Attila
2018-01-21 12:21 ` Marcel Holtmann
2018-01-21 19:22 ` Attila Tőkés
2018-06-05 19:28 ` Attila Tőkés
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1516486000.11220.9.camel@iki.fi \
--to=tanuk@iki.fi \
--cc=attitokes@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).