Re: [alsa-devel] 1.0.16rc1 release -- error: 'system_utsname' undeclared
At Fri, 25 Jan 2008 22:48:43 +1100, Rick Measham wrote:
Rick Measham wrote:
dmesg tells me there are zero speaker_outs. So I figure it didn't auto-detect them, and there are no pins specified for this exact setup.
Takashi Iwai wrote:
OK, it means that either the BIOS set up is broken or the preset pincfg is broken. Could you check which board_config is chosen for your device? It's selected via PCI SSID (see lspci -nv output).
If it's a bugin preset pincfg, it'd be realtivelyeasy to fix (once after we figure out which pin corresponds to the spekaer output).
I'm certainly hoping for the latter .. and it looks hopeful
00:1b.0 0403: 8086:27d8 (rev 01) Subsystem: 1028:01bf Flags: bus master, fast devsel, latency 0, IRQ 21 Memory at dfffc000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Capabilities: [70] Express Unknown type IRQ 0
Lines up with: /* STAC 922X pin configs for 102801BF */ static unsigned int dell_922x_m81_pin_configs[10] = { 0x0321101f, 0x01112024, 0x01111222, 0x91174220, 0x03a11050, 0x01116221, 0x90a70330, 0x01452340, 0x40C003f1, 0x405003f0, };
So it certainly looks like we might have some hope?
It's listed as "unknown Dell" .. so let me fill that blank: It's the XPS M2010.
Now for the billion dollar question: How do I work out what the pin_configs SHOULD be? I can play guess-the-number, but that's going to take some time and I'd guess a lot of crashing!
That pin config actually looks strange. It defines 4 "speaker" outputs. The autocfg routine in hda-intel driver switches these speaker outputs to line-outs (just for compatibility issue). That's why you don't see any speaker there.
The patch below is a quick fix to change the jack types for 3 outputs. Give it a try.
Now more questions:
- Does your machine have 3 output jacks in addition to HP?
- What is the content of /proc/asound/card0/codec#* when you load the driver with model=auto? After setting it, reboot so that BIOS resets the configuration.
- Show both codec#* files for model=auto and without model option.
thanks,
Takashi
---
diff -r 19029da61288 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Fri Jan 25 11:56:57 2008 +0100 +++ b/pci/hda/patch_sigmatel.c Fri Jan 25 13:04:20 2008 +0100 @@ -1273,8 +1273,8 @@ static unsigned int dell_922x_d82_pin_co 102801BF */ static unsigned int dell_922x_m81_pin_configs[10] = { - 0x0321101f, 0x01112024, 0x01111222, 0x91174220, - 0x03a11050, 0x01116221, 0x90a70330, 0x01452340, + 0x0321101f, 0x01012024, 0x01011222, 0x91174220, + 0x03a11050, 0x01016221, 0x90a70330, 0x01452340, 0x40C003f1, 0x405003f0, };
Takashi Iwai wrote:
That pin config actually looks strange. It defines 4 "speaker" outputs. The autocfg routine in hda-intel driver switches these speaker outputs to line-outs (just for compatibility issue). That's why you don't see any speaker there.
The patch below is a quick fix to change the jack types for 3 outputs. Give it a try.
Tried it, speaker-test still gives no sound out the internal speakers
dmesg, however, now shows 1 speaker: [ 7023.408000] ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2859: speaker_outs=1 (0xd/0x0/0x0/0x0/0x0)
Now more questions:
- Does your machine have 3 output jacks in addition to HP?
There's the HP and Mic on the left-hand-side and then on the back is an S/PDIF port that has an adapter with a whole pile of inputs and outputs. I don't know what they all do, so maybe if I just take a photo, it will help: http://rick.measham.id.au/paste/spdif.jpg
What is the content of /proc/asound/card0/codec#* when you load the driver with model=auto? After setting it, reboot so that BIOS resets the configuration.
Show both codec#* files for model=auto and without model option.
They appear to be exactly the same ..
# tail -n1 /etc/modprobe.d/alsa-base options snd-hda-intel model=auto
# cat /proc/asound/card0/codec#0 Codec: SigmaTel STAC9221 A1 Address: 0 Vendor Id: 0x83847680 Subsystem Id: 0x102801bf Revision Id: 0x103601 No Modem Function Group found Default PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=1 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x7f 0x7f] Power: 0x0 Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Power: 0x0 Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Power: 0x0 Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x7f 0x7f] Power: 0x0 Node 0x06 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x17 Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x18 Node 0x08 [Audio Output] wcaps 0x40211: Stereo Digital PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Node 0x09 [Audio Input] wcaps 0x140311: Stereo Digital PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Connection: 1 0x11 Node 0x0a [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black EAPD: 0x0 Pin-ctls: 0xc0: OUT HP Connection: 1 0x02 Node 0x0b [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01012024: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Grey EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x04 Node 0x0c [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01011222: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Black EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x03 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x91174220: [Fixed] Speaker at Int Rear Conn = Analog, Color = Green EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x02 Node 0x0e [Pin Complex] wcaps 0x400081: Stereo Pincap 0x0824: IN Detect Pin Default 0x03a11050: [Jack] Mic at Ext Left Conn = 1/8, Color = Black EAPD: 0x0 Pin-ctls: 0x20: IN Node 0x0f [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0837: IN OUT Detect Pin Default 0x01016221: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Orange EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x05 Node 0x10 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x90a70330: [Fixed] Mic at Int N/A Conn = Analog, Color = Unknown EAPD: 0x0 Pin-ctls: 0x00: Connection: 3 0x08* 0x17 0x19 Node 0x11 [Pin Complex] wcaps 0x430681: Stereo Digital Pincap 0x0810024: IN EAPD Detect Pin Default 0x01452340: [Jack] SPDIF Out at Ext Rear Conn = Optical, Color = Grey EAPD: 0x0 Pin-ctls: 0x00: Power: 0x0 Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 7 0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a Node 0x13 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 7 0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a Node 0x14 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0 Amp-Out vals: [0x00] Node 0x15 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x0820: IN Pin Default 0x40c003f1: [N/A] SPDIF In at Ext N/A Conn = Unknown, Color = Unknown Pin-ctls: 0x00: Node 0x16 [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=127 Connection: 4 0x02* 0x03 0x04 0x05 Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x80 0x80] Connection: 1 0x12 Node 0x18 [Audio Selector] wcaps 0x300903: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x13 Node 0x19 [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital Node 0x1a [Audio Output] wcaps 0x30201: Stereo Digital Node 0x1b [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x405003f0: [N/A] Digital Out at Ext N/A Conn = Unknown, Color = Unknown Pin-ctls: 0x00: Connection: 1 0x1a
# cat /proc/asound/card0/codec#1 Codec: Conexant ID 2bfa Address: 1 Vendor Id: 0x14f12bfa Subsystem Id: 0x14f100c3 Revision Id: 0x90000 Modem Function Group: 0x2
++ REMOVED the options line and restarted
# tail -n1 /etc/modprobe.d/alsa-base #options snd-hda-intel model=auto
# cat /proc/asound/card0/codec#0 Codec: SigmaTel STAC9221 A1 Address: 0 Vendor Id: 0x83847680 Subsystem Id: 0x102801bf Revision Id: 0x103601 No Modem Function Group found Default PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=1 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x7f 0x7f] Power: 0x0 Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Power: 0x0 Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Power: 0x0 Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x7f 0x7f] Power: 0x0 Node 0x06 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x17 Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x18 Node 0x08 [Audio Output] wcaps 0x40211: Stereo Digital PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Node 0x09 [Audio Input] wcaps 0x140311: Stereo Digital PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Connection: 1 0x11 Node 0x0a [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black EAPD: 0x0 Pin-ctls: 0xc0: OUT HP Connection: 1 0x02 Node 0x0b [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01012024: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Grey EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x04 Node 0x0c [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01011222: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Black EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x03 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x91174220: [Fixed] Speaker at Int Rear Conn = Analog, Color = Green EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x02 Node 0x0e [Pin Complex] wcaps 0x400081: Stereo Pincap 0x0824: IN Detect Pin Default 0x03a11050: [Jack] Mic at Ext Left Conn = 1/8, Color = Black EAPD: 0x0 Pin-ctls: 0x20: IN Node 0x0f [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0837: IN OUT Detect Pin Default 0x01016221: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Orange EAPD: 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x05 Node 0x10 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x90a70330: [Fixed] Mic at Int N/A Conn = Analog, Color = Unknown EAPD: 0x0 Pin-ctls: 0x00: Connection: 3 0x08* 0x17 0x19 Node 0x11 [Pin Complex] wcaps 0x430681: Stereo Digital Pincap 0x0810024: IN EAPD Detect Pin Default 0x01452340: [Jack] SPDIF Out at Ext Rear Conn = Optical, Color = Grey EAPD: 0x0 Pin-ctls: 0x00: Power: 0x0 Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 7 0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a Node 0x13 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 7 0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a Node 0x14 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0 Amp-Out vals: [0x00] Node 0x15 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x0820: IN Pin Default 0x40c003f1: [N/A] SPDIF In at Ext N/A Conn = Unknown, Color = Unknown Pin-ctls: 0x00: Node 0x16 [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=127 Connection: 4 0x02* 0x03 0x04 0x05 Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x80 0x80] Connection: 1 0x12 Node 0x18 [Audio Selector] wcaps 0x300903: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x13 Node 0x19 [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital Node 0x1a [Audio Output] wcaps 0x30201: Stereo Digital Node 0x1b [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x405003f0: [N/A] Digital Out at Ext N/A Conn = Unknown, Color = Unknown Pin-ctls: 0x00: Connection: 1 0x1a
# cat /proc/asound/card0/codec#1 Codec: Conexant ID 2bfa Address: 1 Vendor Id: 0x14f12bfa Subsystem Id: 0x14f100c3 Revision Id: 0x90000 Modem Function Group: 0x2
At Sat, 26 Jan 2008 00:33:06 +1100, Rick Measham wrote:
Takashi Iwai wrote:
That pin config actually looks strange. It defines 4 "speaker" outputs. The autocfg routine in hda-intel driver switches these speaker outputs to line-outs (just for compatibility issue). That's why you don't see any speaker there.
The patch below is a quick fix to change the jack types for 3 outputs. Give it a try.
Tried it, speaker-test still gives no sound out the internal speakers
dmesg, however, now shows 1 speaker: [ 7023.408000] ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2859: speaker_outs=1 (0xd/0x0/0x0/0x0/0x0)
Now more questions:
- Does your machine have 3 output jacks in addition to HP?
There's the HP and Mic on the left-hand-side and then on the back is an S/PDIF port that has an adapter with a whole pile of inputs and outputs. I don't know what they all do, so maybe if I just take a photo, it will help: http://rick.measham.id.au/paste/spdif.jpg
What is the content of /proc/asound/card0/codec#* when you load the driver with model=auto? After setting it, reboot so that BIOS resets the configuration.
Show both codec#* files for model=auto and without model option.
They appear to be exactly the same ..
# tail -n1 /etc/modprobe.d/alsa-base options snd-hda-intel model=auto
After adding model=auto, then reboot and get a proc file. The result you attached is the overridden one.
BTW, please update to the very latest HG version. I see that you are still using the older version. The newer version should have more detailed proc output.
If I understand correctly, the speaker output on this laptop has never worked, so far, right?
thanks,
Takashi
Takashi Iwai wrote:
After adding model=auto, then reboot and get a proc file. The result you attached is the overridden one.
Hmm .. that's what I did ..
BTW, please update to the very latest HG version. I see that you are still using the older version. The newer version should have more detailed proc output.
It's 24 hours old (or maybe 48?) but OK, I'll do that
If I understand correctly, the speaker output on this laptop has never worked, so far, right?
Never. For anyone using Linux :-/
I'll grab the latest Hg in the morning (it's 0050 here) and try again.
Thanks HEAPS!
Cheers! Rick Measham
At Sat, 26 Jan 2008 00:51:58 +1100, Rick Measham wrote:
Takashi Iwai wrote:
After adding model=auto, then reboot and get a proc file. The result you attached is the overridden one.
Hmm .. that's what I did ..
OK, then it's indeed so. Interesting that the pincfg is identical with the *modified* preset.
BTW, please update to the very latest HG version. I see that you are still using the older version. The newer version should have more detailed proc output.
It's 24 hours old (or maybe 48?) but OK, I'll do that
Hm... is it from hg.alsa-project.org?
The newest changeset is: changeset: 5771:19029da61288 tag: tip user: tiwai date: Fri Jan 25 11:56:57 2008 +0100 summary: hda-codec - Add missing slave for AD1884 master switch
Check "hg log" whether it matches.
If I understand correctly, the speaker output on this laptop has never worked, so far, right?
Never. For anyone using Linux :-/
Then this is at least no regression. A good thing (let's think positively :)
Seriously, another missing thing can be either EAPD on this widget or EAPD via GPIO. In the former case, the patch like below might fix. In the latter case, you'd need to add the following line appropriately in patch_stac922x():
spec->gpio_mask = spec->gpio_data = 0x01;
The value 0x01 can vary depending on the machine implementation. Try different values if the above doesn't work.
Takashi
---
diff -r 19029da61288 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Fri Jan 25 11:56:57 2008 +0100 +++ b/pci/hda/patch_sigmatel.c Fri Jan 25 15:18:03 2008 +0100 @@ -610,6 +610,7 @@ static struct hda_verb stac922x_core_ini static struct hda_verb stac922x_core_init[] = { /* set master volume and direct control */ { 0x16, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, + { 0x0d, AC_VERB_SET_EAPD_BTLENABLE, 0x02 }, /* EAPD on speaker */ {} };
participants (2)
-
Rick Measham
-
Takashi Iwai