LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Desktop
User Name
Password
Linux - Desktop This forum is for the discussion of all Linux Software used in a desktop context.

Notices


Reply
  Search this Thread
Old 09-16-2023, 09:53 AM   #1
Zeesan
LQ Newbie
 
Registered: Sep 2023
Posts: 4

Rep: Reputation: 0
My laptops internal microphone is not shown in linux, How can I make it work?


My laptops internal microphone is not shown in linux, How can I make it work?
I installed Fedora 38 and ubuntu 23.04 on my Acer Aspire 314-24p ( ryzen 5 7520u ) with latest Kernel 6.6rc . But none of the OSes detect my laptops microphone. on the gnome sound option, it just Show something called Analog input that does nothing. How can I make things work?
output of the command 'pactl list sources | grep Name ' is pasted bellow :

Code:
alsa.card_name = "HD-Audio Generic"
alsa.driver_name = "snd_hda_intel"
alsa.long_card_name = "HD-Audio Generic at 0xc04c0000 irq 82"
alsa.name = "ALC256 Analog"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "HD-Audio Generic at 0xc04c0000 irq 82"
api.alsa.card.name = "HD-Audio Generic"
device.profile.name = "analog-stereo"
factory.name = "api.alsa.pcm.source"
node.name = "alsa_input.pci-0000_03_00.6.analog-stereo"
library.name = "audioconvert/libspa-audioconvert"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_03_00.6"
device.product.name = "Family 17h/19h HD Audio Controller"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
node.name = "auto_null"
factory.name = "support.null-audio-sink"
library.name = "audioconvert/libspa-audioconvert"
 
Old 09-16-2023, 10:58 AM   #2
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Debian
Posts: 6,142

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
Try the command pavucontrol to launch the PulseAudio configuration tool. If you haven't got it, install it.
 
Old 09-16-2023, 11:29 AM   #3
Zeesan
LQ Newbie
 
Registered: Sep 2023
Posts: 4

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by DavidMcCann View Post
Try the command pavucontrol to launch the PulseAudio configuration tool. If you haven't got it, install it.
my mic is not listed there either
 
Old 09-17-2023, 10:37 AM   #4
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Debian
Posts: 6,142

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
What do you get from the command
Code:
sudo arecord -l
 
Old 09-17-2023, 11:29 PM   #5
Zeesan
LQ Newbie
 
Registered: Sep 2023
Posts: 4

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by DavidMcCann View Post
What do you get from the command
Code:
sudo arecord -l
This messy output :

**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic],
device 0: ALC256 Analog [ALC256 Analog]
Subdevices: 0/1 Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 2: ALC256 Alt Analog [ALC256 Alt Analog] Subdevices: 2/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #
 
Old 09-18-2023, 06:27 AM   #6
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Debian
Posts: 6,142

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
Well, at least the built-in device is actually recognised! The trick is now to get it working. I can't offer much help, since I don't have a microphone, but this site might possibly help:
https://wiki.archlinux.org/title/Adv...ing#Microphone
This discussion may also help: https://unix.stackexchange.com/quest...g-on-archlinux
 
Old 09-19-2023, 03:28 AM   #7
Zeesan
LQ Newbie
 
Registered: Sep 2023
Posts: 4

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by DavidMcCann View Post
Well, at least the built-in device is actually recognised! The trick is now to get it working. I can't offer much help, since I don't have a microphone, but this site might possibly help:
https://wiki.archlinux.org/title/Adv...ing#Microphone
This discussion may also help: https://unix.stackexchange.com/quest...g-on-archlinux
thanks for the resources but it seems complicated. But I came to know that realtek ALC256 codec had this problem since long ago . It should have solution by now. My bad luck.
 
Old 12-07-2023, 02:26 PM   #8
titopoquito
Senior Member
 
Registered: Jul 2004
Location: Lower Rhine region, Germany
Distribution: Slackware64 14.2 and current, SlackwareARM current
Posts: 1,646

Rep: Reputation: 146Reputation: 146
I had the same problem, but with a similar, not the same device. In my case a "lsmod" showed me that snd_soc_acp6x_mach was used (or at least it showed acp6x at that time). If your lsmod also shows some module like this used, you could try the following procedure.

