Installed new Intel driver - after boot old is active again

Questions about Wi-Fi and other network devices, file sharing, firewalls, connection sharing etc
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
hir0

Installed new Intel driver - after boot old is active again

Post by hir0 »

Hi,

I had a autoneg issue on Mint 14 and my e1000e Driver with 82579LM Gigabit Network card.
So I installed the newest driver (2.2.14-NAPI) from the Intel Page successfully with rmmod e1000e and then modprobe e1000e

There is still an issue:
Booting the system loads the original shipped driver (2.0.0-k).
After performing a manual rmmod e1000e then modprobe e1000e the new driver is active again... until the next system boot.

Blacklisting e1000e still loads the old driver, have no idea what else to check.
How does Mint load drivers during boot and how to change the behavior?

Thanks in advance for any help!


Some logs:
===========

uname -a
Linux gans-lnx 3.5.0-25-generic #39-Ubuntu SMP Mon Feb 25 18:26:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep Ethernet
Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)

~ $ sudo modprobe -l e1000e
kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko

~ $ sudo grep e1000e /var/log/dmesg
[ 2.257975] e1000e: Intel(R) PRO/1000 Network Driver - 2.0.0-k
[ 2.257979] e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
[ 2.258212] e1000e 0000:00:19.0: setting latency timer to 64
[ 2.259684] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 2.259733] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
[ 2.454923] e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) f0:de:f1:79:4a:c6
[ 2.454927] e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[ 2.454978] e1000e 0000:00:19.0: eth0: MAC: 10, PHY: 11, PBA No: 1000FF-0FF
[ 4.036412] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
[ 4.139600] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X

After boot:
---------------
sudo ethtool -i eth0
driver: e1000e
version: 2.0.0-k
firmware-version: 0.13-3
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

After rmmod and modprobe e1000e:
---------------------------------------
~/Downloads/e1000e-2.2.14/src $ sudo ethtool -i eth0
driver: e1000e
version: 2.2.14-NAPI
firmware-version: 0.13-3
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no


/sbin/modinfo e1000e | head -6
filename: /lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version: 2.2.14-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 540642738E4AE63E16037EB
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
viking777

Re: Installed new Intel driver - after boot old is active ag

Post by viking777 »

You have to add the module name to the file /etc/modules if you want it to start at boot up.
hir0

Re: Installed new Intel driver - after boot old is active ag

Post by hir0 »

viking777 wrote:You have to add the module name to the file /etc/modules if you want it to start at boot up.
This makes no difference, in my case the old and the new driver have the same module name.
I added it to /etc/modules, but again the old driver is loaded...

~ $ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
e1000e
lp
rtc
coretemp

I do not understand, why this is loaded:
~ $ dmesg | grep e1000e
[ 1.637450] e1000e: Intel(R) PRO/1000 Network Driver - 2.0.0-k

when I check after boot:
~ $ /sbin/modinfo e1000e | head -6
filename: /lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version: 2.2.14-NAPI

Same name- differen version....
viking777

Re: Installed new Intel driver - after boot old is active ag

Post by viking777 »

What I think has happened here is that the driver has not been installed properly.

Can you provide the output of:

Code: Select all

ls -R ~/Downloads/e1000e-2.2.14/src
hir0

Re: Installed new Intel driver - after boot old is active ag

Post by hir0 »

here you are.

~ $ ls -R ~/Downloads/e1000e-2.2.14/src
~/Downloads/e1000e-2.2.14/src:
80003es2lan.c 82571.c defines.h e1000e.mod.c e1000.h hw.h ich8lan.o kcompat.h mac.h manage.c modules.order netdev.c nvm.h param.o phy.o
80003es2lan.h 82571.h e1000e.7.gz e1000e.mod.o ethtool.c ich8lan.c kcompat.c kcompat.o mac.o manage.h Module.supported netdev.o nvm.o phy.c ptp.c
80003es2lan.o 82571.o e1000e.ko e1000e.o ethtool.o ich8lan.h kcompat_ethtool.c mac.c Makefile manage.o Module.symvers nvm.c param.c phy.h regs.h

thanks
viking777

Re: Installed new Intel driver - after boot old is active ag

Post by viking777 »

Not what I was expecting that hir0. I thought a new .ko file might be lurking in there somewhere. My theory was that the new module might have been called something like e1000e-2.2.14-NAPI and that is what you needed to put into /etc/modules. Has a .ko file with a different name been copied into /lib/modules perhaps?

Code: Select all

ls -R /lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel

Would tell you.

If by any chance it has, put the name of the new module into /etc/modules and blacklist the old e1000e.ko.

Just a guess though, could easily be wrong.
hir0

Re: Installed new Intel driver - after boot old is active ag

Post by hir0 »

unfortunately not really, I blacklisted e1000 the others seems to be not related.

