Puppy 4.2.1 Dell Latitude Cpi D266XT Crystal 4237B Soundcard

Problems and successes with specific brands/models of computer audio hardware
Message
Author
brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Puppy 4.2.1 Dell Latitude Cpi D266XT Crystal 4237B Soundcard

#1 Post by brianh »

Can anyone help me get this working? So far I've tried Alsaconf and when that didn't work, the following changes - based on hours of scouring the web...:

In BIOS disable serial and parallel ports.

Add to menu.lst



acpi=off pnpbios=off

Comment out of modprobe.conf:

#options sb io=0x220 irq=7 dma=1 dma16=5 mpu_io=0x330

# alias snd-card-0 snd-cs4232

# alias sound-slot-0 snd-cs4232

then in an rxvt window:

modprobe snd

modprobe snd-cs4236 port=0x530 cport=0x210 irq=5 dma1=0 dma2=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=13

As alsaconf -R had indicated that irq's 5 and 13 and DMA's 0 and 1 were free.

On entering the command there's a low click from the speakers, Dmesg lists no errors and Alsaconf -R then shows DMA 0 and 1 allocated to CS4231, IRQ5 to CS4231 and IRQ13 to MPU401 UART which looks good.

I then used Alsamixer to switch on Master D and PCM, gave each some volume and tried Pmusic to play some .wav files from /usr/share/sounds

