Laptop Acer Travelmate 722TX (Mobile Pentium II, 365 MHz) How to get basic sound with Debian GNU/Linux woody and a 2.4.18 kernel. 5.3.2003 Bernhard Reiter Thanks to Markus Kohler for writing instructions for 2.2.x kernels and giving me advise. http://ls7-www.cs.uni-dortmund.de/~kohler/software/AcerTravelmate/sound.html The 2.4.18 kernel oss sound drivers use the isa-pnp.o support of the kernel. At least here this does not initialise the sound card correctly. You can verify this in checking the contents of /proc/isapnp which will tell you that the device is inactive. If that file is present then you know that the kernel isapnp support was used. It is still possible to use isapnp to configure the card. This is what I had success with in my /etc/isapnp.conf: (READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING (CONFIGURE NMX2200/-1 (LD 0 (IO 0 (SIZE 10) (BASE 0x0220)) (IO 1 (SIZE 8) (BASE 0x0530)) (IO 2 (SIZE 4) (BASE 0x0388)) (IO 3 (SIZE 2) (BASE 0x0330)) (IO 4 (SIZE 2) (BASE 0x0370)) (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) (NAME "NMX2200/-1[0]{NeoMagic MagicWave 3DX Sound System}") (ACT Y) )) # Returns all cards to the "Wait for Key" state (WAITFORKEY) This comes from using pnpdump and basically selecting the first option with uncommenting the lines from the output and use it as isapnp.conf. Then you just need to run /sbin/isapnp /etc/isapnp.conf /proc/isapnp will show that the card is active: Card 1 'NMX2200:NeoMagic MagicWave 3DX Sound System' PnP version 1.0 Logical device 0 'NMX2210:Unknown' Device is active Active port 0x220,0x530,0x388,0x330,0x370 Active IRQ 5 [0x2] Active DMA 1,0 Resources 0 Priority preferred Port 0x220-0x220, align 0xf, size 0x10, 16-bit address decoding Port 0x530-0x530, align 0x7, size 0x8, 16-bit address decoding Port 0x388-0x388, align 0x3, size 0x4, 16-bit address decoding Port 0x330-0x330, align 0x1, size 0x2, 16-bit address decoding Port 0x370-0x370, align 0x1, size 0x2, 16-bit address decoding IRQ 5 High-Edge DMA 1 8-bit byte-count compatible Alternate resources 0:1 Priority acceptable Port 0x240-0x240, align 0xf, size 0x10, 16-bit address decoding Port 0xe80-0xe80, align 0x7, size 0x8, 16-bit address decoding Port 0x388-0x388, align 0x7, size 0x4, 16-bit address decoding Port 0x300-0x300, align 0x1, size 0x2, 16-bit address decoding Port 0x100-0xffe, align 0x1, size 0x2, 16-bit address decoding IRQ 7,2/9,10,11 High-Edge DMA 0,1,3 8-bit byte-count compatible Alternate resources 0:2 Priority functional Port 0x220-0x280, align 0xf, size 0x10, 16-bit address decoding Port 0x530-0xf48, align 0x7, size 0x8, 16-bit address decoding Port 0x388-0x3f8, align 0x7, size 0x4, 16-bit address decoding Port 0x300-0x334, align 0x1, size 0x2, 16-bit address decoding Port 0x100-0xffe, align 0x1, size 0x2, 16-bit address decoding IRQ 3,5,7,2/9,10,11 High-Edge DMA 0,1,3 8-bit byte-count compatible Now inserting the ad1848 module with the right options should give you sound. (You can also try using the opl3 io=0x388 for hardware midi support. Markus recommends to use timidity for a better sound. Both options untested by me.) like modprobe ad1848 io=0x530 irq=5 dma=1 isapnp=0 (I've seen messages like [MSS: IRQ Conflict?] appear, but still my sound worked.) You should be able to have sound and e.g. play wave files now. Make sure with something like aumix and the little hardware volume wheel that the volume is up so you actually can hear something. The next step is to make sure this configuration is done on bootup. You can add the options for ad1848 to /etc/modules.conf like options opl3 io=0x388 options ad1848 io=0x530 irq=5 dma=1 isapnp=0 Note that Debian by default does not run isapnp if the kernel isa-pnp support exists. So you have to change the /etc/init.d/isapnp startup script. First make sure that isapnp is run, no matter what. Also make sure that if isa-pnp.o is a module that it is already loaded. I've changed the conditation in my isapnp startup script to comment out the exit 0 command and to execute modprobe isa-pnp because I know I'm using a module here. if test -e /proc/isapnp -o \ -e /lib/modules/`/bin/uname -r`/kernel/drivers/pnp/isa-pnp.o then # make sure that isa-pnp already did its scanning # otherwise it will overwrite the results of isapnp somehow modprobe isa-pnp # exit 0 fi Now adding ad1848 to /etc/modules will work.