Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> Installation/Setup -> Conflict between pchdtv CXX88 sound and internal ICH4 sound
Post new topic  Reply to topic View previous topic :: View next topic 
Conflict between pchdtv CXX88 sound and internal ICH4 sound
PostPosted: Wed Mar 28, 2007 3:12 pm Reply with quote
puterguy
 
Joined: 23 Mar 2007
Posts: 13




I am using an integrated Intel ICH4 (AC '97) sound hardware that comes with my ASUS p4pe motherboard.

Sound has always worked for me out of the box just using the stock Fedora Core install. I also never had trouble with a co-existent WinFast 2000XP Deluxe analog tv card with a Bt87x chipset.

After installing my new pcHDTV 5500 card, I get the following INTERMITTENT problem (i.e., it happens on some but not all boots).
Specifically, sometimes, the cx88 driver seems to be conflicting with my native ich4 driver leaving me with no sound.

When SOUND WORKS, proc/asound/cards looks like:
0 [I82801DBICH4 ]: ICH4 - Intel 82801DB-ICH4
Intel 82801DB-ICH4 with AD1980 at 0xe5800000, irq 20
1 [UART ]: MPU-401 UART - MPU-401 UART
MPU-401 UART at 0x330, irq 10
2 [CX8801 ]: CX88x - Conexant CX8801
Conexant CX8801 at 0xe8000000
3 [Bt878 ]: Bt87x - Brooktree Bt878
Brooktree Bt878 at 0xee000000, irq 22

Running system-config-soundcard shows all 4 cards (in the above order) but only the 1st one (ICH4) actually plays a test sound (is this right??)

When there is NO SOUND, /proc/asound/cards looks like:
0 [CX8801 ]: CX88x - Conexant CX8801
Conexant CX8801 at 0xe8000000
1 [UART ]: MPU-401 UART - MPU-401 UART
MPU-401 UART at 0x330, irq 10

2 [Bt878 ]: Bt87x - Brooktree Bt878
Brooktree Bt878 at 0xee000000, irq 22

In this case, system-config-soundcard shows only the above 3 cards and none of them plays the test sound.

In both the sound and no-sound cases, lspci | grep audio gives:
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 02)

So, again it seems like the CX88 driver is stepping on and conflicting with the motherboard sound driver.

Is there any way to prevent this from happening?
(I saw someone mention on another thread something like adding the line options cx88_alsa index=-2 to modprobe.conf but I'm not sure what it does)

By the way, my modprobe.conf already contains the following:

options snd-ens1371 index=0
remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371
alias eth0 tg3
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
options snd-intel8x0 index=0
remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0
alias snd-card-1 snd-mpu401
options snd-card-1 index=1
options snd-mpu401 index=1
remove snd-mpu401 { /usr/sbin/alsactl store 1 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-mpu401

I would have thought that the index=0 for the snd-intel8x0 would automatically put the Intel ICH4 driver in that spot.
Though perhaps it is more of a race condition so that if the CX88 card gets there first, then it goes in the index=0 position. But perhaps since I have required the intel8x0 driver to be in the index=0 position, it then has nowhere else to go so it is just left out. DOES THIS MAKE SENSE OR AM I JUST MAKING IT UP?

So, in any case, I would like to really understand what is going on here and how best to fix it...
Thanks



)
View user's profile Send private message
PostPosted: Wed Mar 28, 2007 7:28 pm Reply with quote
xyzzy
 
Joined: 12 Feb 2006
Posts: 225




What is probably happening is that cx88-alsa is loading first and taking index 0, then ich4 can't load because index 0 is taken.

Try adding:
options cx88-alsa index=2
View user's profile Send private message
PostPosted: Wed Mar 28, 2007 8:34 pm Reply with quote
puterguy
 
Joined: 23 Mar 2007
Posts: 13




What is the difference between "index=2" that you suggest and "index=-2" that I have seen others suggest -- i.e. what does the 'minus' sign do?
View user's profile Send private message
PostPosted: Thu Mar 29, 2007 10:12 am Reply with quote
xyzzy
 
Joined: 12 Feb 2006
Posts: 225




Negative indexes are interpreted as a bit mask of allowable spots where the sound card can go, it will take the first free one. -2 means "use index 1 or greater". You have four cards, so it could end up at 1, 2, or 3. And it's cx88-alsa, not cx88_alsa.
View user's profile Send private message
PostPosted: Thu Mar 29, 2007 11:49 am Reply with quote
puterguy
 
Joined: 23 Mar 2007
Posts: 13




OK that explains a lot.
One more question.
For my other cards, modprobe.conf also contains an alias line (for snd-card-x) along with an associated options line (options snd-card-x index=x).

By this logic, should I include all 3 of the following lines or just the last one:
alias snd-card-2 cx88-alsa
options snd-card-2 index=2
options cx88-alsa index=2

Thanks
View user's profile Send private message
PostPosted: Fri Mar 30, 2007 2:18 pm Reply with quote
xyzzy
 
Joined: 12 Feb 2006
Posts: 225




The alias line is for demand loading of the module. I don't think the option lines for snd-card-x do anything, but I'm not sure about that. Try setting one to 5 and the other to 7 and see which one takes effect.
View user's profile Send private message
Conflict between pchdtv CXX88 sound and internal ICH4 sound
  pcHDTV Forum Index -> Installation/Setup
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 7 Hours  
Page 1 of 1  

  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin