loading the wrong NIC driver...

hi, I’ve got a new host, the host’s got 2 (unsupported) realtek on-board nics and 2 on-board video outs. I think when the OS boots up enum-devices(?) looks at what’s on the pci bus and then tries to load an appropriate driver. The nics though aren’t actually supported and eventually the incorrectly configured io-pkt-v4-hc crashes. So, I’ve slayed io-pkt-v4-hc and restarted it with the correct driver for a NIC I’ve got on a separate card, I then get comms and I’m happy. My problem occurs when I reboot, it looks to me like all (including the unsupported) NICs are then reloaded again and I’ve then lost comms. Please can you tell me how I can stop the unsupported NICs being started/loaded etc? is there a blacklist .conf somewhere? (or a gui…)

I had something similar going on with the video outs, one was supported and one wasn’t, I slayed io-display and started it again correctly and I’ve not had any more trouble, I’m not sure why my NICs aren’t behaving in the same way.


edit… hmm, should I have umount’ed the wrong drivers instead of slaying the io-pkt-v4-hc process?

This is a strange occurrence. The enumeration is done by looking at the PCI Vendor and Device ID. The enumerator does not “try to load an appropriate driver”. It loads drivers that are supposed to work.

I would run “pci” to get the vendor:device id and then take a look a the file /etc/system/enum/devices/net to see what is being loaded. I’d try loading it manually and see if there are any parameters that need adjusting.

Or you can turn off the automatic enumeration all together. This is a little tricky, but a good exercise for when you want to create an embedded system.

apologies… some more info. I’d searched here (qnx.org.uk/developers/hardwa … earch.html) for my on-board NICs device id and not found it but they’re actually supported, it’s just the Did isn’t listed (and I’d searched on Did).

You could automate this by using rc.local. I’ve seen instances of network drivers not working although they are supported, and re-loading them after slaying io-pkt then just worked. I think the enumerator sometimes doesn’t do the right thing when it encounters multiple network interfaces.

@TB, thanks, I’m doing something like that at the moment, it didn’t look very ‘official’ though