I've done lots of Linux installations, including laptops. However, I've only just got sound going, seven weeks after purchase and with many man-days of effort. So the aim of this page is to make sound easier for others, although I'll cover briefly the standard problems that others have also reported.
This report is based on Debian/Hamm, but now the current Debian distribution is Slink, in any case it is worth looking at www.debian.org for the latest. However, the 2.2.x kernels and X 3.3.3 didn't make it to slink so you need to fix these anyway.
Also, I need a mem= line in lilo.conf (even with kernels 2.0.36 and
2.2.1). If you add memory then watch out as you need to use the
figure reported at boot up which is slightly less than the total. So I
needed append="mem=130496k" for 128 Mbyte and
append="mem=228800k" for 224 Mbyte.
Even with 224 Mbyte I can suspend to disk in 7 seconds and resume in 15 seconds, which I find impressive.
If you want to run 2.0.36 or earlier then you'll notice that suspend is more permanent than you expected. You should Change the line #define APM_NOINTS to #undef APM_NOINTS in drivers/char/apm_bios.c
I can't get bzImage to work - it hangs on boot. A "make zImage" works fine but you have to watch how much stuff you compile in or put up with the extra hassle of modules.
My old 3Com EtherlinkIII works well, as before. My new 3Com MegaHertz modem works fine until the machine suspends, the card get lost and you have to reinsert it (or you can take it out before the suspend). I've bought a 100 Mbps Cardbus ethernet card and that goes with some 2.2.x kernels if you get the latest pcmcia distribution - others such as 2.2.3 fail with "could not allocate 136K memory for CardBus socket 1"
This machine works really well with X, it is the first I've had with a 1024x768 screen and I can see me preferring the clarity over my 1280x1024 standard monitor setup that I use elsewhere. The pixels are much sharper than with a CRT and the viewing angle is not restrictive.
Here is my /etc/X11/XF86Config
Windows reports that it uses IRQ 5, DMA 1,0 and addresses 0x530, 0x538 and 0x388. I used these, as reported here.
I found the whole PnP issue very confusing. pnpdump doesn't find any devices, but the CS423x chips claim to be PnP but also standalone. So there are three things to go wrong, PnP support in the kernel, the use of isapnp.conf or not, and whether the CS423x driver should be PnP enabled. Perhaps this is why getting audio going is so hard.
kernel: ad1848: Interrupt test failed (IRQ5)
I also tried OSS under kernel 2.2.1-ac5, this required a bit of patching to get it to accept that the kernel version was really 2.2.1 (by using -f options as the documentation tells you not to do). The same problem persisted.
I used OSS's tech support (given the huge number of hours I spent on sound I have no problem with what they charge for the driver). They were very helpful, always replied within a few hours, gave me some useful debugging options and suggested trying different interupts, but all of this didn't get the driver going.
To get it to compile I had to give the location of the kernel sources and also I symlinked /usr/src/linux to /usr/local/src/linux-2.2.1.
./configure --with-debug=full --with-kernel=/usr/local/src/linux-2.2.1 make install ./snddevicesNote that
--with-isapnp=yes was not used.
As recomended by Raph Levien, my modules.conf looks like:
alias char-major-14 snd alias snd-minor-oss-0 snd-card-cs4236 alias snd-minor-oss-1 snd-opl3 alias snd-minor-oss-3 snd-pcm1-oss options snd-card-cs4236 snd_port=0x530 snd_cport=0x538 snd_irq=5 snd_dma1=1 snd_dma2=0 snd_fm_port=0x388 alias sound offand now I can load the sound driver with:
modprobe snd-card-cs4236 modprobe snd-pcm1-ossNote that you have to read the ALSA trouble-shooting FAQ to find that the second line is needed to get /dev/dsp going. Everything is muted by default.
Also note that performing a suspend (e.g. closing the lid) will freeze the driver, which really limits the usefulness.
Good luck!
Later misc points
The CDROM drive works but hot swapping doesn't -- you have to reboot.