Code: Select all

/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000:
e1000.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000e:
e1000e.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/igb:
igb.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/igbvf:
igbvf.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/ixgb:
ixgb.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/ixgbe:
ixgbe.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/ixgbevf:
ixgbevf.ko
Absolutely no idea how the system can load v2.0.0-k with the name "e1000e" when its clearly related to my upgraded NAPI version:

Code: Select all

~ $ sudo cat /sys/module/e1000e/version
2.0.0-k

 ~ $ /sbin/modinfo e1000e | head -6
filename:       /lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version:        2.2.14-NAPI
license:        GPL
description:    Intel(R) PRO/1000 Network Driver
author:         Intel Corporation, <linux.nics@intel.com>
srcversion:     540642738E4AE63E16037EB

~ $ sudo cat /proc/modules | grep e1000e
e1000e 199273 0 - Live 0xffffffffa0000000

you can see, the manual rmmod --> insmod (or modprobe) solves this right after boot:

Code: Select all

~ $ sudo rmmod e1000e
~ $

~ $ sudo insmod /lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko 
~ $ 

~ $ sudo cat /sys/module/e1000e/version
2.2.14-NAPI

~ $ sudo ethtool -i eth0
driver: e1000e
version: 2.2.14-NAPI
firmware-version: 0.13-3
bus-info: 0000:00:19.0

~ $ sudo cat /proc/modules | grep e1000e
e1000e 204358 0 - Live 0xffffffffa04dd000 (O)
DrHu

Re: Installed new Intel driver - after boot old is active ag

Post by DrHu »

Intel guide for ethernet driver file..
http://www.intel.com/support/network/sb ... tm#add_e1e
  • Additional configurations
    Configuring the driver on different distributions
    Configuring a network driver to load properly when the system is started is distribution dependent. Typically, the configuration process involves adding an alias line to /etc/modules.conf or /etc/modprobe.conf as well as editing other system startup scripts and/or configuration files.
--same link, you may also want to disable napi, says that is ON by default (polling mode); would be slower
  • NAPI
    NAPI (Rx polling mode) is supported in the e1000e driver. NAPI is enabled by default.
    To disable NAPI, compile the driver module, passing in a configuration option:
    # make CFLAGS_EXTRA=-DE1000E_NO_NAPI install
Also try ethertool to check driver setup/config ...just to make sure, proibably you can save its state..

http://downloadmirror.intel.com/15817/eng/README.txt
  • The binary will be installed as:
    /lib/modules/<KERNEL VERSION>/kernel/drivers/net/e1000e/e1000e.[k]o
    The install locations listed above are the default locations. They might not be correct for certain Linux distributions.
--the driver readme file,

http://comments.gmane.org/gmane.linux.d ... devel/9934
--might be something useful there, developer comments, but that driver did have bugs that required a patch for the Linux 2.67x kernel, maybe it is just a problematic device..
hir0

Re: Installed new Intel driver - after boot old is active ag

Post by hir0 »

DrHu wrote: Typically, the configuration process involves adding an alias line to /etc/modules.conf or /etc/modprobe.conf as well as editing other system startup scripts and/or configuration files
Yes, I've read this which leaded me to post my issue here because I already estimated there is something else to do on OS level...
Your input inspired me to ask google again in an other context and really found the solution for my issue - documented below:

Here the procedures I already did several times - just unload and load same e1000e module:

Code: Select all


~ $ sudo cat /sys/module/e1000e/version
2.0.0-k

~ $ sudo rmmod e1000e
~ $ sudo insmod /lib/modules/3.5.0-25-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko 

~ $ sudo cat /sys/module/e1000e/version
2.2.14-NAPI
Here's the final trick, gathered from following site:
http://serverfault.com/questions/293615 ... -on-bootup
It's all about initrd
Try rebuilding the initrd and it should pick up the newly-installed version.

Code: Select all

~ $ sudo update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-3.5.0-25-generic
Warning: No support for locale: en_US.utf8
update-initramfs: Generating /boot/initrd.img-3.5.0-17-generic
Warning: No support for locale: en_US.utf8

*reboot*

~ $ dmesg | grep e1000e
[    1.649653] e1000e: Intel(R) PRO/1000 Network Driver - 2.2.14-NAPI
[    1.649657] e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
[    1.649698] e1000e 0000:00:19.0: setting latency timer to 64
[    1.649766] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    1.662129] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
[    1.848328] e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) f0:de:f1:79:4a:c6
[    1.848330] e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[    1.848381] e1000e 0000:00:19.0: eth0: MAC: 11, PHY: 11, PBA No: 1000FF-0FF
[    2.685729] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
[    2.788350] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
[   14.493286] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X

Thanks for guiding me through this viking777 and DrHu!
Locked

Return to “Networking”