Skip to contentSkip to conversation

Undelivered Mail Returned to Sender

PATCH In review Andrei Tanas 4 participants 7 messages Nov 15, 2008 – Nov 17, 2008 3 messages not in the archive Sound

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 6d799ca1be9af898f664f82ade06d669@localhost

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 12 lines
Quoted 12 lines
Quoted 4 lines
Quoted 1 line

And here's "cat /proc/asound/card0/codec#0"

This is the regular codec.
Are there /proc/asound/card0/codec#{1,2,3}?

There was only one.

Quoted 2 lines

The HDMI codec would look like this one:
% cat /proc/asound/card0/codec\#3

Quoted 4 lines
Quoted 4 lines

I saw nothing like that.

Does your main board have an external physical HDMI interface? If true, then there is an ALSA bug.

Yes, there's physical HDMI port on the card, which, according to the documentation, supports both video and audio.
However, there's also "SPDIF OUT Mode Setting" in the BIOS allowing to choose between "HDMI Output" or "SPDIF Output", suggesting that only one can be used at a time. The description is not terribly clear though.

Quoted 3 lines
Quoted 1 line

Will it help to enable SND_VERBOSE_PRINTK and SND_DEBUG?

Sure it could help, and be sure to use the latest sound-2.6 git tree :-)

Ok, I've done this.
Here's "aplay -l"

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC1200 Analog [ALC1200 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC1200 Digital [ALC1200 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0

And here's "dmesg"

[    8.513848] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) ->
IRQ 22
[    8.514001] HDA Intel 0000:00:1b.0: setting latency timer to 64
[    8.514005] ALSA sound/pci/hda/hda_intel.c:2187: chipset global
capabilities = 0x4401
[    8.543345] ALSA sound/pci/hda/hda_intel.c:779: codec_mask = 0x3
[    8.543487] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #0
probed OK
[    8.545462] ALSA sound/pci/hda/hda_codec.c:2587: hda_codec: model

'6stack-dig' is selected

[    8.574845] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Headphone Playback Volume, skipped
[    8.574947] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Speaker Playback Volume, skipped
[    8.575043] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave Mono
Playback Volume, skipped
[    8.575135] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Line-Out Playback Volume, skipped
[    8.575231] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave PCM
Playback Volume, skipped
[    8.575337] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Speaker Playback Switch, skipped
[    8.575435] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave Mono

Playback Switch, skipped

[  105.312682] ALSA sound/pci/hda/hda_codec.c:853: hda_codec_cleanup_stream:
NID=0x6
[  106.707933] ALSA sound/pci/hda/hda_intel.c:1464: azx_pcm_prepare:
bufsize=0x10000, format=0x11
[  106.707951] ALSA sound/pci/hda/hda_codec.c:841: hda_codec_setup_stream:
NID=0x6, stream=0x5, channel=0, format=0x11
..........
[  110.479724] ALSA sound/pci/hda/hda_intel.c:1464: azx_pcm_prepare:
bufsize=0x10000, format=0x11
[  110.479740] ALSA sound/pci/hda/hda_codec.c:841: hda_codec_setup_stream:
NID=0x6, stream=0x5, channel=0, format=0x11
[  200.715073] ALSA sound/pci/hda/hda_codec.c:853: hda_codec_cleanup_stream:

NID=0x6

A message that is not in the archive (sent off-list or not yet received): 20081116021525.GA7795@localhost

#4 lore raw

Re: digital audio on ASUS P5QL-EM motherboard

Quoted 2 lines

It seems that there are two problems:
- the SPDIF output PID for you board is 0x10 instead of 0x06

You are right about this, it works with the patch you provided, with one
caveat: ALC1200 uses ALC883 patch, so instead of changing ALC882_DIGOUT_NID, I changed ALC883_DIGOUT_NID.
How did you find out that it's 0x10 instead of 0x06? Has documentation on ALC1200 become available?

Quoted 1 line

- codec#1 is not probed properly

I was responsible for the confusion with the missing codec. I set probe_mask=1 parameter (as suggested in some forum as a troubleshooting option for ALC1200) without trying to understand what it does. The probing actually seems to work correctly.

Model autodetection:
lspci -nn -vvv shows:
00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e]
Subsystem: ASUSTeK Computer Inc. Device [1043:82fe]

