There are 4 commands that are particularly helpful for troubleshooting driver problems:
lsmod: list all modules that are installed
modprobe: install a specific driver
rmmod: uninstall a driver
locate: find any file on the system containing a specific string
So if I've got a 3Com 905c card, and I know that the correct driver for it is the 3c59x driver I might do this:
1. Verify that it exists on the system:
# locate 3c59x
/lib/modules/2.6.12-1.1372_FC3/kernel/drivers/net/3c59x.ko
/lib/modules/2.6.10-1.770_FC3smp/kernel/drivers/net/3c59x.ko
/lib/modules/2.6.12-1.1372_FC3smp/kernel/drivers/net/3c59x.ko
/lib/modules/2.6.12-1.1378_FC3/kernel/drivers/net/3c59x.ko
/lib/modules/2.6.10-1.770_FC3/kernel/drivers/net/3c59x.ko
2. OK, it exists. Now I'll check to see if it's loaded:
# lsmod | grep 3c59x
3. No response means it's not loaded so I'll load it with modprobe:
# modprobe 3c59x
4. Now lsmod will show that it is installed:
# lsmod | grep 3c59x
3c59x 44905 0
mii 9537 1 3c59x
5. If I want to uninstall it I can use rmmod:
# rmmod 3c59x