...making Linux just a little more fun!
By Jim Dennis, Karl-Heinz Herrmann, Breen, Chris, and... (meet the Gang) ... the Editors of Linux Gazette... and You!
From Chris Gianakopoulos
Answered By: Mike Orr
Hi Gang,
I'm just sharing an experience with you. I've got Pentium 2 computers with onboard audio these days.
I installed Linux using SuSE 8.2, and the ethernet would work sometimes but mostly, the card did not get recognized. The card is a 3C509B ISA card. At first, I thought that I zapped the ISA slot in my motherboards (yea -- two of them) because the card would work on my trusty Pentium Pro computer.
What was interesting was that if I installed Windows 2000 in the Pentium 2 system, the NIC worked flawlessly! Okay, now I knew that it was not hardware. I just gave up for a while.
During the holidays (December), I reinstalled Linux on the Pentium 2 system. This time, I decided to get the thing to work. Playing around with the PNP tools, I saw that candidate resources for my onboard audio (MPU-401 to be specific) was either 0x300 or 0x330. Looking at /proc/ioports, I saw that 0x300 was chosen for the I/O port.
I rebooted the system and disabled the onboard audio via the BIOS setup.
Of course, my Ethernet then worked. Looking at /proc/ioports, I asw that 0x300 (my favorite addresses of course) was allocated to the NIC.
I went ahead and reenabled the onboard audio, thus causing failure of the Ethernet again. I used YaST (SuSE's setup tool), and manually allocated 0x330 to the MPU-401 port, and the Ethernet worked flawlessly. Problem solved!
This was my first exposure to plug and play hardware when using Linux. Plug and play was disabled on the 3C509 as recomended in the older days, and the audio hardware was allocated my sacred I/O address. As I can see /proc has lots of useful stuff, but, this is the first time that I had to use it to troubleshoot a problem. Cool and fun.
[Sluggo] I used to install 3C509B cards at a hospital. We always disabled plug & play and set the base address using the DOS utility on the floppy. We used 0x300 by default, or 0x220 if there was a conflict.
Yea, Ben O. mentioned the lower numbered addresses too (e.g. 0x220). I use those for NE2000 type of cards -- for some reason, I got attached to 0x300 from my 3C503 days. (I still use coax these days -- no hubs....).