So this SND_PCI_QUIRK fixes it (except that it's currently relying on the temporary hack)

sound/pci/hda/patch_realtek.c +1 -0
@@ -8206,6 +8206,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
        SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP),
        SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP),
        SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
+       SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q", ALC883_6ST_DIG),
        SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
        SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI",

ALC883_3ST_6ch_DIG),

        SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_ASUS_EEE1601),

Thank you.

---------------------- aplay -l ----------------------
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC1200 Analog [ALC1200 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC1200 Digital [ALC1200 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: INTEL HDMI [INTEL HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0

---------------------- aplay -L (with model=6stack-dig)
----------------------
front:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
HDA Intel, ALC1200 Digital
IEC958 (S/PDIF) Digital Audio Output
null
Discard all samples (playback) or generate zero samples (capture)

---------------------- aplay -L (default options) ---------------------- front:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, ALC1200 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
Discard all samples (playback) or generate zero samples (capture)

---------------------- dmesg (with model=6stack-dig ) ----------------------

[    8.442560] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) ->
IRQ 22
[    8.442686] HDA Intel 0000:00:1b.0: setting latency timer to 64
[    8.442690] ALSA sound/pci/hda/hda_intel.c:2196: chipset global
capabilities = 0x4401
[    8.466673] ALSA sound/pci/hda/hda_intel.c:779: codec_mask = 0x3
[    8.466753] ALSA sound/pci/hda/hda_intel.c:1256: max_slots = 4,
codec_mask = 3, codec_probe_mask = -1
[    8.466889] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #0
probed OK
[    8.467018] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #1
probed OK
[    8.490429] usb 3-1: reset full speed USB device using uhci_hcd and
address 2
[    8.637617] lirc_dev: lirc_register_plugin: sample_rate: 0
[    8.641615] lirc_mceusb2[2]: Philips eHome Infrared Transceiver on usb3:2
[    8.641689] usbcore: registered new interface driver lirc_mceusb2
[    9.470007] ALSA sound/pci/hda/hda_intel.c:627: hda_intel:
azx_get_response timeout, switching to polling mode: last cmd=0x200f0000
[   10.473336] ALSA sound/pci/hda/hda_intel.c:1271: hda_intel: Codec #2
probe error; disabling it...
[   11.503338] ALSA sound/pci/hda/hda_intel.c:1271: hda_intel: Codec #3
probe error; disabling it...
[   11.531911] ALSA sound/pci/hda/hda_codec.c:2587: hda_codec: model
'6stack-dig' is selected
[   11.558144] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Headphone Playback Volume, skipped
[   11.558237] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Speaker Playback Volume, skipped
[   11.558330] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave Mono
Playback Volume, skipped
[   11.558422] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Line-Out Playback Volume, skipped
[   11.558514] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave PCM
Playback Volume, skipped
[   11.558610] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Speaker Playback Switch, skipped
[   11.558702] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave Mono
Playback Switch, skipped
************** playback on **************
[  159.960545] ALSA sound/pci/hda/hda_intel.c:1473: azx_pcm_prepare:
bufsize=0x10000, format=0x11
[  159.960567] ALSA sound/pci/hda/hda_codec.c:841: hda_codec_setup_stream:
NID=0x10, stream=0x5, channel=0, format=0x11
[  161.613092] ALSA sound/pci/hda/hda_codec.c:853: hda_codec_cleanup_stream:
NID=0x10
[  161.613168] ALSA sound/pci/hda/hda_codec.c:853: hda_codec_cleanup_stream:

NID=0x10
************** playback off **************

---------------------- dmesg (no parameters) ----------------------

[    8.972060] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) ->
IRQ 22
[    8.972187] HDA Intel 0000:00:1b.0: setting latency timer to 64
[    8.972191] ALSA sound/pci/hda/hda_intel.c:2196: chipset global
capabilities = 0x4401
[    8.996673] ALSA sound/pci/hda/hda_intel.c:779: codec_mask = 0x3
[    8.996754] ALSA sound/pci/hda/hda_intel.c:1256: max_slots = 4,
codec_mask = 3, codec_probe_mask = -1
[    8.996896] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #0
probed OK
[    8.997016] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #1
probed OK
[   10.000009] ALSA sound/pci/hda/hda_intel.c:627: hda_intel:
azx_get_response timeout, switching to polling mode: last cmd=0x200f0000
[   11.003343] ALSA sound/pci/hda/hda_intel.c:1271: hda_intel: Codec #2
probe error; disabling it...
[   12.033342] ALSA sound/pci/hda/hda_intel.c:1271: hda_intel: Codec #3
probe error; disabling it...
[   12.061914] hda_codec: Unknown model for ALC883, trying auto-probe from
BIOS...
[   12.062480] ALSA sound/pci/hda/hda_codec.c:3303: autoconfig: line_outs=4
(0x14/0x15/0x16/0x17/0x0)
[   12.062482] ALSA sound/pci/hda/hda_codec.c:3307:    speaker_outs=0
(0x0/0x0/0x0/0x0/0x0)
[   12.062484] ALSA sound/pci/hda/hda_codec.c:3311:    hp_outs=1
(0x1b/0x0/0x0/0x0/0x0)
[   12.062485] ALSA sound/pci/hda/hda_codec.c:3312:    mono: mono_out=0x0
[   12.062487] ALSA sound/pci/hda/hda_codec.c:3320:    inputs: mic=0x18,
fmic=0x19, line=0x1a, fline=0x0, cd=0x0, aux=0x0
[   12.092487] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Headphone Playback Volume, skipped
[   12.092581] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Speaker Playback Volume, skipped
[   12.092673] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave Mono
Playback Volume, skipped
[   12.092764] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Line-Out Playback Volume, skipped
[   12.092856] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave PCM
Playback Volume, skipped
[   12.092953] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave
Speaker Playback Switch, skipped
[   12.093043] ALSA sound/pci/hda/hda_codec.c:1276: Cannot find slave Mono

Playback Switch, skipped

#5 lore raw

Re: digital audio on ASUS P5QL-EM motherboard

Quoted 22 lines

Model autodetection:
lspci -nn -vvv shows:
00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD
Audio Controller [8086:3a3e]
Subsystem: ASUSTeK Computer Inc. Device [1043:82fe]

So this SND_PCI_QUIRK fixes it (except that it's currently relying on the
temporary hack)

sound/pci/hda/patch_realtek.c +1 -0
@@ -8206,6 +8206,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
        SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP),
        SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP),
        SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
+       SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q", ALC883_6ST_DIG),
        SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
        SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI",
 ALC883_3ST_6ch_DIG),
        SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601",
Quoted 1 line

ALC888_ASUS_EEE1601),

And here's dmesg for this (with the hda-intel.c patch reversed):

[    8.439326] ALSA sound/pci/hda/hda_intel.c:2187: chipset global
capabilities = 0x4401
[    8.463340] ALSA sound/pci/hda/hda_intel.c:779: codec_mask = 0x3
[    8.463452] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #0
probed OK
[    8.463580] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #1
probed OK
[    8.465558] ALSA sound/pci/hda/hda_codec.c:2612: hda_codec: model

'6stack-dig' is selected for config 1043:82fe (Asus P5Q)

#6 lore raw

Re: digital audio on ASUS P5QL-EM motherboard

In reply to Andrei Tanas
Quoted 5 lines · Andrei Tanas
Quoted 2 lines

It seems that there are two problems:
- the SPDIF output PID for you board is 0x10 instead of 0x06

You are right about this, it works with the patch you provided, with one
caveat: ALC1200 uses ALC883 patch, so instead of changing ALC882_DIGOUT_NID, I changed ALC883_DIGOUT_NID.

Thank you!

You are the kind of smart people that are pleasant to work with ;-)

