I have an HP ProLiant server that is running Debian 5. After a reboot, it is not able to bring up any of it's interfaces. If I run ifup eth0, it gives me an error about the device not existing. (It has 4 Broadcom NetXtreme II interfaces.) I verified that it has a bnx2 driver (lsmod | grep bnx2). Then I tried unloading and reloading the driver (rmmod bnx2 && modprobe bnx2) and all of a sudden my interfaces work! Now I can ifup eth0 without any issues.
After restarting, though, the same problem arises.
My question is, can anybody speculate about what would cause a .ko to not work after a reboot, but then to work correctly after unloading and reloading it?
I'm guessing it's some kind of timing issue with the NIC hardware, or its a dependency issue with another .ko. Any ideas how to resolve it so that it will come up correctly after a reboot?