Microphone not working on USB-C headset
Version, Distribution, Desktop Environment:
Tried both 0.3.30 and the current master branch (61bcd4f9), Arch Linux, XFCE4 4.16.
Description of Problem:
I have a Samsung USB-C headset that was working fine on pulseaudio. On pipewire, the microphone doesn't work (no sound), and applications that try to play audio after I try to use the mic start freezing. I have to reconnect the headset to unfreeze them.
The headset has 2 profiles with mic enabled:
- Analog Stereo Output + Mono Input
- Digital Stereo (IEC958) Output + Mono Input
Both profiles were working on pulseaudio, and neither is working on pipewire.
I also get the following errors in journalctl:
When connecting the headset:
Jun 16 15:30:01 arch kernel: ucsi_acpi USBC000:00: ucsi_handle_connector_change: GET_CONNECTOR_STATUS failed (-5)
Jun 16 15:30:01 arch kernel: usb 1-7: new full-speed USB device number 9 using xhci_hcd
Jun 16 15:30:02 arch kernel: usb 1-7: not running at top speed; connect to a high speed hub
Jun 16 15:30:02 arch kernel: usb 1-7: New USB device found, idVendor=04e8, idProduct=a051, bcdDevice= 0.03
Jun 16 15:30:02 arch kernel: usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 16 15:30:02 arch kernel: usb 1-7: Product: USBC Headset
Jun 16 15:30:02 arch kernel: usb 1-7: Manufacturer: Samsung
Jun 16 15:30:02 arch kernel: usb 1-7: SerialNumber: 20190816
Jun 16 15:30:02 arch kernel: hid-generic 0003:04E8:A051.000C: No inputs registered, leaving
Jun 16 15:30:02 arch kernel: hid-generic 0003:04E8:A051.000C: hidraw5: USB HID v1.11 Device [Samsung USBC Headset] on usb-0000:00:14.0-7/input3
Jun 16 15:30:02 arch kernel: input: Samsung USBC Headset as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.4/0003:04E8:A051.000D/input/input43
Jun 16 15:30:02 arch mtp-probe[10043]: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7"
Jun 16 15:30:02 arch mtp-probe[10043]: bus: 1, device: 9 was not an MTP device
Jun 16 15:30:02 arch kernel: hid-generic 0003:04E8:A051.000D: input,hidraw6: USB HID v1.11 Device [Samsung USBC Headset] on usb-0000:00:14.0-7/input4
Jun 16 15:30:02 arch upowerd[4322]: treating change event as add on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
Jun 16 15:30:03 arch mtp-probe[12043]: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7"
Jun 16 15:30:03 arch mtp-probe[12043]: bus: 1, device: 9 was not an MTP device
When using the microphone:
Jun 16 15:30:27 arch pipewire-pulse[4272]: pulse-server 0x55f8e51c48a0: [Firefox] UNDERFLOW channel:1 offset:12779520 underrun:4096
Jun 16 15:30:29 arch pipewire[4270]: set_hw_params: No space left on device
Jun 16 15:30:29 arch pipewire[4270]: (alsa_input.usb-Samsung_USBC_Headset_20190816-00.mono-fallback-73) suspended -> error (Start error: No space left on device)
Jun 16 15:30:29 arch pipewire[4270]: link 0x55b7dcba3500: one of the nodes is in error out:error in:suspended
Jun 16 15:30:29 arch pipewire-media-session[4271]: error id:10 seq:2450 res:-28 (No space left on device): Start error: No space left on device
Jun 16 15:30:29 arch kernel: usb 1-7: Not enough bandwidth for new device state.
Jun 16 15:30:29 arch kernel: usb 1-7: Not enough bandwidth for altsetting 2
Jun 16 15:30:29 arch kernel: usb 1-7: 1:2: usb_set_interface failed (-28)
when disconnecting the headset:
Jun 16 15:30:38 arch pipewire[4270]: alsa-pcm front:2: snd_pcm_drop No such device
Jun 16 15:30:38 arch kernel: usb 1-7: USB disconnect, device number 9
Jun 16 15:30:38 arch pipewire[4270]: front:2: close failed: No such device
Jun 16 15:30:38 arch pipewire-pulse[4272]: node 0x55f8e69842b0: set_param Spa:Enum:ParamId:PortConfig (11) 0x55f8e5baa3d0: Input/output error
Jun 16 15:30:38 arch pipewire[4270]: impl-core 0x55b7dca95710: error -5 for resource 33: node_set_param(Spa:Enum:ParamId:PortConfig) failed: Input/output error
Jun 16 15:30:38 arch pipewire[4270]: client-node 0x55b7dcbd55e0: error seq:2902 -5 (node_set_param(Spa:Enum:ParamId:PortConfig) failed: Input/output error)
Jun 16 15:30:38 arch acpid[1359]: input device has been disconnected, fd 32
Jun 16 15:30:39 arch pipewire-pulse[4272]: 1 events suppressed
Jun 16 15:30:39 arch pipewire-pulse[4272]: pulse-server 0x55f8e51c48a0: [Firefox] UNDERFLOW channel:1 offset:98304 underrun:4096
How Reproducible:
Always
Steps to Reproduce:
- Plug headset in.
- Open pavucontrol, configure profile and set it as the default audio device.
- Go to https://www.onlinemictest.com/ and test the mic
Actual Results:
- No signal from the microphone
- Applications that play audio start freezing
Expected Results:
- Mic to work and not to freeze applications