Controlling PCI Drivers 7
Chmarr asks:
"I'm trying to get a GNU/Linux box (Red hat-5.2) running
with two differing ethernet cards (rtl-8029 and rtl-8139).
While the box works just great with one or the other of the
cards (using the ne2k-pci and rtl-8139 drivers, respecively)
I run into problems if I try and use both cards
simultaneously. The rtl-8139 driver loads, finds the 8029
card, complains and gives up. I'd love to be able to
control how the PCI driver problems for cards, but the old
ISA method (io=0x6100 irq=5 on insmod) doesnt work for
PCI: it complains that the symbols aren't available. Does
anyone know how to force a PCI driver to look at a
particular address?"
Our Firewall Has 2 Ethernet Cards (Score:1)
We had to append the following option to the kernel boot arguments (in
append="ether=0,0,eth1"
dmesg says the following about our ethernet cards:
ne2k-pci.c:v0.99L 2/7/98 D. Becker/P. Gortmaker http://cesdis.gsfc.nasa.gov/linu
x/drivers/ne2k-pci.html
ne2k-pci.c: PCI NE2000 clone 'RealTek RTL-8029' at I/O 0x7f80, IRQ 9.
eth0: PCI NE2000 found at 0x7f80, IRQ 9, 00:80:C8:C1:D0:1E.
eth1: 3Com 3c905 Boomerang 100baseTx at 0x7f00, 00:10:4b:9d:fc:25, IRQ 10
8K word-wide RAM 3:5 Rx:Tx split, autoselect/NWay Autonegotiation interface.
eth1: MII transceiver found at address 24.
3c59x.c:v0.99E 5/12/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/v
ortex.html
You'd be better off with two identical cards... (Score:1)
Isn't the pci ne2k driver supposed to be a little "problematic"
I've never used one, so I couldn't say.
3c90x (Score:1)
Good Question (Score:1)
A bit late, but... (Score:1)
In an ideal world, one could tweak the PnP stuff in the BIOS, but in my experience this is not a particulary good solution, since most BIOS configurability is to do with IRQ's, whereas the drivers scan by IO port.
I see two ways for you to get out of this...
1) Compile the drivers as modules, and see if changing the insertion order removes the problem.
2) Edit the source code of the drivers so that the port scanning that they do at startup does not overlap. This is rather non-portable, because you will have to know or guess what IO port the BIOS is going to assign to your cards. This will be the same after each restart, but may change if you add or remove cards from the system.
3) (just though of this) Try building one driver into the kernel and the other as a module. Add a 'reserve' entry to the kernel boot parameters (man bootparam for more info) to prevent the built-in driver from detecting the wrong card. Then, insert the module for full functionality (perhaps). This suffers from problems like (2), but requires only a change to lilo.conf if you change your hardware setup.
I haven't tried any of these, so your mileage will probably vary a lot.
Cheers,
Rodd
I've never had problems with ne2k-pci (Score:1)