Quoted 2 lines

How did you find out that it's 0x10 instead of 0x06? Has documentation on ALC1200 become available?

It's easy:

grep -i -C6 spdif /proc/asound/card0/codec\#0 grep -i -C6 'stereo digital' /proc/asound/card0/codec\#0

And check the connectivity between pin complex and audio output nodes.

Quoted 5 lines
Quoted 1 line

- codec#1 is not probed properly

I was responsible for the confusion with the missing codec. I set probe_mask=1 parameter (as suggested in some forum as a troubleshooting option for ALC1200) without trying to understand what it does. The probing actually seems to work correctly.

Thanks for the clarification. I failed to figure out by reading the code why codec#1 is silently ignored, hence the brute force print-and-reset hack.

Now you can do a 'cat /proc/asound/card0/codec\#1' and read about the HDMI codec. For it to work, you may need the bleeding edge Xorg drivers.

Quoted 19 lines

Model autodetection:
lspci -nn -vvv shows:
00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e]
Subsystem: ASUSTeK Computer Inc. Device [1043:82fe]

So this SND_PCI_QUIRK fixes it (except that it's currently relying on the temporary hack)

sound/pci/hda/patch_realtek.c +1 -0
@@ -8206,6 +8206,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
        SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP),
        SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP),
        SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
+       SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q", ALC883_6ST_DIG),
        SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
        SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI",
 ALC883_3ST_6ch_DIG),
Quoted 1 line
        SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_ASUS_EEE1601),

So let's create a new model?

Thank you,
Fengguang

---
 sound/pci/hda/patch_realtek.c |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)
sound/pci/hda/patch_realtek.c +16 -0
@@ -232,6 +232,7 @@ enum {
 	ALC883_3ST_6ch_INTEL,
 	ALC888_ASUS_M90V,
 	ALC888_ASUS_EEE1601,
+	ALC1200_ASUS_P5Q,
 	ALC883_AUTO,
 	ALC883_MODEL_LAST,
 };
@@ -6868,6 +6869,8 @@ static int patch_alc882(struct hda_codec
 #define ALC883_DIGOUT_NID	0x06
 #define ALC883_DIGIN_NID	0x0a
 
+#define ALC883_DIGOUT_NID_ASUS_P5Q	0x10
+
 static hda_nid_t alc883_dac_nids[4] = {
 	/* front, rear, clfe, rear_surr */
 	0x02, 0x03, 0x04, 0x05
@@ -8190,6 +8193,7 @@ static const char *alc883_models[ALC883_
 	[ALC883_CLEVO_M720]	= "clevo-m720",
 	[ALC883_FUJITSU_PI2515] = "fujitsu-pi2515",
 	[ALC883_3ST_6ch_INTEL]	= "3stack-6ch-intel",
+	[ALC1200_ASUS_P5Q]	= "asus-p5q",
 	[ALC883_AUTO]		= "auto",
 };
 
@@ -8208,6 +8212,7 @@ static struct snd_pci_quirk alc883_cfg_t
 	SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
 	SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
 	SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI", ALC883_3ST_6ch_DIG),
+	SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q-EM HDMI", ALC1200_ASUS_P5Q),
 	SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_ASUS_EEE1601),
 	SND_PCI_QUIRK(0x105b, 0x0ce8, "Foxconn P35AX-S", ALC883_6ST_DIG),
 	SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC883_6ST_DIG),
@@ -8555,6 +8560,17 @@ static struct alc_config_preset alc883_p
 		.unsol_event = alc883_eee1601_unsol_event,
 		.init_hook = alc883_eee1601_inithook,
 	},
+	[ALC1200_ASUS_P5Q] = {
+		.mixers = { alc883_base_mixer, alc883_chmode_mixer },
+		.init_verbs = { alc883_init_verbs },
+		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
+		.dac_nids = alc883_dac_nids,
+		.dig_out_nid = ALC883_DIGOUT_NID_ASUS_P5Q,
+		.dig_in_nid = ALC883_DIGIN_NID,
+		.num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes),
+		.channel_mode = alc883_sixstack_modes,
+		.input_mux = &alc883_capture_source,
+	},
 };
