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 --- -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20160822/e7bae0d5/attachment-0001.html>