[pulseaudio-discuss] Bluetooth Headset Problem with BlueZ-5.38 and Pulseaudio 8.0

Hieu Le hieu.le at veriksystems.com
Tue Aug 23 12:58:14 UTC 2016


Dear all,

One strange thing I noticed when debugging this issue is even "pactl list
sinks|sources short" show Bluetooth's headset sinks|sources properly.
However, "arecord -L" shows only my internal microphone (missing
Bluetooth's headset).

Am I missing something? Or the setup between Pulseaudio and ALSA is not up
correctly.

Regards,
Hieu Le.

On Mon, Aug 22, 2016 at 4:08 PM, Hieu Le <hieu.le at veriksystems.com> wrote:

> Hello,
> Sorry to bring this up again. However, I cannot use pulseaudio 8.0 +
> bluez5.38 to record audio from my Bluetooth's microphone.
>
> - I followed the patch from link below to apply it on top of my embedded's
> board which is running 3.14 Linux kernel:
> https://lists.freedesktop.org/archives/pulseaudio-discuss/
> 2015-March/023305.html
>
> I can successfully switch to headset_head_unit (HSP) profile. Below is the
> output of sinks|sources and how I choose Bluetooth's microphone as the
> default audio source:
>
> # *pactl list sources short*
> *0       alsa_output.0.analog-stereo.monitor     module-alsa-sink.c
>  s16le 2ch 44100Hz       IDLE*
> *1       alsa_input.0.analog-stereo      module-alsa-source.c    s16le 2ch
> 44100Hz       IDLE*
> *2       bluez_sink.00_1F_81_34_08_22.monitor    module-bluez5-device.c
>  s16le 1ch 8000Hz        IDLE*
> *3       bluez_source.00_1F_81_34_08_22  module-bluez5-device.c  s16le 1ch
> 8000Hz        IDLE*
>
> # *pactl list sinks short*
> *0       alsa_output.0.analog-stereo     module-alsa-sink.c      s16le 2ch
> 44100Hz       IDLE*
> *1       bluez_sink.00_1F_81_34_08_22    module-bluez5-device.c  s16le 1ch
> 8000Hz        IDLE*
>
>
> *# pacmd set-default-source 3*
>
> Using parecord to capture audio from Bluetooth's microphone:
> # *parecord -v -r --channels=1 --file-format=wav
> --device=bluez_source.00_1F_81_34_08_22 mm.wav*
>
> *Opening a recording stream with sample specification 's16le 1ch 44100Hz'
> and channel map 'mono'.*
> *Connection established.*
> *Stream successfully created.*
> *Buffer metrics: maxlength=4194304, fragsize=176400*
> *Using sample spec 's16le 1ch 44100Hz', channel map 'mono'.*
> *Connected to device bluez_source.00_1F_81_34_08_22 (index: 3, suspended:
> no).*
> *Time: 0.026 sec; Latency: 25844 usec.*
>
> => In my case, the result is a mm.wav of zero bytes no matter how long I
> record.
>
> The output from pulseaudio's log is:
> *I: [pulseaudio] client.c: Created 10 "Native client (UNIX socket client)"*
> *D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30
> I: [pulseaudio] protocol-native.c: Got credentials: uid=0 gid=0 success=1
> D: [pulseaudio] protocol-native.c: SHM possible: yes D: [pulseaudio]
> protocol-native.c: Negotiated SHM: yes D: [pulseaudio] srbchannel.c: SHM
> block is 4056 bytes, ringbuffer capacity is 2 * 2004 bytes D: [pulseaudio]
> protocol-native.c: Enabling srbchannel... D: [pulseaudio]
> module-augment-properties.c: Looking for .desktop file for parecord D:
> [pulseaudio] protocol-native.c: Client enabled srbchannel. D: [pulseaudio]
> module-stream-restore.c: Not restoring device for stream
> source-output-by-application-name:parecord, because already set D:
> [pulseaudio] module-intended-roles.c: Not setting device for stream mm.wav,
> because already set. D: [pulseaudio] source-output.c: Negotiated format:
> pcm, format.sample_format = "\"s16le\"" format.rate = "44100"
> format.channels = "1" format.channel_map = "\"mono\"" I: [pulseaudio]
> source-output.c: Trying to change sample rate I: [pulseaudio] resampler.c:
> Speex appears to be compiled with --enable-fixed-point. Switching to a
> fixed-point resampler because it should be faster. D: [pulseaudio]
> resampler.c: Resampler: D: [pulseaudio] resampler.c: rate 8000 -> 44100
> (method speex-fixed-1) D: [pulseaudio] resampler.c: format s16le -> s16le
> (intermediate s16le) D: [pulseaudio] resampler.c: channels 1 -> 1
> (resampling 1) I: [pulseaudio] speex.c: Choosing speex quality setting 1.
> D: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432,
> tlength=0, base=2, prebuf=0, minreq=1 maxrewind=0 D: [pulseaudio]
> memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432,
> base=2, prebuf=0, minreq=2 maxrewind=0 I: [pulseaudio] source-output.c:
> Created output 3 "mm.wav" on bluez_source.00_1F_81_34_08_22 with sample
> spec s16le 1ch 44100Hz and channel map mono I: [pulseaudio]
> source-output.c: media.format = "WAV (Microsoft)" I: [pulseaudio]
> source-output.c: application.name <http://application.name> = "parecord" I:
> [pulseaudio] source-output.c: media.name <http://media.name> = "mm.wav" I:
> [pulseaudio] source-output.c: native-protocol.peer = "UNIX socket client"
> I: [pulseaudio] source-output.c: native-protocol.version = "30" I:
> [pulseaudio] source-output.c: application.process.id
> <http://application.process.id> = "1930" I: [pulseaudio] source-output.c:
> application.process.user = "root" I: [pulseaudio] source-output.c:
> application.process.host = "OpenWrt" I: [pulseaudio] source-output.c:
> application.process.binary = "parecord" I: [pulseaudio] source-output.c:
> application.language = "C" I: [pulseaudio] source-output.c:
> application.process.machine_id = "fbf61ebdc6bd1c95cd6a1de257baaee6" I:
> [pulseaudio] source-output.c: module-stream-restore.id
> <http://module-stream-restore.id> =
> "source-output-by-application-name:parecord" D: [pulseaudio] memblockq.c:
> memblockq requested: maxlength=4194304, tlength=0, base=2, prebuf=1,
> minreq=0 maxrewind=0 D: [pulseaudio] memblockq.c: memblockq sanitized:
> maxlength=4194304, tlength=4194304, base=2, prebuf=2, minreq=2 maxrewind=0
> I: [pulseaudio] protocol-native.c: Final latency 2000.00 ms = 2000.00 ms +
> 0.00 ms D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.
> I: [pulseaudio] source-output.c: Freeing output 3 "mm.wav" I: [pulseaudio]
> client.c: Freed 10 "parecord" I: [pulseaudio] protocol-native.c: Connection
> died.*
>
> It would be great if you can give my any advice or suggestion.
>
> Regards,
> Hieu Le.
>
>
> On Mon, Aug 22, 2016 at 10:14 AM, Hieu Le <hieu.le at veriksystems.com>
> wrote:
>
>> Thanks for your information. Let me try to backport from 3.18.
>>
>> Regards,
>> Hieu Le.
>>
>> On Sat, Aug 20, 2016 at 7:32 PM, Tanu Kaskinen <tanuk at iki.fi> wrote:
>>
>>> On Sat, 2016-08-20 at 14:14 +0200, Georg Chini wrote:
>>> > On 20.08.2016 13:40, Tanu Kaskinen wrote:
>>> > >
>>> > > On Fri, 2016-08-19 at 13:57 +0700, Hieu Le wrote:
>>> > > >
>>> > > > I'm trying to get a SPK-ProHT Bluetooth speaker and headset
>>> working on an
>>> > > > embedded Linux board but when I failed to use pacmd
>>> set-card-profile to
>>> > > > choose headset_head_unit profile. Checking pulseaudio lof file, it
>>> seems
>>> > > > backend-native cannot connect to SCO socket. Sorry this is a very
>>> long mail
>>> > > > due to debug logs attached
>>> > > The problem seems to be that connect() fails with "Protocol not
>>> > > supported". This problem has been reported a few times, but I don't
>>> > > know how to fix it. It seems like missing functionality in the
>>> kernel,
>>> > > so my guess is that you're missing some bluetooth related driver. If
>>> > > you get it working somehow, please report back how you did it.
>>> > >
>>> > > The bluez mailing list might be able to help better.
>>> > >
>>> > Hi,
>>> >
>>> > I remember there was a kernel problem which prevented some
>>> > headsets from working. The bug was introduced in 3.12 and was
>>> > fixed in 3.18.
>>> > See also
>>> > https://lists.freedesktop.org/archives/pulseaudio-discuss/20
>>> 15-March/023298.html
>>>
>>> Thanks! I added this bit of information here:
>>> https://www.freedesktop.org/wiki/Software/PulseAudio/Documen
>>> tation/User/Bluetooth/
>>>
>>> --
>>> Tanu
>>> _______________________________________________
>>> pulseaudio-discuss mailing list
>>> pulseaudio-discuss at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>>>
>>
>>
>>
>> --
>> ---- Hieu Le ---
>>
>
>
>
> --
> ---- Hieu Le ---
>



-- 
---- Hieu Le ---
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20160823/66a3b585/attachment-0001.html>


More information about the pulseaudio-discuss mailing list