Not a peep! :o(

Does anyone at least know whether it's possible to get this working? I've heard of a relevant kernel patch but the posting was archived so I assume that was old news.

Brian

User avatar
Patriot
Posts: 733
Joined: Thu 15 Jan 2009, 19:04

Re: Puppy 4.2.1 Dell Latitude Cpi D266XT Crystal 4237B Sound

#2 Post by Patriot »

Hmmm .....
brianh wrote: modprobe snd-cs4236 port=0x530 cport=0x210 irq=5 dma1=0 dma2=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=13
At first glance, it seems all ok ... then I saw irq 13 ... well, ugh, that's being used by the co-processor and this card is non-pnp (plus the old phoenix bios) ... Older MPU (midi port) setup that requires an irq usually is at irq 9 ...

These are the valid settings expected for CS4237:
irq /* 5,7,9,11,12,15 */
mpu_irq /* 9,11,12,15 */
dma1 /* 0,1,3,5,6,7 */
dma2 /* 0,1,3,5,6,7 */

Maybe these will work for you (ref: http://home.nedlinux.nl/~bart/?page=11):

Code: Select all

options snd-cs4236 index=0 id=CARD_0 port=0x530 cport=0x210 \
irq=5 dma1=0 dma2=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=9
and check 'lsmod | grep snd' to see if snd-pcm-oss module is loaded ...

Rgds

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

#3 Post by brianh »

Thanks; tried that - still no joy. Relevant outputs are now as below
Brian
-
# lsmod | grep snd

snd_mixer_oss 16640 0

snd_cs4236 15788 0

snd_opl3_lib 11264 1 snd_cs4236

snd_hwdep 9220 1 snd_opl3_lib

snd_cs4236_lib 15744 1 snd_cs4236

snd_mpu401_uart 8064 1 snd_cs4236

snd_rawmidi 23456 1 snd_mpu401_uart

snd_seq_device 8204 2 snd_opl3_lib,snd_rawmidi

snd_cs4231_lib 24192 2 snd_cs4236,snd_cs4236_lib

snd_pcm 73736 2 snd_cs4236_lib,snd_cs4231_lib

snd_timer 22276 3 snd_opl3_lib,snd_cs4231_lib,snd_pcm

snd 52772 11 snd_mixer_oss,snd_cs4236,snd_opl3_lib,snd_hwdep,snd_cs4236_lib,snd_mpu401_uart,snd_rawmidi,snd_seq_device,snd_cs4231_lib,snd_pcm,snd_timer

snd_page_alloc 10376 2 snd_cs4231_lib,snd_pcm

soundcore 7520 1 snd


and the irq/dma output from alsaconf -R

# alsaconf -R

>>>>> PnP file: /sys/bus/pnp/devices/??:*/resources

cat: /sys/bus/pnp/devices/??:*/resources: No such file or directory

>>>>> Allocated dma channels:

0: CS4231 - 1

1: CS4231 - 2

2: floppy

4: cascade

>>>>> Allocated interrupt channels:

CPU0

0: 79319 XT-PIC-XT timer

1: 250 XT-PIC-XT i8042

2: 0 XT-PIC-XT cascade

3: 1016 XT-PIC-XT axnet_cs

4: 2 XT-PIC-XT

5: 297 XT-PIC-XT CS4231

6: 3 XT-PIC-XT floppy

7: 2 XT-PIC-XT

8: 1 XT-PIC-XT rtc

9: 4 XT-PIC-XT MPU401 UART

10: 3 XT-PIC-XT

11: 0 XT-PIC-XT yenta, yenta, uhci_hcd:usb1

12: 53498 XT-PIC-XT i8042

14: 3534 XT-PIC-XT ata_piix

15: 5014 XT-PIC-XT ata_piix

NMI: 0 Non-maskable interrupts

LOC: 0 Local timer interrupts

TRM: 0 Thermal event interrupts

SPU: 0 Spurious interrupts

ERR: 0

MIS: 0

Valid DMA channels: grep: /sys/bus/pnp/devices/??:*/resources: No such file or d irectory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory

3 5 6 7

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Red Hat 6.0 Sndconfig sets up the soundcard OK but...

#4 Post by brianh »

I don't understand its conf.modules file which has:

alias parport_lowlevel parport_pc
pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start
alias sound cs4232
pre-install sound insmod sound dmabuf=1
alias midi opl3
options opl3 io=0x388
options cs4232 io=0x530 irq=5 dma=0 dma2=0 mpuio=0x330 mpuirq=5 synthirq=-1 synthio=-1

Looks to me as if this is using the same irq and dma values twice. I tried the equivalent in Puppy modprobe.conf but it errored as I'd expect - saying mpu can't grab irq 5.
Brian

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#5 Post by Aitch »

Brian

make sure your pnpOS is off in the bios

- [I think I've also seen bootparams for this, too
puppy pfix=ram acpi=force
~ &/or puppy pfix=irq bios ~ maybe?]

tempestuous has posted fixes for this soundcard in IBM 600/770s

http://murga-linux.com/puppy/viewtopic. ... a5d9a5323f
......run the sound wizard, choose search for "legacy" devices, select "cs4236". Hopefully this will work. If not, you need to set up ALSA manually: open /etc/modprobe.conf in geany and add these lines -

alias snd-card-0 snd-cs4236
alias sound-slot-0 snd-cs4236
options snd-cs4236 index=0 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=0 irq=5
looks like you are using the cs4232 instead of cs4236, as he suggests

HTH [if not, he knows, PM him]

Alternately try a different puppy - Boxpup421retro, or 214xx by ttuuxxx or slaxer_pup by big_bass, maybe??

Aitch :)

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Tried Boxpup421retro: Still no joy

#6 Post by brianh »

Tried Boxpup421retro: Still no joy. Why is this all so hit and miss I wonder? By the way when I use alsamixer to m-enable Mic I get a low buzz from the speaker and when I m-enable Mic-Play I get a feedback howl. Does this mean the soundcard itself is working?
Brian

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Tried /etc/rc.d/rc.local instead - still no joy> Giving up!

#7 Post by brianh »

Tried removing all the alsa lines from modprobe.conf and instead adding to /etc/rc.d/rc.local:
modprobe snd-cs4236 index=0 id=CARD_0 port=0x530 cport=0x210 irq=5 dma1=0 dma2=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=9
As suggested in
http://www.murga-linux.com/puppy/viewtopic.php?t=13699
Still nothing but a click.
Think I'll give up. Pity as all the other stuff I was looking for works with Puppy - specifically running Spotify under Wine.
Brian

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#8 Post by Aitch »

before you give up, PM tempestuous

I'm sure he'll be able to help

Aitch :)

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#9 Post by tempestuous »

brianh
You may have overlooked the most important preparatory step: set your bios for "PnP OS = NO".
This is very very important for getting ISA devices to play well in Linux.
While you're in bios, it would be worth resetting values back to defaults. And you may find that the resource values for your audio chipset are listed.
brianh wrote:Add to menu.lst

