- Dowload appropriate source for the e1000e driver: http://sourceforge.net/projects/e1000/files/e1000e%20stable/2.3.2/e1000e-2.3.2.tar.gz
- Extract archive to /usr/src.
- Create a dkms.conf in the /usr/src/e1000e-2.3.2 directory with the following contents:
PACKAGE_NAME="e1000e"
PACKAGE_VERSION="2.3.2"
BUILT_MODULE_LOCATION[0]="src"
BUILT_MODULE_NAME[0]="e1000e"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/e1000e/"
AUTOINSTALL="yes"
MAKE[0]="BUILD_KERNEL=${kernelver} make -C src CFLAGS_EXTRA=-DDISABLE_PM"
CLEAN[0]="make -C src clean"
REMAKE_INITRD=yes - Now just add the module via dkms:
dkms -m e1000e -v 2.3.2 add
dkms -m e1000e -v 2.3.2 build
dkms -m e1000e -v 2.3.2 install
After completion, you should restart the system to verify that the initial ramdisk got rebuilt correctly, and that the correct version of the driver is being used (modinfo e1000e).
Thursday, June 6, 2013
DKMS for updated e1000e driver
So, since I updated the e1000e driver, I've gotten no more errors in my messages logs. However, it does seem that every month or two, a kernel update gets pushed to Squeeze, which un-does my driver fix. When I worked at Dell, and we needed driver to be recompiled for any kernel that got installed, DKMS was the solution. I rarely have to use cutting edge hardware with, umm, mature operating systems these days (I use old hardware with old operating systems), I hadn't given it much thought. While DKMS is awesome when someone else does all the upfront work for you, trying to sort it out on one's own is significantly less fun. I spent several hours over the course of a couple of weeks reading various things, and all of them failing to do what I wanted. Got back to this week and finally got it sorted out.
Subscribe to:
Post Comments (Atom)
Thank you for posting this.
ReplyDelete