I have NE2000 compatible ISA network card. After compiling the kernel with non-module ne2000 support network stopped working, because the kernel doesn't probe correct IO ports in my card - 0x240. Solution: in the file: /usr/src/linux/drivers/net/ne.c To the list of ports , which kernel probe add 0x240 ( 0x220,0x260 ) : static unsigned int netcard_portlist[] __initdata = { 0x240, 0x200, 0x220, 0x260, 0x280, 0x300, 0x320, 0x340, 0x360, 0x380, 0 }; At the moment there it is : static unsigned int netcard_portlist[] __initdata = { 0x280, 0x300, 0x320, 0x340, 0x360, 0x380, 0 };
This isn't a bug in the Red Hat kernels since we ship that as a module, not compiled into the kernel. If you are going to compile your own kernel and include this driver directly into the kernel and not as a module, then you are also responsible for making sure it knows where to find your card. Adding more ports to the static probe list isn't a wise thing to do for all systems since 240 is commonly owned by non-network card devices (lots of sound cards use this port for instance) and probing in an address owned by another card can lock it up. Therefore, the probe lists are kept conservative.