After searching many threads the solution for me was to (a) get my model number and (b) add it manually to the kernel source before (c) recompiling the kernel. You can get the model number that I am talking of with "alsa-info.sh" (as root), in my case the important line reads "Board Name: 8B2F". (It's an HP with the same CPU but a ALC236 codec). I downloaded the newest 6.6.x kernel, patched it with the patch from https://git.kernel.org/pub/scm/linux...d6f0bca0eed92a (instead of 8B2F insert your Board Model). Then recompile and install your kernel. Since Pat provides kernel configs for 6.6.x in testing, grab his config, which makes it much easier.

After that at least the microphone was shown and working. For my laptop I had to find yet another patch (so that the headphone jack and switching between it and the laptop speaker works) and luckily since 6.6.4 kernel it is working fine right now.

In case you should try it: Good luck!

EDIT: You also need the line with "Board Vendor" from alsa-info.sh. In my case it obviously says "HP" which also resembles the mentioned kernel patch. So change your board vendor too, when adjusting the patch!

Last edited by titopoquito; 12-07-2023 at 02:40 PM.
 
1 members found this post helpful.
Old 03-29-2024, 08:21 PM   #9
windowful
LQ Newbie
 
Registered: Sep 2007
Distribution: Slackware
Posts: 8

Rep: Reputation: 0
SOLVED!

Quote:
Originally Posted by titopoquito View Post
I had the same problem, but with a similar, not the same device. In my case a "lsmod" showed me that snd_soc_acp6x_mach was used (or at least it showed acp6x at that time). If your lsmod also shows some module like this used, you could try the following procedure.
THANK YOU!

I ran in to the exact same problem on an Acer Aspire 315-24PT and I'd gotten from other threads that if I was going to make it work I'd probably have to compile a custom kernel for the very first time in 19 years of running Linux. Your comment was the first that made it feel like this was something I could really approach and have it be no big deal. And it was, in fact, no big deal.

To anyone else feeling intimidated by it, I followed this guide. The only change I had to make was that on Debian 12 "Bookworm," I also needed to install the pahole package for the build to complete.

Since we're currently on 6.8.2, I edited sound/soc/amd/yc/acp6x-mach.c using the patch in the link as a guide instead of going through the effort of verifying that it's still valid several versions later. Having finished that, I'm pretty sure using the patch file would still work, but I technically can't swear to that today and I certainly don't want to promise you that will stay true in the future. But following the formatting of the file adding my board to the top of static const struct dmi_system_id yc_acp_quirk_table[] did the trick. It's worth noting that all of the entries use DMI_BOARD_VENDOR, while some use DMI_BOARD_NAME and others use DMI_PRODUCT_NAME to identify the relevant hardware. Since the ones at the top are all DMI_PRODUCT_NAME, I was concerned that maybe the file format had changed. It has not. I scrolled for awhile and eventually found other files using DMI_BOARD_NAME, so that's what I used.

It worked perfectly. My microphone works. As a bonus, the Realtek Wi-fi/BT card that I moved over from my old laptop to replace the MediaTek MT7902 that came in this thing and apparently has no Linux drivers was working fine for Wi-fi, but that could see but not pair with my bluetooth headset is now fully functional. I don't know if the new kernel did it or if that was a coincidence, but either way, I now have a fully functional computer, and you can too!

Last edited by windowful; 03-29-2024 at 08:29 PM.
 
Old 03-30-2024, 02:39 AM   #10
titopoquito
Senior Member
 
Registered: Jul 2004
Location: Lower Rhine region, Germany
Distribution: Slackware64 14.2 and current, SlackwareARM current
Posts: 1,646

Rep: Reputation: 146Reputation: 146
Quote:
Originally Posted by windowful View Post
THANK YOU!

I ran in to the exact same problem on an Acer Aspire 315-24PT and I'd gotten from other threads that if I was going to make it work I'd probably have to compile a custom kernel for the very first time in 19 years of running Linux. Your comment was the first that made it feel like this was something I could really approach and have it be no big deal. And it was, in fact, no big deal.

To anyone else feeling intimidated by it, I followed this guide. The only change I had to make was that on Debian 12 "Bookworm," I also needed to install the pahole package for the build to complete.

Since we're currently on 6.8.2, I edited sound/soc/amd/yc/acp6x-mach.c using the patch in the link as a guide instead of going through the effort of verifying that it's still valid several versions later. Having finished that, I'm pretty sure using the patch file would still work, but I technically can't swear to that today and I certainly don't want to promise you that will stay true in the future. But following the formatting of the file adding my board to the top of static const struct dmi_system_id yc_acp_quirk_table[] did the trick. It's worth noting that all of the entries use DMI_BOARD_VENDOR, while some use DMI_BOARD_NAME and others use DMI_PRODUCT_NAME to identify the relevant hardware. Since the ones at the top are all DMI_PRODUCT_NAME, I was concerned that maybe the file format had changed. It has not. I scrolled for awhile and eventually found other files using DMI_BOARD_NAME, so that's what I used.

It worked perfectly. My microphone works. As a bonus, the Realtek Wi-fi/BT card that I moved over from my old laptop to replace the MediaTek MT7902 that came in this thing and apparently has no Linux drivers was working fine for Wi-fi, but that could see but not pair with my bluetooth headset is now fully functional. I don't know if the new kernel did it or if that was a coincidence, but either way, I now have a fully functional computer, and you can too!
Wonderful, glad I could help! And you compiled your first kernel, that's great too
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Neither internal nor external microphone functioning. Not even USB Microphone (Debian Jessie) achim_59 Linux - Hardware 3 08-14-2016 10:48 AM
usb keyboard identified and events shown but key character not shown on the prompt flyxtop Linux - Software 0 11-30-2013 07:45 AM
Ubuntu 8.04, Dell Studio 15: How do i make internal microphone work? anotherethan Linux - Newbie 2 02-07-2009 05:00 PM
microphone doesn't work, shown red in alsamixer ryukun Linux - Hardware 0 09-29-2006 06:15 PM
While booting no option is shown for Linux! Only windows xp is shown!! mon avis Linux - General 7 08-06-2006 04:14 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Desktop

All times are GMT -5. The time now is 05:32 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration