snd_hda, codec attaching randomly?

David Demelier demelier.david at gmail.com
Thu Mar 10 07:44:57 UTC 2011


Hello,

I've setup a brand new computer from scratch, it has two HDMI output 
(via the on board and via the ati graphic card) with one codec for the 
main board.

Usually I have these pcm :

pcm0: <HDA ATI R6xx HDMI PCM #0 HDMI> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC888 PCM #0 Analog> at cad 0 nid 1 on hdac1
pcm2: <HDA Realtek ALC888 PCM #1 Analog> at cad 0 nid 1 on hdac1
pcm3: <HDA Realtek ALC888 PCM #2 Digital> at cad 0 nid 1 on hdac1
pcm4: <HDA Intel G45 HDMI PCM #0 DisplayPort> at cad 3 nid 1 on hdac1

But sometime when I boot the pcm4 disappear, with a lot of :

hdac1: hdac_widget_connection_parse: nid=2 WARNING: zero cnid entnum=4 
j=0 index=0 entries=17 found=0 res=0x00000000
hdac1: hdac_widget_connection_parse: nid=2 WARNING: zero cnid entnum=4 
j=1 index=0 entries=17 found=1 res=0x00000000
hdac1: hdac_widget_connection_parse: nid=2 WARNING: zero cnid entnum=4 
j=2 index=0 entries=17 found=2 res=0x00000000
hdac1: hdac_widget_connection_parse: nid=2 WARNING: zero cnid entnum=4 
j=3 index=0 entries=17 found=3 res=0x00000000
[.. snip ..]

Here you can see the normal dmesg file :
http://files.malikania.fr/normal.txt

And here when the pcm disappear :
http://files.malikania.fr/notnormal.txt

A simple diff from the files show some weird things:

diff -ub normal.txt notnormal.txt
--- normal.txt       2011-03-10 08:06:14.000000000 +0100
+++ notnormal.txt    2011-03-10 08:06:18.000000000 +0100
@@ -116,24 +116,90 @@
  hdac0: HDA Codec #0: ATI R6xx HDMI
  pcm0: <HDA ATI R6xx HDMI PCM #0 HDMI> at cad 0 nid 1 on hdac0
  hdac1: HDA Codec #0: Realtek ALC888
-hdac1: HDA Codec #3: Intel G45 HDMI
+hdac1: HDA Codec #3: Intel Q57 HDMI
+hdac1: hdac_widget_connection_parse: nid=2 WARNING: zero cnid entnum=4 
j=0 index=0 entries=17 found=0 res=0x00000000
+hdac1: hdac_widget_connection_parse: nid=2 WARNING: zero cnid entnum=4 
j=1 index=0 entries=17 found=1 res=0x00000000

[... message repeated a lot of time ...]

  pcm1: <HDA Realtek ALC888 PCM #0 Analog> at cad 0 nid 1 on hdac1
  pcm2: <HDA Realtek ALC888 PCM #1 Analog> at cad 0 nid 1 on hdac1
  pcm3: <HDA Realtek ALC888 PCM #2 Digital> at cad 0 nid 1 on hdac1
-pcm4: <HDA Intel G45 HDMI PCM #0 DisplayPort> at cad 3 nid 1 on hdac1

Why does the HDMI codec is renamed to Q57?

I didn't tweak snd_hda(4) much, I only added the following in my 
/boot/devices.hints to get a proper jack-sense on my front panel:

hint.hdac.1.cad0.nid27.config="as=1 seq=15"

Cheers,

-- 
David Demelier


More information about the freebsd-multimedia mailing list