Comment 3 for bug 239852

Revision history for this message
Marcin Sochacki (wanted) wrote :

People on ubuntuforums suggest to recompile the kernel, but I found a much simpler workaround, which should be enough until we get it from the official source.

The solution is to simply patch the binary kernel driver sky2.ko to recognize the problematic PCI ID. You can get the list of known PCI IDs with "modinfo sky2".

Here's how to patch the driver:
# rmmod sky2
# cd /lib/modules/2.6.24-16-generic/kernel/drivers/net
# cp -p sky2.ko{,.orig}
# perl -pe 's/\0\0\x6c\x43/\0\0\x55\x43/g' sky2.ko.orig > sky2.ko

In my case, I sacrificed the PCI ID of 436c and replaced it with 4355 (which is the 88E8040T). You can compare the original and the new file with hexdump -- they should only differ in one place, in my case it's at the offset 0x7170.

Now run "modprobe sky2" and check with dmesg if your network card has been recognized.