disabling nics using boot options.
Hello again.
Thanks for all the nice answers to my previous question about disabling interfaces with efi.
As it seems to be impossible to disable the NICs in hardware, I want to try to make the linux kernel avoid probing the devices by using the reserve= boot option. The problem is that I am unable to figure out the right parameters for the Gbit NIC because /proc/pci doesn't contain any iobase information for this device.
I found an example in the BOOTPROMPT-HOWTO,
http://www.ibiblio.org/mdw/HOWTO/BootPrompt-HOWTO-3.html#ss3.4
and it works for the 10/100Mbit interface using the eepro100 module.
Here are what /proc/pci and /proc/iomem says about the relevant devices:
/proc/pci:
Bus 0, device 3, function 0:
Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 13).
IRQ 53.
Master Capable. Latency=128. Min Gnt=8.Max Lat=56.
Non-prefetchable 32 bit memory at 0x80020000 [0x80020fff].
I/O at 0xd00 [0xd3f].
Non-prefetchable 32 bit memory at 0x80000000 [0x8001ffff].
Bus 32, device 2, function 0:
Ethernet controller: BROADCOM Corporation NetXtreme BCM5701 Gigabit
Ethernet (rev 21).
IRQ 56.
Master Capable. Latency=192. Min Gnt=64.
Non-prefetchable 64 bit memory at 0x90800000 [0x9080ffff].
Bus 128, device 1, function 0:
Ethernet controller: BROADCOM Corporation NetXtreme BCM5701 Gigabit
Ethernet (#2) (rev 21).
IRQ 65.
Master Capable. Latency=192. Min Gnt=64.
Non-prefetchable 64 bit memory at 0xc0000000 [0xc000ffff].As one can see, the entry for the Ethernet Pro 100 nic has a line
I/O at 0xd00 [0xd3f].
so the the reserve entry becomes 0xd00,64. This works as expected, the device doesn't show up when I boot with
reserve=0xd00,64
However, the entries for the Gbit interfaces don't have this information, do anyone know where I should look for the parameters for these devices?
r.
Signature · 4 lines
The Computer Center, University of Tromsø, N-9037 TROMSØ, Norway.
phone:+47 77 64 41 07, fax:+47 77 64 41 00
Roy Dragseth, High Performance Computing System Administrator
Direct call: +47 77 64 62 56. email: [email protected]Further investigation shows that if I connect the Gbit interface to a 10Mbs hub everything works ok, e.g. using the ksdevice=eth2 boot option works as expected.
I have narrowed this down to the following problem: When the init process tries to configure the eth2 with dhcp it fail, but if I logon as root and run
/etc/init.d/network start
everything works ok. Subsequent reboots also works ok because now the information is cached in /etc/dhcpc/. If I remove the cached info the problem turn up again.
Do anyone know what could be different between init running the network start and when root does it?
r.