#7 lore raw

Re: digital audio on ASUS P5QL-EM motherboard

Quoted 9 lines
Quoted 1 line

How did you find out that it's 0x10 instead of 0x06? Has

documentation on

Quoted 1 line

ALC1200 become available?

It's easy:
grep -i -C6 spdif /proc/asound/card0/codec\#0 grep -i -C6 'stereo digital' /proc/asound/card0/codec\#0

And check the connectivity between pin complex and audio output nodes.

That's the kind of stuff that would be great to know for somebody who wants to troubleshoot something for the first time. Thanks.

Quoted 3 lines

Now you can do a 'cat /proc/asound/card0/codec\#1' and read about the HDMI codec. For it to work, you may need the bleeding edge Xorg drivers.

That will be for somebody else to test I guess, I don't have the hardware - it turns out my TV does not take digital audio through its HDMI port.

Quoted 1 line

So let's create a new model?

I should have gave it a shot myself I guess.

Quoted 1 line

+#define ALC883_DIGOUT_NID_ASUS_P5Q 0x10

Why not ALC1200_DIGOUT_NID? Or is it really specific to Asus P5Q?

The patch worked perfectly.

Thank you,
Andrei.

Dmesg:

[    8.666785] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #0
probed OK
[    8.666912] ALSA sound/pci/hda/hda_intel.c:1206: hda_intel: codec #1
probed OK
[    8.668891] ALSA sound/pci/hda/hda_codec.c:2612: hda_codec: model

'asus-p5q' is selected for config 1043:82fe (Asus P5Q-EM HDMI)

#8 lore raw

PATCH 1/1 hda: alc883 model for ASUS P5Q-EM boards

Quoted 11 lines · Andrei Tanas
Quoted 9 lines
Quoted 1 line

How did you find out that it's 0x10 instead of 0x06? Has

documentation on

Quoted 1 line

ALC1200 become available?

It's easy:
grep -i -C6 spdif /proc/asound/card0/codec\#0 grep -i -C6 'stereo digital' /proc/asound/card0/codec\#0

And check the connectivity between pin complex and audio output nodes.

That's the kind of stuff that would be great to know for somebody who wants to troubleshoot something for the first time. Thanks.

You are welcome.

Quoted 5 lines
Quoted 3 lines

Now you can do a 'cat /proc/asound/card0/codec\#1' and read about the HDMI codec. For it to work, you may need the bleeding edge Xorg drivers.

That will be for somebody else to test I guess, I don't have the hardware - it turns out my TV does not take digital audio through its HDMI port.

That's fine.

The G45 HDMI has worked on our boards, so chances are good for others.

Quoted 5 lines
Quoted 1 line

So let's create a new model?

I should have gave it a shot myself I guess.

Quoted 1 line

+#define ALC883_DIGOUT_NID_ASUS_P5Q 0x10

Why not ALC1200_DIGOUT_NID? Or is it really specific to Asus P5Q?

I'm not really sure, but ALC1200_DIGOUT_NID does look like a better name :-)

Quoted 1 line

The patch worked perfectly.

Thank you.

Fengguang
---

hda: alc883 model for ASUS P5Q-EM boards

Add a new alc883 model ALC1200_ASUS_P5Q for ASUS P5Q-EM boards. It is the same as ALC883_6ST_DIG except that the SPDIF digital output nid is 0x10.

---
 sound/pci/hda/patch_realtek.c |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)
sound/pci/hda/patch_realtek.c +16 -0
@@ -232,6 +232,7 @@ enum {
 	ALC883_3ST_6ch_INTEL,
 	ALC888_ASUS_M90V,
 	ALC888_ASUS_EEE1601,
+	ALC1200_ASUS_P5Q,
 	ALC883_AUTO,
 	ALC883_MODEL_LAST,
 };
