Need help getting internal mic to work on Fedora 35 Gnome
At first start up mic would not work
It use to work by closing the laptop, in other words putting it to sleep, and on opening the laptop it would start working
But now that does not work I get nothing form the mic I can plug in a external headset mic and it works but I need the internal mic to work
If I try the usb live Fedora 35 mic does not work until I close the laptop and open it up then it works just like it did before
If you need any other info just let me know
Have you tried the gnome settings → sound control panel. There you can select the sound input source.
It seems possible that the internal mic is not selected by default and you may need to manually select it.
Yes it is selected
But there is no activity, no red line indicating output
Only started having trouble with the mic since pipewire
Use to be able to activate the mic by bringing it out of suspend but that does not work any more
Would you like to check from terminal with alsamixer
and press F6
to select appropriate sound card then press F5
to show all available volume controls. Check if your mic and mic boost are at 00 volume level. If this what happen, you could rise it with arrow keys.
You could also try to disable/enable auto-mute in case this is what happen when your mic doesn’t work on startup.
I already tried alsamixer
It had no effect
I think possibly pipewire is not finding the mic
I’ve had trouble with my mic ever since pipewire came along
Maybe you want to run arecord -lL
to check your devices availability first. From there maybe we can figure out on how to create custom pipewire config.
Use this article to test using arecord
.
here is the output of arecord -1L
null
Discard all samples (playback) or generate zero samples (capture)
pipewire
PipeWire Sound Server
default
Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=PCH
HDA Intel PCH, VT1802 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, VT1802 Analog
Front output / input
**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: VT1802 Analog [VT1802 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Tried the arecord test in the linked article and no recording
Tried with and without sudo
Please read here, look like they have problem like yours with same sound card vt1802
Update:
The GUI package can be install with sudo dnf install pavucontrol
. I’m not sure about terminal command suggested there since F35 not using pulseaudio.
Here is what I get when I do audio test
**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: VT1802 Analog [VT1802 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ arecord -f S16_LE -d 10 -r 16000 --device="hw:1,0" /tmp/test-mic.wav
Recording WAVE '/tmp/test-mic.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
arecord: set_params:1358: Channels count non available
$ aplay /tmp/test-mic.wav
/tmp/test-mic.wav: No such file or directory
This is what I get using sudo
$ sudo arecord -f S16_LE -d 10 -r 16000 --device="hw:1,0" /tmp/test-mic.wav
Recording WAVE '/tmp/test-mic.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
arecord: set_params:1358: Channels count non available
$ sudo aplay /tmp/test-mic.wav
aplay: main:831: audio open error: Host is down
Add -c 2
for stereo to the command or -c 1
for mono. No need sudo if you save the output on your home directory.
Guess what I already tried pavucontrol
Didn’t help
OK I added -c 2 and this is what I got
$ arecord -f S16_LE -d 10 -r 16000 -c 2 --device="hw:1,0" /tmp/test-mic.wav
Recording WAVE '/tmp/test-mic.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
Warning: rate is not accurate (requested = 16000Hz, got = 44100Hz)
please, try the plug plugin
So I changed 16000 to 44100 and this is what I got
$ arecord -f S16_LE -d 10 -r 44100 -c 2 --device="hw:1,0" /tmp/test-mic.wav
Recording WAVE '/tmp/test-mic.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
$ aplay /tmp/test-mic.wav
Playing WAVE '/tmp/test-mic.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
So I got a recording, it works
Great!
My last idea, please open file /usr/share/pipewire/pipewire.conf
. Read the very top comment on how to create local configuration.
After you creating ~/.config/pipewire/pipewire.conf
file, open and find on the very bottom line as below:
# This creates a single PCM source device for the given
# alsa device path hw:0. You can change source to sink
# to make a sink in the same way.
#{ factory = adapter
# args = {
# factory.name = api.alsa.pcm.source
# node.name = "alsa-source"
# node.description = "PCM Source"
# media.class = "Audio/Source"
# api.alsa.path = "hw:0"
# api.alsa.period-size = 1024
# api.alsa.headroom = 0
# api.alsa.disable-mmap = false
# api.alsa.disable-batch = false
# audio.format = "S16LE"
# audio.rate = 48000
# audio.channels = 2
# audio.position = "FL,FR"
# }
#}
Edit it as below:
# This creates a single PCM source device for the given
# alsa device path hw:0. You can change source to sink
# to make a sink in the same way.
{ factory = adapter
args = {
factory.name = api.alsa.pcm.source
node.name = "alsa-source"
node.description = "PCM Source"
media.class = "Audio/Source"
api.alsa.path = "hw:1,0"
# api.alsa.period-size = 1024
# api.alsa.headroom = 0
# api.alsa.disable-mmap = false
# api.alsa.disable-batch = false
audio.format = "S16LE"
audio.rate = 44100
audio.channels = 2
audio.position = "FL,FR"
}
}
Please take a look what I changed above. It copying your parameter from arecord
. You could modify it your self to playing around.
After finish the edit, run:
systemctl --user restart pipewire
systemctl --user restart wireplumber
Then open your Gnome setting. There should be new device added there.
It seems to be working
I have to turn it up more than before and the red line does not move as much
The external headphone mic also works and the red line moves a lot more
Will find out this evening how well it works
If it does not work will have to find out how to go back to PulseAudio
Thanks very much for your help it is appreciated