[alsa-devel] hda_analyzer vs alc668 asus NJ750k

Raymond Yau superquad.vortex2 at gmail.com
Tue Jul 29 17:25:04 CEST 2014


>
> Hi,
>
> I get some errors running hda_analyzer with this alc668 chipset.
>
> Traceback (most recent call last):
>   File "/dev/shm/hda-analyzer/hda_analyzer.py", line 546, in <module>
>     sys.exit(main(sys.argv))
>   File "/dev/shm/hda-analyzer/hda_analyzer.py", line 523, in main
>     if read_nodes(sys.argv[1:]) == 0:
>   File "/dev/shm/hda-analyzer/hda_analyzer.py", line 89, in read_nodes
>     read_nodes2(c.card, i)
>   File "/dev/shm/hda-analyzer/hda_analyzer.py", line 60, in read_nodes2
>     c = HDACodec(card, codec)
>   File "/dev/shm/hda-analyzer/hda_codec.py", line 1041, in __init__
>     self.parse_proc()
>   File "/dev/shm/hda-analyzer/hda_codec.py", line 1140, in parse_proc
>     self.proc_codec = HDACodecProc(self.card, self.device, file)
>   File "/dev/shm/hda-analyzer/hda_proc.py", line 479, in __init__
>     self.parse(proc_file)
>   File "/dev/shm/hda-analyzer/hda_proc.py", line 677, in parse
>     node.add_digital(line[11:])
>   File "/dev/shm/hda-analyzer/hda_proc.py", line 296, in add_digital
>     self.wrongfile('unknown dig1 bit %s' % repr(b))
>   File "/dev/shm/hda-analyzer/hda_proc.py", line 143, in wrongfile
>     raise ValueError, "wrong proc file format (%s)" % msg
> ValueError: wrong proc file format (unknown dig1 bit 'KAE')
>
>
> If I disable the check for add_digital I get this error:
>
> ValueError: wrong proc file format (  Digital: Enabled KAE)
>
> - Is it a problem to add a new DIG1_BIT to hda_proc.py:277
>
>  def add_digital(self, line):
>     bits = {
>       'Enabled': DIG1_BITS['ENABLE'],
>       'Validity': DIG1_BITS['VALIDITY'],
>       'ValidityCfg': DIG1_BITS['VALIDITYCFG'],
>       'Preemphasis': DIG1_BITS['EMPHASIS'],
>       'Copyright': DIG1_BITS['COPYRIGHT'], # old buggy format
>       'Non-Copyright': DIG1_BITS['COPYRIGHT'],
>       'Non-Audio': DIG1_BITS['NONAUDIO'],
>       'Pro': DIG1_BITS['PROFESSIONAL'],
>       'GenLevel': DIG1_BITS['LEVEL'],
>       'KAE': DIG1_BITS['KAE'],
>     }
>
> hda_codec.py:224
>
>  DIG1_BITS = {
>   'ENABLE': 0,
>   'VALIDITY': 1,
>   'VALIDITYCFG': 2,
>   'EMPHASIS': 3,
>   'COPYRIGHT': 4,
>   'NONAUDIO': 5,
>   'PROFESSIONAL': 6,
>   'LEVEL': 7,
>   'KAE': 8
> }
>
>
> - If I do that I get this error:
>
>
> Traceback (most recent call last):
>   File "hda_analyzer.py", line 546, in <module>
>     sys.exit(main(sys.argv))
>   File "hda_analyzer.py", line 523, in main
>     if read_nodes(sys.argv[1:]) == 0:
>   File "hda_analyzer.py", line 89, in read_nodes
>     read_nodes2(c.card, i)
>   File "hda_analyzer.py", line 60, in read_nodes2
>     c = HDACodec(card, codec)
>   File "/home/patrick/code/alsa-utilities/hda-analyzer/hda_codec.py", line
> 1043, in __init__
>     self.parse_proc()
>   File "/home/patrick/code/alsa-utilities/hda-analyzer/hda_codec.py", line
> 1142, in parse_proc
>     self.proc_codec = HDACodecProc(self.card, self.device, file)
>   File "/home/patrick/code/alsa-utilities/hda-analyzer/hda_proc.py", line
> 480, in __init__
>     self.parse(proc_file)
>   File "/home/patrick/code/alsa-utilities/hda-analyzer/hda_proc.py", line
> 732, in parse
>     self.wrongfile(line)
>   File "/home/patrick/code/alsa-utilities/hda-analyzer/hda_proc.py", line
> 143, in wrongfile
>     raise ValueError, "wrong proc file format (%s)" % msg
> ValueError: wrong proc file format (  Devices: 0)
>
> - If I replace the call in hda_proc.py:734 to self.wrongfile() with a
> print command
>
> ex.
>         else:
>            print ('strange line : %s' % line)
>          # self.wrongfile(line)
>
> I get this output and hda_analyzer interface starts:
>
> # python hda_analyzer.py
> strange line :   Devices: 0
> strange line :   In-driver Connection: 3
> strange line :      0x02 0x03 0x04
> strange line :   Devices: 0
> strange line :   In-driver Connection: 3
> strange line :      0x02 0x03 0x04
> strange line :   Devices: 0
> strange line :   In-driver Connection: 3
> strange line :      0x02 0x03 0x04
>
>
> - If I run "alsa-jack-sense-test -a"  I get this output:
>
>
> # python alsa-jack-sense-test.py -a
> strange line :   Devices: 0
> strange line :   In-driver Connection: 3
> strange line :      0x02 0x03 0x04
> strange line :   Devices: 0
> strange line :   In-driver Connection: 3
> strange line :      0x02 0x03 0x04
> strange line :   Devices: 0
> strange line :   In-driver Connection: 3
> strange line :      0x02 0x03 0x04
> Pin 0x05 (Unknown Digital Out): present = No
> Pin 0x06 (Unknown Digital Out): present = No
> Pin 0x07 (Unknown Digital Out): present = No
>
>
You need to specify card 1 if you want test the alc668

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/hda_proc.c?id=6152597971db4055b7b03ccc60afcd62214d41f4

The error is because  codec.py cannot parse the output of hda_proc.c


More information about the Alsa-devel mailing list