I am having trouble getting the cmipci driver to recognize more than 2
channels on my sound card. The chip on the card is labeled
CMI8768/PCI-8ch. I am using alsa-driver 1.0.16 compiled on CentOS 4.4
(kernel 2.6.9-42.EL).
I am using the speaker-test command included with alsa-utils 1.0.16 to
test.
speaker-test -Dhw:1,0 -c8 -twav
(Card 0 is the onboard sound and is using a different driver.)
The command fails with the error "Channels count (8) not available for
playbacks: Invalid argument." Nothing higher than -c2 will work and the
result is the same if I use -Dhw:1,1 or -Dhw:1,2.
In my attempt to debug this, I noticed that in the query_chip function
in cmipci.c, both of these values are 0:
detect = snd_cmipci_read(cm, CM_REG_INT_HLDCLR) & CM_CHIP_MASK2;
detect = snd_cmipci_read(cm, CM_REG_CHFORMAT) & CM_CHIP_MASK1;
This causes the driver to set chip_version = 33 and max_channels = 2. I
tried hacking the driver to set max_channels to 6 or 8 but only
succeeded in distorting the sound.
cat /proc/asound/card1/cmipci returns this:
C-Media CMI8738 (model 33) at 0xec00, irq 201
00: 00 00 00 00
04: 10 00 00 00
08: 00 00 00 00
0c: 00 00 00 00
10: c0 00 00 00
14: 00 00 00 00
18: 00 00 80 04
1c: ff ff df f7
20: 10 01 00 00
24: 00 01 00 04
90: 00 00 00 00
Is there anything else I can try to get this card detected properly?
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user