You are not logged in.
I've been trying to fix this issue for almost 2 days now but haven't gotten anywhere.
I have a pair of Soundmagic E80C headphones which have a built in mic. The mic works fine on my smartphone. I've been trying to record audio using these headphones on my ThinkPad E495 laptop. It has a single 3.5 mm jack port for both playback and recording. The name of the device that shows up in alsamixer is Conexant CX8070. I've tried using both PipeWire and PulseAudio and followed all the steps mentioned in their microphone troubleshooting pages but nothing works. All I end up recording is either static or nothing.
I inserted the line
load-module module-alsa-source device=hw:1,0
in /etc/pulse/default.pa and restart the pulseaudio user service. I also changed the default sample rate as suggested and also tried disabling resampling but that doesn't do anything. I tried changing the mic channel from stereo to mono but that gave me an error in the pulseadio user service and ended up doing nothing. I also followed the "Microphone distorted due to automatic adjustment" section but that didn't give any results. While using PipeWire, I also tried disabling api.alsa.use-acp, and enabling api.alsa.use-ucm, but that also doesn't help. I keep getting static from gnome-sound-recorder.
Here are the relevant outputs.
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: CX8070 Analog [CX8070 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ pactl list sources
Source #65577
State: SUSPENDED
Name: alsa_output.pci-0000_04_00.1.hdmi-stereo.monitor
Description: Monitor of Raven/Raven2/Fenghuang HDMI/DP Audio Controller (ThinkPad E595) Digital Stereo (HDMI)
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.pci-0000_04_00.1.hdmi-stereo
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:0:hdmi:0:playback"
api.alsa.path = "hdmi:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "1"
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "HDMI 0"
alsa.id = "HDMI 0"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "3"
alsa.card = "0"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xd05c8000 irq 81"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "hdmi-stereo"
device.profile.description = "Digital Stereo (HDMI)"
card.profile.device = "3"
device.id = "39"
factory.name = "api.alsa.pcm.sink"
priority.driver = "696"
priority.session = "696"
media.class = "Audio/Sink"
node.nick = "HD-Audio Generic"
node.name = "alsa_output.pci-0000_04_00.1.hdmi-stereo"
device.description = "Raven/Raven2/Fenghuang HDMI/DP Audio Controller (ThinkPad E595) Digital Stereo (HDMI)"
device.icon_name = "audio-card-hdmi"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "33"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "41"
Formats:
pcm
Source #65578
State: IDLE
Name: alsa_output.pci-0000_04_00.6.analog-stereo.monitor
Description: Monitor of Family 17h (Models 10h-1fh) HD Audio Controller (ThinkPad E595) Analog Stereo
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.pci-0000_04_00.6.analog-stereo
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:1:front:1:playback"
api.alsa.path = "front:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "2"
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "CX8070 Analog"
alsa.id = "CX8070 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xd05c0000 irq 82"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
card.profile.device = "3"
device.id = "40"
factory.name = "api.alsa.pcm.sink"
priority.driver = "945"
priority.session = "945"
media.class = "Audio/Sink"
node.nick = "HD-Audio Generic"
node.name = "alsa_output.pci-0000_04_00.6.analog-stereo"
device.description = "Family 17h (Models 10h-1fh) HD Audio Controller (ThinkPad E595) Analog Stereo"
device.icon_name = "audio-card-analog"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "33"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "42"
node.max-latency = "8192/48000"
Formats:
pcm
Source #43
State: SUSPENDED
Name: alsa_input.pci-0000_04_00.6.analog-stereo
Description: Family 17h (Models 10h-1fh) HD Audio Controller (ThinkPad E595) Analog Stereo
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65535 / 100% / -0.00 dB, front-right: 65535 / 100% / -0.00 dB
balance 0.00
Base Volume: 13076 / 20% / -42.00 dB
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:1:front:1:capture"
api.alsa.path = "front:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "capture"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "2"
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "CX8070 Analog"
alsa.id = "CX8070 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xd05c0000 irq 82"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
card.profile.device = "0"
device.id = "40"
factory.name = "api.alsa.pcm.source"
priority.driver = "1945"
priority.session = "1945"
media.class = "Audio/Source"
node.nick = "HD-Audio Generic"
node.name = "alsa_input.pci-0000_04_00.6.analog-stereo"
device.description = "Family 17h (Models 10h-1fh) HD Audio Controller (ThinkPad E595) Analog Stereo"
device.icon_name = "audio-input-microphone-analog"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "33"
node.driver = "true"
factory.mode = "split"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "43"
node.max-latency = "8192/48000"
Ports:
analog-input-internal-mic: Internal Microphone (type: Mic, priority: 8900, availability group: Legacy 1, not available)
analog-input-mic: Microphone (type: Mic, priority: 8700, availability group: Legacy 2, available)
Active Port: analog-input-mic
Formats:
pcm
$ sudo dmesg | grep -i snd
[ 17.893711] snd_pci_acp3x 0000:04:00.5: enabling device (0000 -> 0002)
[ 17.903889] snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 2
[ 18.761154] snd_hda_intel 0000:04:00.1: enabling device (0000 -> 0002)
[ 18.761276] snd_hda_intel 0000:04:00.1: Handle vga_switcheroo audio client
[ 18.761344] snd_hda_intel 0000:04:00.6: enabling device (0000 -> 0002)
[ 18.775962] snd_hda_intel 0000:04:00.1: bound 0000:04:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[ 18.782473] snd_hda_codec_conexant hdaudioC1D0: CX8070: BIOS auto-probing.
[ 18.785106] snd_hda_codec_conexant hdaudioC1D0: autoconfig for CX8070: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 18.785109] snd_hda_codec_conexant hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 18.785110] snd_hda_codec_conexant hdaudioC1D0: hp_outs=1 (0x16/0x0/0x0/0x0/0x0)
[ 18.785111] snd_hda_codec_conexant hdaudioC1D0: mono: mono_out=0x0
[ 18.785112] snd_hda_codec_conexant hdaudioC1D0: inputs:
[ 18.785113] snd_hda_codec_conexant hdaudioC1D0: Internal Mic=0x1a
[ 18.785114] snd_hda_codec_conexant hdaudioC1D0: Mic=0x19
$ amixer -c 0
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
$ amixer -c 1
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 74
Mono: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 74
Mono:
Front Left: Playback 74 [100%] [0.00dB] [on]
Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 74
Mono:
Front Left: Playback 0 [0%] [-74.00dB] [off]
Front Right: Playback 0 [0%] [-74.00dB] [off]
Simple mixer control 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 3 [100%] [36.00dB]
Front Right: 3 [100%] [36.00dB]
Simple mixer control 'Mic Mute-LED Mode',0
Capabilities: enum
Items: 'On' 'Off' 'Follow Capture' 'Follow Mute'
Item0: 'Off'
Simple mixer control 'Beep',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 7
Mono: Playback 3 [43%] [-16.00dB] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 80
Front Left: Capture 80 [100%] [6.00dB] [on]
Front Right: Capture 80 [100%] [6.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'Internal Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Mute-LED Mode',0
Capabilities: enum
Items: 'On' 'Off' 'Follow Master'
Item0: 'Follow Master'
Here are some images of alsamixer. alsamixer default page and alsamixer CX8070 page image
I've also tried several solutions I found on the web about making changes in /etc/modproble.d/alsa-base.conf but those didn't help either.
Is it possible to use this headset microphone on Linux?
Last edited by 7nm (2021-07-28 16:14:13)
Offline
Lower the mic boost that will normally lead to static. Please state which modprobe changes you tried so we don't have to repeat ourselves needlessly.
In general combo jacks are almost always a hassle. One suggestion you probably didn't check is e.g. the add_hp_mic = true HDA hint you can set: https://www.kernel.org/doc/html/latest/ … nt-strings
Other than that, a stereo recording channel is often a lie and can lead to a variety of issues, check whether muting the left or the right channel helps.
Sample rate also reads weird, use some more default sample rates, e.g.
arecord -Dhw:1,0 -r 16000 test.wav
Offline
Lower the mic boost that will normally lead to static.
Done. The static is almost completely gone but still no sound recording is happening.
Please state which modprobe changes you tried so we don't have to repeat ourselves needlessly.
One of the changes I remember making in modprobe is adding model=headphone-mic-pin. That didn't work. Another change I remember is adding position_fix numbers. That didn't work either.
In general combo jacks are almost always a hassle.
Do USB or Bluetooth microphones work better on Linux? If combo jacks don't work well, that basically means I can't buy headphones with integrated mics if I want to use them on Linux.
One suggestion you probably didn't check is e.g. the add_hp_mic = true HDA hint you can set: https://www.kernel.org/doc/html/latest/ … nt-strings
I didn't know how to add this without using hdajackretask so I added `options snd_hda_intel add_hp_mic = true` but that didn't work as per an entry in journalctl so I read the kernel page and did this
# echo "add_hp_mic = true" > /sys/class/sound/hwC1D0/hints
This didn't do anything either. Did I do this right or do I need to add `add_hp_mic` somewhere else?
Other than that, a stereo recording channel is often a lie and can lead to a variety of issues, check whether muting the left or the right channel helps.
muted both channels one by one, didn't work.
Sample rate also reads weird, use some more default sample rates, e.g.
arecord -Dhw:1,0 -r 16000 test.wav
Here's what happened.
~ ➜ arecord -Dhw:1,0 -r 16000 test.wav
Warning: Some sources (like microphones) may produce inaudiable results
with 8-bit sampling. Use '-f' argument to increase resolution
e.g. '-f S16_LE'.
Recording WAVE 'test.wav' : Unsigned 8 bit, Rate 16000 Hz, Mono
arecord: set_params:1352: Sample format non available
Available formats:
- S16_LE
- S32_LE
~ ➜ arecord -Dhw:1,0 -r 16000 -f S16_LE test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
arecord: set_params:1358: Channels count non available
~ ➜ arecord -Dhw:1,0 -r 16000 -f S32_LE test.wav
Recording WAVE 'test.wav' : Signed 32 bit Little Endian, Rate 16000 Hz, Mono
arecord: set_params:1358: Channels count non available
Last edited by 7nm (2021-07-28 18:16:02)
Offline