pnpbios=off
I recommend against using this boot parameter. It's not the same as setting the bios for "PnP OS = NO".
The correct boot parameter for achieving the same thing as this bios setting is "pci=biosirq" ... but it's still better if you can set the bios directly.
brianh wrote:Add to menu.lst

acpi=off
Yes, your computer is not fully acpi-aware, so this boot parameter is correct ... but let's be clear: that boot parameter should be added to the end of the "kernel" line in menu.lst
brianh wrote:modprobe snd-cs4236 port=0x530 cport=0x210 irq=5 dma1=0 dma2=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=13
It looks to me as though your dma1/dma2 values are the wrong way around, but checking your bios may confirm this.
brianh wrote:Red Hat 6.0 Sndconfig sets up the soundcard OK but...
Those settings apply only to the old OSS sound system, which is completely incompatible with Puppy's ALSA sound system.

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Wakepup won't boot woof alpha upup-476.iso,

#10 Post by brianh »

Thanks; tried changing pnpbios=off to pci=biosirq on the kernel line in menu.list and switched the DMA's - still no sound.
Following the kernel bug theory I tried to install the woof alpha upup-476.iso, but wakepup won't load it from the USB stick - gets part way through then claims it can't find upup-476.sfs even though the file is on the stick (actually as upup_476.sfs but I tried changing '_' to '-'; made no difference and I believe they're usually equivalent). I've seen one posting about this sort of issue but it gave no solution.
Brian

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Alsaconf -R Report

#11 Post by brianh »

Here's what alsaconf -R currently reports
...
>>>>> PnP file: /sys/bus/pnp/devices/00:0b/resources
state = active
io 0x3e0-0x3e1
irq 9
>>>>> PnP file: /sys/bus/pnp/devices/00:0f/resources
state = active
io 0x530-0x537
io 0x388-0x38b
io 0x220-0x22f
irq 5
dma 0
dma disabled
>>>>> PnP file: /sys/bus/pnp/devices/00:10/resources
state = active
io 0x210-0x217
>>>>> PnP file: /sys/bus/pnp/devices/00:11/resources
state = active
io 0x3f2-0x3f5
io 0x3f7-0x3f7
irq 6
dma 2
>>>>> Allocated dma channels:
0: CS4231 - 2
1: CS4231 - 1
2: floppy
4: cascade
>>>>> Allocated interrupt channels:
CPU0
0: 59015 XT-PIC-XT timer
1: 362 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 12 XT-PIC-XT axnet_cs
5: 0 XT-PIC-XT CS4231
6: 3 XT-PIC-XT floppy
8: 1 XT-PIC-XT rtc
9: 4 XT-PIC-XT MPU401 UART
11: 0 XT-PIC-XT yenta, yenta, uhci_hcd:usb1
12: 34816 XT-PIC-XT i8042
14: 2580 XT-PIC-XT ide0
15: 20181 XT-PIC-XT ide1
NMI: 0
ERR: 0
Valid DMA channels: 3 5 6 7
Valid IRQ channels: 4 7 10
Brian

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#12 Post by tempestuous »

brianh wrote:dma 0
dma disabled
I suspect you may need to load your ALSA driver in 2 stages, as I suggested in "ALSA fix for legacy sound cards in Puppy 2x"
http://www.murga-linux.com/puppy/viewtopic.php?t=8816
Thus -

Code: Select all

modprobe snd-cs4236 isapnp=0 irq=5 dma1=1
modprobe snd-cs4236 isapnp=0 irq=5 dma1=1 dma2=0

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Can't Grab DMA 2

#13 Post by brianh »

Thanks again; tried your strings
modprobe snd-cs4236 isapnp=0 irq=5 dma1=1
modprobe snd-cs4236 isapnp=0 irq=5 dma1=1 dma2=0
in
/etc/rc.d/rc.local
but dmesg said please specify port, so I changed to the full:
modprobe snd-cs4236 index=0 id=CARD_0 port=0x530 cport=0x210 irq=5 dma1=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=9
modprobe snd-cs4236 index=0 id=CARD_0 port=0x530 cport=0x210 irq=5 dma1=1 dma2=0 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=9
It then said
ALSA /usr/src/3rd-party-drivers/sound/alsa-driver-1.0.16/isa/cs423x/../../alsa-kernel/isa/cs423x/cs4231_lib.c:1457: cs4231: can't grab DMA2 65535
cs4236: probe of cs4236.0 failed with error -16
so I changed to
modprobe snd-cs4236 index=0 id=CARD_0 port=0x530 cport=0x210 irq=5 dma1=1 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=9
modprobe snd-cs4236 index=0 id=CARD_0 port=0x530 cport=0x210 irq=5 dma1=1 dma2=3 mpu_port=0x330 isapnp=0 fm_port=0x388 mpu_irq=9
and got can't grab dma2 again.
Would I be better off trying to get woof upup-476 running?

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

Re: Can't Grab DMA 2

#14 Post by tempestuous »

brianh wrote:dmesg said please specify port
OK, but do only the minimum it suggests - define only "port=0x530".
brianh wrote:cs4231: can't grab DMA2 65535
Suggestion 1:
Run just the first half of my split sequence -

Code: Select all

modprobe snd-cs4236 isapnp=0 irq=5 dma1=1 port=0x530
There's a fair chance that you may get working sound with just one dma address. It's a long time since I tried this on my old ESS ISA sound card, but the end result will be something like having no duplex sound functions of your audio device.

Suggestion 2:
Continue with my two-stage regime, but try different DMA combinations (0,1 would be the obvious first choice), and add a 1 second sleep in between commands to make sure that everything is settled before the second stage command. Thus -

Code: Select all

modprobe snd-cs4236 isapnp=0 irq=5 dma1=0 port=0x530
sleep 1
modprobe snd-cs4236 isapnp=0 irq=5 dma1=0 dma2=1 port=0x530

brianh
Posts: 76
Joined: Tue 04 Aug 2009, 13:25

Can't grab dma

#15 Post by brianh »

Using /etc/rc.d/rc.local, when I use either one line with only one dma specified or 2 lines with sleep 1 between, dmesg always says it can't grab dma2 or dma1 whichever is not specified in the first line, alsacnf -R shows nothing assigned and there's no click.
If I put it all in one line I get a click, it gives no errors in dmsg and both dma's are shown as assigned in the dma summary at the end of alsaconf -R, but the second dma in the 00:0f section is shown as disabled.
Brian

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#16 Post by Aitch »

Hi Brian /tempestuous

Bit of a long shot, as I know these old ISA cards can be problematic

Is it possible/advisable to try freeOSS & this patch/instructions? [from the wayback machine]

http://web.archive.org/web/200101241554 ... 4237b.html

Reportedly gives full duplex 16bit sound

Also has tips for reconfiguring the kernel....

There's a choice of rpm, deb or tar [or source] for OSS free

http://www.4front-tech.com/download.cgi

HTH

Alternately get a pcmcia/usb2 adapter & sound dongle

http://en.community.dell.com/forums/t/19183180.aspx

http://www.sunspot.co.uk/Projects/SWEEX ... sound.html

Aitch :)

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

