2008年12月11日 星期四

Thinkpad T60's ethernet device doesn't work

Standard
If you have the Thinkpad T60 laptop, maybe you will have a problem - ethernet device doesn't work. With command "dmesg", we can get some error messages that is just like:
0000:02:00.0: The NVM Checksum Is Not Valid
ACPI: PCI interrupt for device 0000:02:00.0 disabled
e1000e: probe of 0000:02:00.0 failed with error -5

It means the contents of EEPROM on the ethernet device was broken, because the checksum is not valid. For all I know, so many Thinkpad T60 laptops has the problem cause e1000e or e1000 driver return the error message and the device doesn't work.

Here is a patch to add a parameter - "eeprom_bad_csum_allow" for the e1000e kernel driver:

e1000e-allow_eeprom_bad_checksums.patch

To enable the option will lead e1000e driver to ignore checking checksums of EEPROM. So you can use the command to load the e1000e driver be patched to enable your ethernet device:
sudo modprobe e1000e eeprom_bad_csum_allow=1

BTW, I think you might see the similar patch for e1000 driver, it also do the same thing.

Well, my patch is base on original kernel of openSUSE 11.0, it also can be applied on the latest version of kernel, because the e1000e driver doesn't change with the security update. If you are not a openSUSE guy, you can try to patch your kernel driver with that still. Let me know if you got any problems on other version of kernel.