Microphone problems with nForce 570 HDA w/ALC882 (long)
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Microphone problems with nForce 570 HDA w/ALC882 (long)
I am unable to make the microphone work on my new SN27P2 SFF machine, running Xubuntu with kernel 2.6.22.1 and ALSA v1.0.14. No matter what I do, I am simply unable to get any input from the microphone! programs such as Skype simply do not detect any sound from the microphone, despite being able to get feedback from the
The kernel outputs the following when I load the v1.0.14 snd-hda-intel driver:
Code:
ACPI: PCI Interrupt Link [AAZA] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:06.1[B] -> Link [AAZA] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:06.1 to 64
hda_codec: Unknown model for ALC882, trying auto-probe from BIOS...
After endless Google searches, I discovered that the current driver currently does not support the nForce 570 chipset implementation, leading to the last message from the driver. As a result, I tried every sensible option listed in ./alsa-kernel/Documentation/ALSA-Configuration.txt for the ALC882. The SN27P2 has the following jack configuration, from left to right:
Rear:
Code:
Front Out (Left/Right) Center/Bass
SPDIF Out (Coax) Line In Rear Out (Left/Right)
SPDIF Out (Optical) SPDIF in (Optical) Side Out (Left/Right)
Front:
Code:
Microphone Headphone
As a result, I figured that the 6stack-dig model option was the best one, and tried that first, with no success (all output from the kernel, ALSA programs or /proc is with this option in use). After trying all the others and STILL getting no success, I have run out of ideas. Can anyone (i.e. Gruemaster, whose previous posts on the HDA driver appear very helpful) help me with this?
Can anyone (i.e. Gruemaster, whose previous posts on the HDA driver appear very helpful) help me with this?
Thought I heard my name mentioned somewhere.
Excellent detailed output, this helps with my preliminary investigation, which doesn't look good initially. There is currently no support under the alc882 for your system, but I am reviewing the data and will look into a preliminary patch this weekend.
In the mean time, could you run this script and post the output? It gives me a file I can download and parse more easily.
Another system I have is experiencing similar symptoms to the above - the system is based on the Asus M2N32-SLI Deluxe motherboard with the nForce 590 chipset. This motherboard uses an Analog Devices AD1988 on its HDA bus, and has the exact same problem as the ALC882 in the SN27P2: absolutely no microphone input whatsoever.
http://pastebin.ca/663668 is the output of the alsa-info.sh script for the M2N32-SLI system (with the 6stack-dig kernel module option in use). Its jack configuration is laid out as follows:
Code:
Center/Bass Line In
Rear Out (Left/Right) Front Out (Left/Right)
SPDIF Out (Coax) SPDIF Out (Optical) Side Out (Left/Right) Microphone
Even though this motherboard has a different chip, is the underlying issue the same?
In looking at the Asus pastebin file, it looks like the microphone mixer inputs (Node 0x26) are muted. In the Shuttle output, it looks like the mic is not muted, but the capture volume is at 0.
Use alsamixer to check your mixer settings. <M> mutes, and <SPACE> selects capture device.
I really don't know what to tell you. I have no real way of telling you which control manages what. Some of the controls are defined individually by a driver function, some are auto generated based on the sound device.
What I can tell you is that for the Shuttle and "model=6stak-dig", your Mic should be on Node 0x18 and the Front Mic should be on Node 0x19. Look at /proc/asound/card0/codec#0 file as you adjust the controls. The values of Amp-In and Amp-Out correspond with the volume and mute functions. If (value & 0x80) then the node is muted (ex 0x94). You can kind of follow the chain to see where these pins end up at by looking at the connections listing. For example, Node 0x18 (Mic) is connected to Node 0x22 (Audio Mixer), which is connected to Node 0x09 (Audio Input). Both the mixer and the input are muted (Amp In Vals {0x80 0x80]).
Now, it is possible that you don't have controls to unmute them, but that is rare. If you could put a snapshot of alsamiser in both playback & capture modes (use <tab> to switch modes) up on patebin.ca, that would be helpful. I may have to hack a test patch to add some more controls until we get this right.
Thanks for your help with the Asus machine; after using alsamixer, I found the control that was still muted and managed to unmute it. My microphone now works through both the motherboard-mounted jacks and an HD-Audio breakout box that came with a computer case that I put the motherboard in.
As for this:
Quote:
Originally Posted by GrueMaster
Now, it is possible that you don't have controls to unmute them, but that is rare. If you could put a snapshot of alsamiser in both playback & capture modes (use <tab> to switch modes) up on patebin.ca, that would be helpful. I may have to hack a test patch to add some more controls until we get this right.
After looking through the ALSA-Configuration.txt file in the Linux kernel source, we tried the kernel module option position_fix=1, and to our surprise, the rear audio jacks began to work! However, we still cannot make the microphone work anywhere despite this option.
The output from amixer with the position_fix option is:
Code:
Simple mixer control 'Headphone',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [on]
Simple mixer control 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 196 [77%] [-11.80dB]
Front Right: Playback 196 [77%] [-11.80dB]
Simple mixer control 'Front',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 27 [87%] [-6.00dB] [on]
Front Right: Playback 27 [87%] [-6.00dB] [on]
Simple mixer control 'Front Mic',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 27 [87%] [6.00dB] [on]
Front Right: Playback 27 [87%] [6.00dB] [on]
Simple mixer control 'Front Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 2 [67%]
Front Right: 2 [67%]
Simple mixer control 'Surround',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 24 [77%] [-10.50dB] [on]
Front Right: Playback 24 [77%] [-10.50dB] [on]
Simple mixer control 'Center',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 31
Mono: Playback 25 [81%] [-9.00dB] [on]
Simple mixer control 'LFE',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 31
Mono: Playback 25 [81%] [-9.00dB] [on]
Simple mixer control 'Side',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 25 [81%] [-9.00dB] [on]
Front Right: Playback 25 [81%] [-9.00dB] [on]
Simple mixer control 'Line',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 26 [84%] [4.50dB] [on]
Front Right: Playback 26 [84%] [4.50dB] [on]
Simple mixer control 'CD',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 25 [81%] [3.00dB] [on]
Front Right: Playback 25 [81%] [3.00dB] [on]
Simple mixer control 'Mic',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 27 [87%] [6.00dB] [on]
Front Right: Playback 27 [87%] [6.00dB] [on]
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%]
Front Right: 3 [100%]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined cswitch cswitch-joined
Playback channels: Mono
Capture channels: Mono
Mono: Playback [on] Capture [off]
Simple mixer control 'PC Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 27 [87%] [6.00dB] [on]
Front Right: Playback 27 [87%] [6.00dB] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 24 [77%] [24.00dB] [off]
Front Right: Capture 24 [77%] [24.00dB] [off]
Simple mixer control 'Capture',1
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 25 [81%] [25.50dB] [off]
Front Right: Capture 25 [81%] [25.50dB] [off]
Simple mixer control 'Capture',2
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 25 [81%] [25.50dB] [off]
Front Right: Capture 25 [81%] [25.50dB] [off]
Simple mixer control 'Channel Mode',0
Capabilities: enum
Items: '6ch' '8ch'
Item0: '6ch'
Simple mixer control 'Digital',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 120
Front Left: Capture 96 [80%] [18.00dB]
Front Right: Capture 96 [80%] [18.00dB]
Simple mixer control 'Input Source',0
Capabilities: enum
Items: 'Mic' 'Front Mic' 'Line' 'CD'
Item0: 'Front Mic'
Simple mixer control 'Input Source',1
Capabilities: enum
Items: 'Mic' 'Front Mic' 'Line' 'CD'
Item0: 'CD'
Simple mixer control 'Input Source',2
Capabilities: enum
Items: 'Mic' 'Front Mic' 'Line' 'CD'
Item0: 'Line'
I tried using the amixer command to manually unmute and modify the volume configuration on the microphone controls, but without any success.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.