I love SuSE but this bugs me...
I have an IBM thinkpad 600 (PII 233, almost 4 gig HD, 300 mgs ram).
This was a freebee from my ex-boss who couldn't load anything on it due to the Ultra-Bay being hosed (read "no cdrom"). Well, thanks to linux, SuSE, and network install via NFS I have not just linux, but a dual boot with WIN98SE. Besides the ultrabay problem, the mwave modem doesn't work (windows too). Maybe they were both fried at the same time - who knows.
Anyway, that's not the point. One thing that has bugged me is that I had not been unable to get sound to work. (Crystal Sound Fusion - CS4237b chip running on the CS4236 kernel module). I had read and googled and frigged with this thing, as well as a similar sound card in a TP380XD I used to have all to no avail. The only time I got it to work was in the 380XD with REDHAT 7.3 after reconfiguring the kernel and standing on my head and sticking hot needles in my eye. SuSE 8.0 and now 8.2 just would not load the driver even tho the module was sitting right there in /lib/modules/yada/yada.
So I decided tonight to give it one more try for the hell of it.
After googling, I found a page I hadn't seen before with a listing from some guy's modules.conf that had worked well up untill SuSE 8.0 and then simply did not work any more. He was unable to determine why this was, but he listed the exact same error messages that I was getting. Hoping against all logic and reason I copied and pasted the lines from the web page into my modules.conf and rebooted.
And...
It didn't work. [sigh] (come on, you didn't think it would be that simple did you?!) Error - cannot find module. But I know it's there - I saw the damn thing! At least the error message was different.
So I re-open my modules.conf, staring at it, willing it to make some noise and I notice that it refers to the driver module as "snd-card-cs4236". My module is called "snd-cs4236". You don't suppose....
I go to the modules.conf and change snd-card-cs4236 to read snd-cs4236 and reboot.
No go - back to the old error messages that I got from YaST and modprobe previousely...
Code:
Jan 5 21:33:08 michelle insmod:
/lib/modules/2.4.20-4GB/kernel/sound/isa/cs423x/snd-cs4236.o: init_module: No such device
Jan 5 21:33:08 michelle insmod:
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
Jan 5 21:33:08 michelle insmod: /lib/modules/2.4.20-4GB/kernel/sound/isa/cs423x/snd-cs4236.o: insmod snd-card-0 failed
So I try one more time, this time changing the name of my module to snd-card-cs4236 and making my modules.conf match the new names and reboot.
And now I'm listening to tunes on my TP 600
What made me think such a stupid fix would work?
Well, back when I was using RH 7.3 and SuSE 8.0 in a multi-boot setup I was irritated by the fact that my SMC-ultra card (ether-EZ to be exact, ISA crap but it was all I had) would work in RedHat and not in SuSE even tho the same damn modules were present in each distro. I was looking at my modules.conf in redhat one day and noticed that the options for the card were listed as I/O=0x240. In SuSE, the options were for I/O = 0x200. I changed the options in SuSE to I/O = 0x240 and I had a working card.
The problem is still there in 8.2 and most likely in 9.0 as well, but the hardware is so old now no one gives a $hit.
So I'm doing my part to help any other hapless twit using the same crappy hardware, and no dough so his stuff might work too.
These are my modules.conf lines that I added to get the sound card to load initially.
remember to rename your module if you have to.
Code:
alias char-major-116 snd
alias snd-card-0 snd-card-cs4236
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-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd snd_major=116 snd_cards_limit=1
options snd-card-cs4236 snd_index=0 snd_port=0x530 snd_cport=0x538 snd_isapnp=0 snd_dma1=1 snd_dma2=0 snd_irq=5
The above will likely work well for most other distros, but YaST went and changed things.
After opening the sound module in yast and setting the volumes, modules.conf was rewritten to read as follows:
Code:
# Alsa sound support.
# Warning: please don't modify comments over aliases 'snd-card-#'
alias char-major-116 snd
alias char-major-14 off
options snd snd_cards_limit=1 snd_major=116
options snd-card-cs4236 snd_enable=1 snd_index=0
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-slot-1 off
alias sound-service-1-0 off
alias sound-slot-2 off
alias sound-service-2-0 off
alias sound-slot-3 off
alias sound-service-3-0 off
# uniq.virtual:CS4237B
alias snd-card-0 snd-card-cs4236
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-11 snd-mixer-oss
alias sound-service-0-12 snd-pcm-oss
For what it's worth....
Steve