Hi All. I have a problem with hsp profile. After connect to Philips WeCall Speaker profile headset_head_unit is available: Card #2 Name: bluez_card.0C_A6_94_25_70_DE Driver: module-bluez5-device.c Owner Module: 25 Properties: device.description = "Philips WeCall Speaker" device.string = "0C:A6:94:25:70:DE" device.api = "bluez" device.class = "sound" device.bus = "bluetooth" device.form_factor = "headset" bluez.path = "/org/bluez/hci1/dev_0C_A6_94_25_70_DE" bluez.class = "0x240404" bluez.alias = "Philips WeCall Speaker" device.icon_name = "audio-headset-bluetooth" device.intended_roles = "phone" Profiles: * headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes* a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes) device.description = "Philips WeCall Speaker" off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: headset_head_unit Ports: headset-output: Headset (priority: 0, latency offset: 0 usec) Part of profile(s): headset_head_unit, a2dp_sink headset-input: Headset (priority: 0, latency offset: 0 usec) Part of profile(s): headset_head_unit I set default sink and source. After run â??mplayer test.wavâ?? nothing is happens (there is no sound). In a2dp_sink profile everything works fine, but I need use microphone to record voice, so I need to use headset_head_unit. I run hcidump: [root at localhost ~]# hcidump -i hci1 -X HCI sniffer - Bluetooth packet analyzer ver 2.5 device: hci1 snap_len: 1500 filter: 0xffffffff < HCI Command: Exit Sniff Mode (0x02|0x0004) plen 2 handle 13 > HCI Event: Command Status (0x0f) plen 4 Exit Sniff Mode (0x02|0x0004) status 0x00 ncmd 1 > HCI Event: Mode Change (0x14) plen 6 status 0x00 handle 13 mode 0x00 interval 0 Mode: Active < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 13 voice setting 0x0060 ptype 0x003f > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x00 handle 6 bdaddr 0C:A6:94:25:70:DE type eSCO Air mode: CVSD *< SCO data: handle 6 flags 0x00 dlen 48 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................< SCO data: handle 6 flags 0x00 dlen 48 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................* < HCI Command: Disconnect (0x01|0x0006) plen 3 handle 6 reason 0x13 Reason: Remote User Terminated Connection > HCI Event: Command Status (0x0f) plen 4 Disconnect (0x01|0x0006) status 0x00 ncmd 1 > HCI Event: Disconn Complete (0x05) plen 4 status 0x00 handle 6 reason 0x16 Reason: Connection Terminated by Local Host My controller - is a BCM4354 chip [bluetooth]# show Controller C0:97:27:4C:2E:67 Name: ARTIK10 Alias: ARTIK10 Class: 0x0c0408 Powered: yes Discoverable: no Pairable: yes UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) Modalias: usb:v1D6Bp0246d0524 Discovering: no My device: [Philips WeCall Speaker]# info 0C:A6:94:25:70:DE Device 0C:A6:94:25:70:DE Name: Philips WeCall Speaker Alias: Philips WeCall Speaker Class: 0x240404 Icon: audio-card Paired: yes Trusted: yes Blocked: no Connected: yes LegacyPairing: no UUID: Headset (00001108-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb) *pulseaudio log* [root at localhost audio]# journalctl -b 0 | grep -i pulse Oct 09 16:10:26 localhost systemd[1]: Started pulseaudio service. Oct 09 16:10:26 localhost systemd[1]: Starting pulseaudio service... Oct 09 16:10:26 localhost pulseaudio[3416]: W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set! Oct 09 16:10:26 localhost pulseaudio[3416]: N: [pulseaudio] main.c: Running in system mode, forcibly disabling SHM mode! Oct 09 16:10:26 localhost pulseaudio[3416]: W: [pulseaudio] main.c: OK, so you are running PA in system mode. Please note that you most likely shouldn't be doing that. Oct 09 16:10:26 localhost pulseaudio[3416]: W: [pulseaudio] main.c: If you do it nonetheless then it's your own fault if things don't work as expected. Oct 09 16:10:26 localhost pulseaudio[3416]: W: [pulseaudio] main.c: Please read http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ for an explanation why system mode is usually a bad idea. Oct 09 16:10:27 localhost kernel: [c6] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost kernel: [c1] lpass_set_sched: [pulseaudio] pid = 3416, prio = 49 Oct 09 16:10:27 localhost pulseaudio[3416]: W: [pulseaudio] authkey.c: Failed to open cookie file '/var/run/pulse/.config/pulse/cookie': No such file or directory Oct 09 16:10:27 localhost pulseaudio[3416]: W: [pulseaudio] authkey.c: Failed to load authentication key '/var/run/pulse/.config/pulse/cookie': No such file or directory Oct 09 16:10:27 localhost pulseaudio[3416]: W: [pulseaudio] authkey.c: Failed to open cookie file '/var/run/pulse/.pulse-cookie': No such file or directory Oct 09 16:10:27 localhost pulseaudio[3416]: W: [pulseaudio] authkey.c: Failed to load authentication key '/var/run/pulse/.pulse-cookie': No such file or directory *journalctl -b 0 | grep -i blue* Oct 09 16:10:24 localhost kernel: [c6] Bluetooth: Core ver 2.16 Oct 09 16:10:24 localhost kernel: [c6] Bluetooth: HCI device and connection manager initialized Oct 09 16:10:24 localhost kernel: [c6] Bluetooth: HCI socket layer initialized Oct 09 16:10:24 localhost kernel: [c6] Bluetooth: L2CAP socket layer initialized Oct 09 16:10:24 localhost kernel: [c6] Bluetooth: SCO socket layer initialized Oct 09 16:10:24 localhost kernel: [c5] Bluetooth: Generic Bluetooth SDIO driver ver 0.1 Oct 09 16:10:25 localhost kernel: [c0] bcm4354_bluetooth bluetooth.8: bcm4354_bluetooth_probe. Oct 09 16:10:25 localhost kernel: [c2] [BT] Bluetooth Power On. Oct 09 16:10:25 localhost kernel: [c5] bcm4354_bluetooth bluetooth.8: bcm4354_bluetooth_probe End Oct 09 16:10:25 localhost kernel: [c7] [BT] Bluetooth Power On. Oct 09 16:10:26 localhost dbus-daemon[3403]: Unknown username "bluealsa" in message bus configuration file Oct 09 16:10:26 localhost kernel: [c6] [BT] Bluetooth Power On. Oct 09 16:10:26 localhost systemd[1]: Starting BCM4354 Bluetooth firmware service... Oct 09 16:10:27 localhost fwdown.sh[3423]: /etc/bluetooth / Oct 09 16:10:27 localhost dbus[3403]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' Oct 09 16:10:27 localhost systemd[1]: Started BCM4354 Bluetooth firmware service. Oct 09 16:10:27 localhost systemd[1]: Starting Bluetooth service... Oct 09 16:10:27 localhost bluetoothd[3555]: Bluetooth daemon 5.36 Oct 09 16:10:27 localhost dbus[3403]: [system] Successfully activated service 'org.bluez' Oct 09 16:10:27 localhost bluetoothd[3555]: Starting SDP server Oct 09 16:10:27 localhost systemd[1]: Started Bluetooth service. Oct 09 16:10:27 localhost kernel: [c0] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Oct 09 16:10:27 localhost kernel: [c0] Bluetooth: BNEP filters: protocol multicast Oct 09 16:10:27 localhost kernel: [c0] Bluetooth: BNEP socket layer initialized Oct 09 16:10:27 localhost bluetoothd[3555]: Bluetooth management interface 1.3 initialized Oct 09 16:10:27 localhost connmand[3419]: Method "ListAdapters" with signature "" on interface "org.bluez.Manager" doesn't exist Oct 09 16:10:27 localhost kernel: [c3] Bluetooth: HCI UART driver ver 2.2 Oct 09 16:10:27 localhost kernel: [c3] Bluetooth: HCI H4 protocol initialized Oct 09 16:10:27 localhost kernel: [c3] Bluetooth: HCI BCSP protocol initialized Oct 09 16:10:27 localhost kernel: [c3] Bluetooth: HCILL protocol initialized Oct 09 16:10:27 localhost kernel: [c3] Bluetooth: HCIATH3K protocol initialized Oct 09 16:10:27 localhost kernel: [c3] Bluetooth: HCI Three-wire UART (H5) protocol initialized Oct 09 16:10:27 localhost bluetoothd[3555]: Failed to obtain handles for "Service Changed" characteristic Oct 09 16:10:27 localhost systemd[1]: Reached target Bluetooth. Oct 09 16:10:27 localhost systemd[1]: Starting Bluetooth. Oct 09 16:10:27 localhost kernel: [c0] Bluetooth: RFCOMM TTY layer initialized Oct 09 16:10:27 localhost kernel: [c0] Bluetooth: RFCOMM socket layer initialized Oct 09 16:10:27 localhost kernel: [c0] Bluetooth: RFCOMM ver 1.11 Oct 09 16:10:27 localhost bluetoothd[3555]: hci1 Load Connection Parameters failed: Unknown Command (0x01) Oct 09 16:10:28 localhost bluetoothd[3555]: Endpoint registered: sender=:1.5 path=/MediaEndpoint/A2DPSource Oct 09 16:10:28 localhost bluetoothd[3555]: Endpoint registered: sender=:1.5 path=/MediaEndpoint/A2DPSink [root at localhost audio]# *pulseaudio --version* pulseaudio 6.0 [root at localhost audio]# *bluetoothctl --version* 5.36 I checked many different configuration. The last one is: -- [root at localhost audio]# cat /etc/bluetooth/audio.conf # Configuration file for the audio service # This section contains options which are not specific to any # particular interface [General] # Switch to master role for incoming connections (defaults to true) Master=true # If we want to disable support for specific services # Defaults to supporting all implemented services #Disable=Gateway,Source,Socket #Disable=Gateway #Enable=Headset #Enable=Gateway,Source,Socket Enable=Source,Sink,Media,Socket,Headset #Enable=Source # SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA) # Defaults to HCI #SCORouting=PCM # Automatically connect both A2DP and HFP/HSP profiles for incoming # connections. Some headsets that support both profiles will only connect the # other one automatically so the default setting of true is usually a good # idea. AutoConnect=true # Headset interface specific options (i.e. options which affect how the audio # service interacts with remote headset devices) [Headset] # Set to true to support HFP, false means only HSP is supported # Defaults to true HFP=false # Maximum number of connected HSP/HFP devices per adapter. Defaults to 1 MaxConnected=1 # Set to true to enable use of fast connectable mode (faster page scanning) # for HFP when incoming call starts. Default settings are restored after # call is answered or rejected. Page scan interval is much shorter and page # scan type changed to interlaced. Such allows faster connection initiated # by a headset. FastConnectable=true # Just an example of potential config options for the other interfaces [A2DP] SBCSources=1 MPEG12Sources=0 -- [root at localhost audio]# cat /etc/pulse/system.pa #!/usr/bin/pulseaudio -nF # # This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. # This startup script is used only if PulseAudio is started per-user # (i.e. not in system mode) .nofail ### Load something into the sample cache #load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga #load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga #load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga #load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga .fail ### Automatically restore the volume of streams and devices load-module module-device-restore load-module module-stream-restore load-module module-card-restore ### Automatically augment property information from .desktop files ### stored in /usr/share/application load-module module-augment-properties ### Should be after module-*-restore but before module-*-detect load-module module-switch-on-port-available ### Load audio drivers statically ### (it's probably better to not load these drivers manually, but instead ### use module-udev-detect -- see below -- for doing this automatically) #load-module module-alsa-sink #load-module module-alsa-source device=hw:1,0 #load-module module-null-sink #load-module module-pipe-sink ### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect tsched=0 .else ### Use the static hardware detection module (for systems that lack udev support) load-module module-detect .endif ### Automatically connect sink and source if JACK server is present .ifexists module-jackdbus-detect.so .nofail load-module module-jackdbus-detect channels=2 .fail .endif ### Automatically load driver modules for Bluetooth hardware .ifexists module-bluetooth-policy.so load-module module-bluetooth-policy .endif .ifexists module-bluetooth-discover.so load-module module-bluetooth-discover ##headset=native .endif ### Load several protocols .ifexists module-esound-protocol-unix.so load-module module-esound-protocol-unix .endif load-module module-native-protocol-unix ### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp #load-module module-native-protocol-tcp #load-module module-zeroconf-publish ### Load the RTP receiver module (also configured via paprefs, see above) #load-module module-rtp-recv ### Load the RTP sender module (also configured via paprefs, see above) #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" #load-module module-rtp-send source=rtp.monitor ### Load additional modules from GConf settings. This can be configured with the paprefs tool. ### Please keep in mind that the modules configured by paprefs might conflict with manually ### loaded modules. .ifexists module-gconf.so .nofail load-module module-gconf .fail .endif ### Automatically restore the default sink/source when changed by the user ### during runtime ### NOTE: This should be loaded as early as possible so that subsequent modules ### that look up the default sink/source get the right value load-module module-default-device-restore ### Automatically move streams to the default sink if the sink they are ### connected to dies, similar for sources load-module module-rescue-streams ### Make sure we always have a sink around, even if it is a null sink. load-module module-always-sink ### Honour intended role device property load-module module-intended-roles ### Automatically suspend sinks/sources that become idle for too long load-module module-suspend-on-idle ### If autoexit on idle is enabled we want to make sure we only quit How to fix this issue? -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171031/b505706a/attachment-0001.html>