@@ -6868,6 +6869,8 @@ static int patch_alc882(struct hda_codec
 #define ALC883_DIGOUT_NID	0x06
 #define ALC883_DIGIN_NID	0x0a
 
+#define ALC1200_DIGOUT_NID	0x10
+
 static hda_nid_t alc883_dac_nids[4] = {
 	/* front, rear, clfe, rear_surr */
 	0x02, 0x03, 0x04, 0x05
@@ -8190,6 +8193,7 @@ static const char *alc883_models[ALC883_
 	[ALC883_CLEVO_M720]	= "clevo-m720",
 	[ALC883_FUJITSU_PI2515] = "fujitsu-pi2515",
 	[ALC883_3ST_6ch_INTEL]	= "3stack-6ch-intel",
+	[ALC1200_ASUS_P5Q]	= "asus-p5q",
 	[ALC883_AUTO]		= "auto",
 };
 
@@ -8208,6 +8212,7 @@ static struct snd_pci_quirk alc883_cfg_t
 	SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
 	SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
 	SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI", ALC883_3ST_6ch_DIG),
+	SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q-EM HDMI", ALC1200_ASUS_P5Q),
 	SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_ASUS_EEE1601),
 	SND_PCI_QUIRK(0x105b, 0x0ce8, "Foxconn P35AX-S", ALC883_6ST_DIG),
 	SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC883_6ST_DIG),
@@ -8555,6 +8560,17 @@ static struct alc_config_preset alc883_p
 		.unsol_event = alc883_eee1601_unsol_event,
 		.init_hook = alc883_eee1601_inithook,
 	},
+	[ALC1200_ASUS_P5Q] = {
+		.mixers = { alc883_base_mixer, alc883_chmode_mixer },
+		.init_verbs = { alc883_init_verbs },
+		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
+		.dac_nids = alc883_dac_nids,
+		.dig_out_nid = ALC1200_DIGOUT_NID,
+		.dig_in_nid = ALC883_DIGIN_NID,
+		.num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes),
+		.channel_mode = alc883_sixstack_modes,
+		.input_mux = &alc883_capture_source,
+	},
 };
#9 lore raw

Re: [PATCH] hda: alc883 model for ASUS P5Q-EM boards

At Mon, 17 Nov 2008 08:50:38 +0800,

Quoted 41 lines · Wu Fengguang
Quoted 11 lines · Andrei Tanas
Quoted 9 lines
Quoted 1 line

How did you find out that it's 0x10 instead of 0x06? Has

documentation on

Quoted 1 line

ALC1200 become available?

It's easy:
grep -i -C6 spdif /proc/asound/card0/codec\#0 grep -i -C6 'stereo digital' /proc/asound/card0/codec\#0

And check the connectivity between pin complex and audio output nodes.

That's the kind of stuff that would be great to know for somebody who wants to troubleshoot something for the first time. Thanks.

You are welcome.

Quoted 5 lines
Quoted 3 lines

Now you can do a 'cat /proc/asound/card0/codec\#1' and read about the HDMI codec. For it to work, you may need the bleeding edge Xorg drivers.

That will be for somebody else to test I guess, I don't have the hardware - it turns out my TV does not take digital audio through its HDMI port.

That's fine.

The G45 HDMI has worked on our boards, so chances are good for others.

Quoted 5 lines
Quoted 1 line

So let's create a new model?

I should have gave it a shot myself I guess.

Quoted 1 line

+#define ALC883_DIGOUT_NID_ASUS_P5Q 0x10

Why not ALC1200_DIGOUT_NID? Or is it really specific to Asus P5Q?

I'm not really sure, but ALC1200_DIGOUT_NID does look like a better name :-)

Quoted 1 line

The patch worked perfectly.

Thank you.

Fengguang
---

Quoted 8 lines

hda: alc883 model for ASUS P5Q-EM boards

Add a new alc883 model ALC1200_ASUS_P5Q for ASUS P5Q-EM boards. It is the same as ALC883_6ST_DIG except that the SPDIF digital output nid is 0x10.

Applied now. Thanks.

Takashi