-   Linux - Networking (
-   -   Etch continue loading old network card driver after new driver installation (

rtmex 11-21-2007 08:31 PM

Etch continue loading old network card driver after new driver installation
Hi, I downloaded a new version (3.5.17) for my network card (the file is called e100), I compiled the module and added using modprobe e100 and still, everytime the PC starts Debian loads the old driver version (3.5.10), I see that doing a dmesg.
And if I do a lsmod cuz the size of the modules are different, the new version is bigger

If a remove that module (the old version) with modprobe -r e100 and load the newone (with modprobe e100) the new module is loaded, but when I restart the PC, Debian loads the old driver version again.

I even deleted the old e100.ko file from /lib/modules/2.6.18-custom/kernel/drivers/net cuz the new e100.ko file got installed at /lib/modules/2.6.18-custom/kernel/drivers/net/e100

Does anyone know what should I do?

Thanks in advance

MS3FGX 11-22-2007 11:56 PM

modprobe only loads and unloads modules from the currently running kernel, it does not make any changes to the actual system configuration.

To replace the old module with the new one, you first need to delete the old module from the proper directory under /lib/modules. Use uname -r to determine the kernel release you are running and therefore figure out which directory you need to go into. After you have deleted the proper .ko, replace it with the new .ko, and run "depmod -a". This will cause the system to rebuild it's database of kernel modules, which should then cause it to load the new module properly.

rtmex 11-26-2007 02:29 PM

Already did it

As I said in the first post, I already did that, remove the e100.ko old file and Debian is still loading the old driver

This is the output I get after the make install, I hope this help you to figure out what's hapennig

make -C /lib/modules/2.6.18-custom/build SUBDIRS=/home/salomon/nic_driver/e100-3.5.17/src modules
make[1]: Entering directory `/usr/src/linux-source-2.6.18'
CC [M] /home/salomon/nic_driver/e100-3.5.17/src/e100.o
Building modules, stage 2.
CC /home/salomon/nic_driver/e100-3.5.17/src/e100.mod.o
LD [M] /home/salomon/nic_driver/e100-3.5.17/src/e100.ko
make[1]: Leaving directory `/usr/src/linux-source-2.6.18'
# remove all old versions of the driver
find /lib/modules/2.6.18-custom -name e100.ko -exec rm -f {} \; || true
find /lib/modules/2.6.18-custom -name e100.ko.gz -exec rm -f {} \; || true
install -D -m 644 e100.ko /lib/modules/2.6.18-custom/kernel/drivers/net/e100/e100.ko
/sbin/depmod -a || true
install -D -m 644 e100.7.gz /usr/share/man/man7/e100.7.gz
man -c -P'cat > /dev/null' e100 || true
cannot write to /var/cache/man/cat7/e100.7.gz in catman mode

I also add to the /etc/modules.conf file the next line

alias eth0 e100

but did not work, Debian is still loading hte old driver version every time the PC starts

nx5000 11-27-2007 06:07 AM

Try this:

modprobe -r e100
insmod /lib/modules/2.6.18-custom/kernel/drivers/net/e100.ko (not sure of the format, could be without the .ko)
dpkg-reconfigure linux-image-`uname -r`

Probably that your initramfs still contains the old driver, so it needs to be regenerated.
When reconfiguring the linux kernel, I expect that it will call mkinitramfs which should copy your running configuration to the udev one.

All times are GMT -5. The time now is 06:49 AM.