Linux Network Problems with RTL8111C


Today, I tried to setup a new server using an ECS A780VM-M2 Motherboard. It takes an AMD AM2/AM2+ socket processor. It uses the AMD 780V "business class" chipset, which mostly means basic functionality and unspectacular graphics; ideal for a Linux server.

I was trying to install the Debian Etch (stable) Linux kernel and ran into a major snag: the network doesn't work. That's because the version of the r8169 Ethernet driver currently included in the Debian Etch (stable) kernel (version 2.6.18-5) doesn't support the Realtek RTL8111C Ethernet chip on the motherboard.

There are several workarounds, neither pretty.

One solution is to switch to the Debian Lenny (testing) distribution, which has a newer version of the kernel and drivers. The problem there is that I'd prefer to be running the stable distribution on my main network server, not the testing distribution. Actually, it's not as bad as it sounds. Debian has a history of glacial release cycles, although they are trying to remedy that. There have been times in the past (I'm thinking of the Sarge era) when I've had to run the testing version, and did so without significant repercussions.

Another solution is to download the r8169 driver source and build it.

I did that, but it was messy. First, you need to install a lot of packages to be able to build kernel modules. Unfortunately, without a working network I had to manually resolve the dependencies, download the packages by hand, and copy them over on a USB memory stick. Once done, the module built and installed just fine.

The second problem, however, is that anytime a kernel update is issued, I'll need to repeat that process and rebuild the kernel module for the updated kernel. That, unfortunately, is not as simple as just running a make after the update. You actually have to download, install, and configure updated kernel sources.

Even though I have the driver working now, that final issue remains a big concern. So I may end up going back and reinstalling with Lenny to resolve this.

Nov 2 update: Another workaround is to install an add-on Ethernet board that's supported, at least until a revised driver becomes generally available. For an extra $20, that's not a terrible solution.