From Bugzilla Helper: User-Agent: Mozilla/4.78 [en] (X11; U; Linux 2.2.19-7.0.8 i686) Description of problem: I am running RH 7.1 on an IBM ThinkPad 770Z and a cs4232 sound chip. UnderRH7.1 the CD plays music just fine. However sound programs such as play or XMMS either fail to play anything at all or what they produce skips and stuffers so bad as to be unrecognizable. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.build and install a RH7.1 2.4.3-12 kernel for a IBM Thinkpad 770Z with: CONFIG_SOUND=y CONFIG_SOUND_FUSION=m CONFIG_SOUND_OSS=y CONFIG_SOUND_TRACEINIT=y CONFIG_SOUND_DMAP=y CONFIG_SOUND_ADLIB=m CONFIG_SOUND_CS4232=m CONFIG_SOUND_MPU401=m CONFIG_SOUND_YM3812=m CONFIG_SOUND_OPL3SA1=m CONFIG_SOUND_OPL3SA2=m (all other CONFIG_SOUND values not set) 2.setup /etc/modules.conf with: alias char-major-90 tun alias parport_lowlevel parport_pc alias usb-controller usb-uhci alias char-major-116 snd alias snd-card-0 cs4232 alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm1-oss alias sound-service-0-12 snd-pcm1-oss alias synth0 opl3 options sound dmabuf=1 options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666 snd_device_gid=0 snd_device_uid=0 options opl3 io=0x388 options cs4232 io=0x530 mpuio=0x330 irq=5 mpuirq=7 dma=1 dma2=0 3.reboot 4. run gmix (Programs->Multimedia->Audio Mixer) and turn up the Vol and CD vol to max (as sometimes it is hard to hear the sound). Thus vol knob on the laptop aboud 1/2 way. 5. Use play to play a wave file. I used a RIFF (little-endian) data, WAVE audio, Microsoft PCM, 8 bit, mono 11025 Hz file of about 1/2 megabyte. After the first 2 seconds the rest of the file skips playing fractions of the rest of the file for about 4 seconds. 6. Now run XMMS and try to load that file. On my system it completely fails. 7. Now rerun play on that file. The same stuttering occurs. 8. Now insert an audio CD and insert an Audio CD of your choice. (You may want to turn the laptop volume down to about 1.5) On my Thinkpad 770Z the CD will play just fine. No audio problems. NOTE: Sometimes after playing a CD for a while (30 to 60 minutes) even the play command fails to produce anything. However other audio CDs can play just fine. Actual Results: play will produce about 6 seconds of sound of a 1/2 megabyte RIFF (little-endian) data, WAVE audio, Microsoft PCM, 8 bit, mono 11025 Hz file. XMMS fails to produce any sound. audio CDs play music just fine. Expected Results: play will play the complete wave file. XMMS will play the complete wave file. audio CDs play music just fine. Additional info: It is interesting that this bug is similar, but not identical to bug #47199. We are using the same RH7.1 kernel, similar but not identical audio chip and laptop models. XMMS fails completely on the IBM TP 770Z and play acts like the XMMS on the IBM TP X20.
This same lack of sound problem exists in RHEL3 WS.
My RHEL3 modules.conf has: alias parport_lowlevel parport_pc alias usb-controller usb-uhci alias eth0 xirc2ps_cs KDE reports unable to use sound. Other tools that make moise fail to do so. :-(
Heh, spotted this report by accident. I had similar problems ages ago on a hp 4100 laptop, here's an old mail with my workaround for it that could fix this for you as well: > its working with cs4232 if appropriate options are in modules.conf *AND* > you accept that sound is screwed up unless you remove and re-add the > cs4232 module. Sounds exactly like the problem I was having on my HP4100. I tracked down the problem to the pcmcia code probing the SB emulation ports of the chip. These ports aren't used by the cs4232 driver, so they're not marked as reserved, but probing them seems to make the chip crap out anyway. Changing /etc/pcmcia/config.opts to include port 0x100-0x21F,port 0x230-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff (I suppose an exclude for the sb emulation registers would work as well:-) )
Yes!!! The remark from comment #3 combined with my mods from the original bug post did the trick! To recap: I am running a RHEL3 kernel (kernel-2.4.21-9.0.1.EL) with the extra drivers (kernel-unsupported-2.4.21-9.0.1.EL) (mainly to get the support for my Xircom PCMCIA Ethernet/Modem card). I have these xmms rpms: (see http://www.xmms.org/files/1.2.x/rpm/fc1) xmms-1.2.10-1 xmms-devel-1.2.10-1 xmms-esd-1.2.10-1 xmms-gl-1.2.10-1 xmms-mikmod-1.2.10-1 xmms-vorbis-1.2.10-1 (see ftp://ftp.rpmfind.net/linux/PLD/current/dists/ra/updates/general/i686) libmikmod-3.1.10-2.i686.rpm In /etc/modules.conf I have: # networking # alias eth0 xirc2ps_cs # usb devices # alias usb-controller usb-uhci # parallel port # alias parport_lowlevel parport_pc # sound # alias char-major-116 snd alias snd-card-0 cs4232 alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm1-oss alias sound-service-0-12 snd-pcm1-oss alias synth0 opl3 options sound dmabuf=1 options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666 snd_device_gid=0 snd_device_uid=0 options opl3 io=0x388 options cs4232 io=0x530 mpuio=0x330 irq=5 mpuirq=7 dma=1 dma2=0 And made the following change (as suggested by Pekka Pietikäinen) to /etc/pcmcia/config.opts: --- config.opts.init 2003-01-25 05:47:27.000000000 -0800 +++ config.opts 2004-03-30 06:27:26.000000000 -0800 @@ -5,7 +5,7 @@ # System resources available for PCMCIA devices -include port 0x100-0x4ff, port 0xc00-0xcff +include port 0x100-0x21F, port 0x230-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff include memory 0xc0000-0xfffff include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff Now all aspects of sound are working! Q: Should the above patch to /etc/pcmcia/config.opts become a bug fix? Is certainly made the different for my TP 770Z!
BTW: The www.xmms.org URL for the Fedora Core 1 XMMS 1.2.10 rpms should have been: http://www.xmms.org/download.php BTW: The libmikmod rpm URL should have been: http://ftp.rpmfind.net//linux/RPM/PLD/dists/ra/updates/general/i686/libmikmod-3.1.10-2.i686.html I'll attach the patch and /etc/modules.conf file next to address formatting problem in Comment #4.
Created attachment 98965 [details] FYI: modules.conf file used to get sound on the TP 770Z This is a FYI attachment that documents what I needed to do in order to get sound working on the IBM ThinkPad 770Z.
Created attachment 98966 [details] patch to keep PCMCIA from interfering with TP 770Z sound This patch, as suggested by Pekka Pietikäinen in Comment #3, is needed to keep the PCMCIA facility from interfering with the cs4232 sound on the IBM ThinkPad 770Z.
Created attachment 111543 [details] pcmcia-sb-emulation.patch I think this patch may achieve the same effect while being somewhat more palatable. Give it a try?
This patch should also be available in Fedora as part of rawhide, fwiw...
Sorry it took so long to test. Your pcmcia-sb-emulation.patch does not work on a IBM THinkPad 770Z running and up2date RHEL3 WS. In order to get sound, I had to modify your patch so that the line: include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff I had to change it to: include port 0x100-0x21f, port 0x230-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff Without that change, no sound was possible. With that change, sound was fully functional. FYI: I left in the "exclude port 0x220-0x22f" line even though it did not seem to make a difference. I recommend that you reconsider your patch.
Well, it really seems like "exclude port 0x220-0x22f" should work...CHANGES file in pcmcia-cs package mentions a similar problem in the past that was supposedly fixed...hmmm... Since you have a good workaround, I'm going to look into what is wrong w/ the cardmgr configuration routines...
I need the pcmcia-cs version (rpm -q kernel-pcmcia-cs). Although we did not update it in 3WS, let's be safe.
$ rpm -q kernel-pcmcia-cs kernel-pcmcia-cs-3.1.31-13
Created attachment 112355 [details] Patch to fix "exclude" #1 pcmcia-cs 3.1.25 (our package kernel-pcmcia-cs) has this: -- Fixed two resource handling bugs: one broke "killall -HUP cardmgr" on some configurations, and the other caused probing of IO ranges that are included but later excluded. The trick is that the fix applies to the kernel code (distributed by pcmcia-cs), and apparently it was not submitted to Marcelo kernel, so our kernel does not have it.
John, this patch is too invasive for RHEL 3, IMHO. Consider two points: - The fix is not in Marcelo tree. - Probing sequence is changed. It did reprobe after every "include" before, now it probes when a device requests a region. I recommend closing with WONTFIX, regretfuly, but ... RHEL 4 has the same bug, and the -mm with Dominik's patches kept it (verified in 2.6.12-rc1-mm2). I'll bounce this off the pcmcia people. Then we might need to open a new bug for RHEL 4, if someone has a hardware which reporduces this on RHEL 4.
I will be in a position to install RHEL4 WS on this same hardware in a few weeks ... if that will be of help. Let me know (I would suggest that you don't set this bug to WONTFIX) and I'll test it under that release.
I'll need a new bug for RHEL 4. All this reopening confuses tracking.
Per comment #23, this bug has been reopened as bug #157677