Dell Latitude C510 also

#17 Post by DavidEllis2 »

If you do resolve this problem please post the answer. I am trying to set up a Dell Latitude C510 laptop for a friend and find that it's sound card/chipset is also not being recognized. As I do not have any documentation on this I'm not even sure what chipset it's using. [It would be helpful if any solution is explained fairly basically. I haven't used UNIX in over twenty years and its feeling very unfamiliar.]

David E.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#18 Post by Aitch »

DavidEllis2

Yours is different, you have Crystal CS4205

From a linux site, I have

"The Crystal CS4205 soundchip will work as an Intel 810-compatible AC97 soundcontroller, the ALSA-module for it is called snd-intel8x0. There are no noticeable differences between the drivers, they both work fine."

should be loaded automatically, or easily loaded manually from the list

Aitch :)

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#19 Post by tempestuous »

I just did some more Googling about your Cpi D266XT, and it seems that the "port" and "cport" values may be important.
Also from your earlier PnP diagnostic results, it appears the correct "cport" value should be 0x220, not 0x210.
So let's consolidate this information as a single command -

Code: Select all

modprobe snd-cs4236 port=0×530 cport=0×220 isapnp=0 irq=5 dma1=1 dma2=0
and in desperation, you might still consider two-stage commands.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#20 Post by tempestuous »

The ALSA setup commands discussed here relate to quirks of old ISA-based audio devices, and will have little, if any, relevance for DavidEllis2's PCI-based HDA audio device.

Post Reply