Make Intel’s 8257x based Gigabit Adapters work with Ubuntu 8.04 “Hardy Heron”

When testing out Ubuntu 8.04 “Hardy Heron” today, it was a quite smooth ride except for my network card not being detected correctly. Well, it’s an Intel PCIe Gigabit NIC equipped with the 82572EI chip. This poses two problems: First, the adapter is incorrectly identified as a standard Intel PRO/1000, thus ubuntu picks the wrong driver and uses e1000.ko instead of e1000e.ko.
This can be easily fixed by adding the line “alias eth0 e1000e” to /etc/modprobe.d/aliases. Unfortunately I had to find out that the driver shipped with Hardy’s kernel is a bit dated, so I also had to compile a new kernel driver. Downloaded the sources from Intel’s engineering driver download site at Sourceforge, unpacked and ran “sudo make install”. Afterwards I just had to restart networking and lo and behold, I had network connectivity.
Update: As I had to learn the hard way, the e1000 driver will get loaded on every restart, thereby blocking the e1000e driver from accessing the NIC. To fix this, I had to add the following code to /etc/rc.local:

rmmod e1000
rmmod e1000e
modprobe e1000e
/etc/init.d/networking restart

12 thoughts on “Make Intel’s 8257x based Gigabit Adapters work with Ubuntu 8.04 “Hardy Heron”

  1. Auke Kok

    Just a minor correction:

    The 82572 adapter is a PCI Express adapter. PCI-X is something completely different (an extension of the PCI 1.x bus specification).

    Second of all it’s too bad that somehow Ubuntu has picked up the wrong configuration for picking e1000/e1000e. I suggest that you file a bugreport with them so that this can be addressed.

    Third, please change the download link for the e1000/e1000e driver to ‘e1000.sf.net’ – this is where the engineering team releases their drivers themselves (me actually usually). This page will be a bit easier to find.

    (BTW the term “eepro” is not a brand name Intel ever used, we just call them ‘pro/1000 adapters’). But that’s just a nitpick ;).

    Cheers,

    Auke (From the intel e1000 team).

  2. Stefan Rubner Post author

    Thanks for the corrections, I updated the post accordingly. The reason I posted the deep link to the main Intel site is that using a query of “e1000 driver linux” will actually result in e1000.sf.net listed on top, whereas googling for “e1000e driver linux” will not :-(

  3. TY

    Hi,

    I had the same problem.
    My solution is to add “e1000e” into /etc/initramfs-tools/modules with “e1000” excluded, then run “sudo update-initramfs -c -k all” (or whatever your favorite options).

    Of course, I updated the driver with the sourceforge one (thanks to your suggestion ;-)

  4. Pingback: modprobe f

  5. Stefan Rubner Post author

    Ah, guys, you’re both right. The reason I still prefer the rc.local approach is that that’s where I look first for modifications I made to the system. Also, this will survive any potential kernel upgrade and can be switched on and off easily. At the end of the day, you choose what works best for you and that’s no different with me ;)

  6. David Burgess

    Thanks for the heads up. I’m on Ubuntu as well, and all though I noticed I was using the e1000 driver, I was not aware of the problems it was causing me until I read this and made the change.

    Has anybody filed a bug report on this yet?

    db

  7. Carlos Angeles

    I have a Intel Pro/1000PT Quad Low profile installed in a Dell 2950 that is running Ubuntu 8.04 LTS. I have a connection to an iSCSI chassis on one of the Pro/1000 ports. I am seeing a lot of the errors below in /var/log/syslog. I see that the install did detect, and is currently using, the e1000 driver instead of the e1000e driver. Would using the e1000 driver instead of the e1000e driver cause those errors?

    Doing an lspci lists

    0c:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)

    and I believe that’s a e1000e adapter not a e1000.

    Thanks,
    Carlos

    May 4 22:15:33 sam iscsid: connection1:0 is operational after recovery (2 attempts)
    May 4 22:16:30 sam iscsid: Nop-out timedout after 15 seconds on connection 1:0 state (3). Dropping session.

  8. Stefan Rubner Post author

    Actually, this is the same adapter as the one I had problems with. So, yes, chances are that using the e1000e driver will fix your problem.

  9. Carlos Angeles

    Thanks for the quick reply, Stefan!

    One more question. I read a post on a forum to not use gcc 4.x that is installed by default on Ubuntu. It said to install gcc-3.4-base, cpp-3.4 and gcc-3.4. Did you need to do that or did it compile alright with gcc 4.x?

  10. Carlos Angeles

    I went ahead and did it with gcc v4.x since I believe it’s past midnight where you are and you’ve probably gone to sleep. I got an error installing the man page for it but the driver installed before the error.

    Thanks!!

Comments are closed.