Hello, This command solved my issue: hcitool cmd 0x3F 0x01C 0x01 0x02 0x00 0x01 0x01 Thanks :). 2017-11-03 9:11 GMT+01:00 Vimal Babu <Vimal.Babu at nestgroup.net>: > Hi, > > > > I also faced same issue in HFP, > > > > > > > > > > > > > > > > > > *< 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 > > > > > > > > What I did is that , I send commands to Bluetooth module, to switch from > PCM to UART. > > > > *hcitool cmd 0x3F 0x01C 0x01 0x02 0x00 0x01 0x01 *//For > routing > > After sending this my issue was solved. > > > > Regards, > > Vimal Babu > > *From:* pulseaudio-discuss [mailto:pulseaudio-discuss- > bounces at lists.freedesktop.org] *On Behalf Of *Pawel B > *Sent:* Tuesday, October 31, 2017 6:00 PM > *To:* pulseaudio-discuss at lists.freedesktop.org > *Subject:* [pulseaudio-discuss] Hsp profile available but not working > > > > 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? > > ------------------------------ > > *Confidentiality Statement / Disclaimer* : This message and any > attachments is intended for the sole use of the intended recipient. It may > contain confidential information. Any unauthorized use, dissemination or > modification is strictly prohibited. If you are not the intended recipient, > please notify the sender immediately then delete it from all your systems, > and do not copy, use or print. Internet communications are not secure and > it is the responsibility of the recipient to make sure that it is > virus/malicious code exempt. > > The company/sender cannot be responsible for any unauthorized alterations > or modifications made to the contents. If you require any form of > confirmation of the contents, please contact the company/sender. The > company/sender is not liable for any errors or omissions in the content of > this message. > ------------------------------ > > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171103/cc45bf1d/attachment-0001.html>