[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