Bug 66321
Summary: | AD1984A Unable to produce sound after updating to 3.12.0 | ||
---|---|---|---|
Product: | Drivers | Reporter: | reg |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | tiwai |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.12.2 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
alsa-info under 3.12.2 which is not producing sound
alsa-info under modified 3.12.2 with files from 3.11.6, working normally Test fix patch |
Description
reg
2013-12-02 08:52:19 UTC
Please give alsa-info.sh output. Run it with --no-upload option and attach to bugzilla (don't paste). Also, at best, give alsa-info.sh outputs on both working and non-working kernels, so that we can compare the results easily. Created attachment 117131 [details]
alsa-info under 3.12.2 which is not producing sound
Created attachment 117141 [details]
alsa-info under modified 3.12.2 with files from 3.11.6, working normally
Thanks. Through a quick glance, the major differences are EAPD on each output pin. Try the following: hda-verb /dev/snd/hwC0D0 0x16 SET_EAPD 0x00 hda-verb /dev/snd/hwC0D0 0x12 SET_EAPD 0x00 BTW, "PCM Playback Volume" is set relatively low in your setup. Try to adjust it to 0dB. amixer -c0 set PCM 0dB Also, which output are you testing? Don't both speaker and headphone outputs work? Yet another thing to test. The following might be needed for HP machines, too: hda-verb /dev/snd/hwC0D0 0x1c SET_PIN_WID 0x40 If the EAPD change in comment 5 doesn't give any difference, try this instead. Thank you very much for the prompt reply. After I performed the setting for EAPD, I can finally hear a faint sound. Although under 3.11.6, this setting will produce sufficient volume. Now pushing everything to maximum will produce acceptable volume. Thank you again for solving this problem for me! Good to hear. Now need to understand what's really going wrong, and need to modify the driver accordingly... Which command did fix the issue actually? The one for 0x16 or for 0x12? In 3.11.x, EAPD on 0x16 is turned on/off dynamically per the headphone plugging, but EAPD on 0x12 is untouched. You can turn each of them on by writing 0x20, e.g. hda-verb /dev/snd/hwC0D0 0x12 SET_EAPD 0x20 so you'll be able to figure out which setup breaks which output. Upon testing, it should be 0x12 that breaks the output Wish this could help OK, could you check whether the patch below fixes the problem with 3.12.x? Created attachment 117151 [details]
Test fix patch
(BTW please don't change to RESOLVED/CODE_FIX, as we didn't fix any code yet :) recompiled the kernel with this fix, now working perfectly Thanks for a quick check. The patch is merged now, so finally we can close as CODE_FIX :) |