Microphone of Huawei Freebuds Pro 4 not used over Bluetooth

  • Device: OnePlus 9
  • iodéOS Version: 7.6
  • Affected App(s): All

Short Description:

I connected my Huawei Freebuds Pro 4 successfully with my phone via Bluetooth. They work perfectly only the microphone quality was extremely poor, so I considered returning them. Now I found out that the problem is that always the microphone of the phone is used and not of the headset. This affects every application like Signal and audio recorders. This is weird because in SoundTree Recorder, for example, I selected the Freebuds as the recording source, but this did not change anything.

I tested this with another Headset from Jabra with the same result. To me it seems like a general problem.

Does anybody have an idea why this is not working?


New Issue, Regression, or Feature Request?

(enter here…)


Additional Information:

(enter here…)

I tried to dig deeper into this issue and used adb logcat in order to better understand what is happening here. I started logging, then I connected the headset and then I recorded a message in Signal. Afterwards I stopped logging.

Grepping all entries for headset / bluetooth / signal I get the results attached.

bt-condensed.txt (242,7 KB)

Here are just the lines containing headset:

07-05 11:37:57.290  2997  3010 I BluetoothAdapterService: getActiveDevices: Headset device: null
07-05 11:37:57.299  2997  3157 I BluetoothAdapterService: getActiveDevices: Headset device: null
07-05 11:37:57.396  2997  3272 I BluetoothHeadsetServiceJni: android/app/jni/com_android_bluetooth_hfp.cpp:92 ConnectionStateCallback: 1 for xx:xx:xx:xx:02:80
07-05 11:37:57.398  2997  3272 I BluetoothHeadsetServiceJni: android/app/jni/com_android_bluetooth_hfp.cpp:92 ConnectionStateCallback: 2 for xx:xx:xx:xx:02:80
07-05 11:37:57.399  2997  3296 I HeadsetStateMachine: Disconnected: currentDevice=XX:XX:XX:XX:02:80, msg=accept incoming connection
07-05 11:37:57.410  2802  2889 D CachedBluetoothDevice: onProfileStateChanged: profile HEADSET, device XX:XX:XX:XX:02:80, newProfileState 1
07-05 11:37:57.413  2997  3157 I BluetoothAdapterService: getActiveDevices: Headset device: null
07-05 11:37:57.414   381   381 D CachedBluetoothDevice: onProfileStateChanged: profile HEADSET, device XX:XX:XX:XX:02:80, newProfileState 1
07-05 11:37:57.416  2997  3353 I BluetoothAdapterService: getActiveDevices: Headset device: null
07-05 11:37:57.510  2997  3157 I BluetoothAdapterService: getActiveDevices: Headset device: null
07-05 11:37:57.526  2997  3353 I BluetoothAdapterService: getActiveDevices: Headset device: null
07-05 11:37:57.537  2997  3296 I HeadsetStateMachine: processAtCind: for device=XX:XX:XX:XX:02:80
07-05 11:37:57.594  2997  3272 I BluetoothHeadsetServiceJni: android/app/jni/com_android_bluetooth_hfp.cpp:92 ConnectionStateCallback: 3 for xx:xx:xx:xx:02:80
07-05 11:37:57.595  2997  3303 I HeadsetPhoneState: stopListenForPhoneState: no listener
07-05 11:37:57.595  2997  3303 I HeadsetPhoneState: startListenForPhoneState: subId=1 events=257
07-05 11:37:57.595  2997  3303 I HeadsetPhoneState: startListener: events=257
07-05 11:37:57.610  2997  3296 E HeadsetSystemInterface: Handsfree phone proxy null for query phone state
07-05 11:37:57.610  2997  3296 I HeadsetService: updateInbandRinging(): Device=XX:XX:XX:XX:02:80 ActiveDevice=null enabled=false connected=true Update all=false
07-05 11:37:57.610  2997  3278 I HeadsetService: setActiveDevice: device=XX:XX:XX:XX:02:80, uid/pid=1002/2997
07-05 11:37:57.623   381   381 D CachedBluetoothDevice: onProfileStateChanged: profile HEADSET, device XX:XX:XX:XX:02:80, newProfileState 2
07-05 11:37:57.624  2997  3278 I HeadsetService: updateInbandRinging(): Device=XX:XX:XX:XX:02:80 ActiveDevice=XX:XX:XX:XX:02:80 enabled=true connected=true Update all=true
07-05 11:37:57.625  2997  3346 I BluetoothAdapterService: getActiveDevices: Headset device: XX:XX:XX:XX:02:80
07-05 11:37:57.628   381   381 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:02:80, isActive true
07-05 11:37:57.628   381   381 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:7A:0E, isActive false
07-05 11:37:57.628   381   381 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:E0:BF, isActive false
07-05 11:37:57.629   381   381 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:3A:08, isActive false
07-05 11:37:57.704  2997  3296 I HeadsetStateMachine: processVendorSpecificAt: unsupported command: +TBSF=?
07-05 11:37:57.738  2997  3296 I HeadsetStateMachine: processVendorSpecificAt: unsupported command: +HUAWEIBATTERY=?
07-05 11:37:57.784  2997  3296 I HeadsetStateMachine: processVendorSpecificAt: unsupported command: +XHUAWEISF=?
07-05 11:38:00.061  2802  2889 D CachedBluetoothDevice: onProfileStateChanged: profile HEADSET, device XX:XX:XX:XX:02:80, newProfileState 2
07-05 11:38:00.065  1691  1691 I Telecom : WiredHeadsetManager: ACTION_HEADSET_PLUG event, plugged in: false, : WHC.oADA@m34
07-05 11:38:00.066  2997  3346 I BluetoothAdapterService: getActiveDevices: Headset device: XX:XX:XX:XX:02:80
07-05 11:38:00.067  2802  2889 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:02:80, isActive true
07-05 11:38:00.067  2802  2889 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:7A:0E, isActive false
07-05 11:38:00.067  2802  2889 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:E0:BF, isActive false
07-05 11:38:00.067  2802  2889 D CachedBluetoothDevice: onActiveDeviceChanged: profile HEADSET, device XX:XX:XX:XX:3A:08, isActive false
07-05 11:38:00.192  1691  1691 I Telecom : WiredHeadsetManager: ACTION_HEADSET_PLUG event, plugged in: false, : WHC.oADA@m4E
07-05 11:38:00.197 31612 31685 D APM::HwModule: createDevice: adding dynamic device AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, @:SUPPRESSED to module primary
07-05 11:38:00.248  1691  1691 I Telecom : WiredHeadsetManager: ACTION_HEADSET_PLUG event, plugged in: false, : WHC.oADA@m4M

I cannot see anything from these log files. Also asking the AI does not really result in a useful answer.

Does anybody have an idea? Would it make sense to raise an issue?

Linking a related post: Bluetooth Microphone is not used except for calls

1 Like

I found another Bluetooth headset from Jabra where the microphone is also not working. The app ”Record Equalizer” is very handy for testing.

1 Like