This page was exported from phaq [ http://phaq.phunsites.net ]
Export date: Tue Apr 23 18:20:33 2024 / +0000 GMT
Well, sometimes obvious things aren't quiet as obvious as supposed.

After plugging in a dual Intel Pro 1000 into my Debian box and hooking it up to my ancient Cisco 1924 switch, I noticed this in the kernel logs:

Jul 31 09:10:35 localhost kernel: e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Half Duplex

I though it should be fairly easy set the interface speeds properly so the devices would actually talk to each other.

While doing so on the Cisco was actually easy, the Linux box would refrain from doing so at a first glance.

#ethtool -s eth0 speed 100 duplex full

Running the command given above resulted in an error preventing me to set the parameters. It took me a while to find out that I had to actually turn off auto negotiation to make it work, too.

#ethtool -s eth0 speed 100 duplex full autoneg off

Now I had to make this change permanent as it would reset to defaults after the next reboot. I did so by adding the post-up line to my /etc/network/interfaces file:

auto eth0
iface eth0 inet static
post-up /usr/sbin/ethtool -s eth0 speed 100 duplex full autoneg off
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1

It should be noted, that the module documention at Intel's website does not actually state that auto-negotiation must be turned off when setting interface speed and duplex modes. The question remains if this was only the case on my particular setup or if it is an absolute requirement after all.
Powered by [ Universal Post Manager ] plugin. HTML saving format developed by gVectors Team www.gVectors.com