{"id":630,"date":"2008-06-21T23:09:08","date_gmt":"2008-06-22T04:09:08","guid":{"rendered":"http:\/\/adam.rosi-kessel.org\/weblog\/?p=630"},"modified":"2008-06-23T23:06:11","modified_gmt":"2008-06-24T04:06:11","slug":"a-much-simpler-fix-for-the-r8169-link-down-problem","status":"publish","type":"post","link":"http:\/\/adam.rosi-kessel.org\/weblog\/2008\/06\/21\/a-much-simpler-fix-for-the-r8169-link-down-problem","title":{"rendered":"A Much Simpler Fix for the r8169 &#8220;Link-Down&#8221; Problem"},"content":{"rendered":"<p>There is a widespread problem with the Linux driver for the Realtek 8168\/8169 cards where the modules load properly and the card is visible but no link is detected. E.g.:<\/p>\n<blockquote><p>\nJun 21 18:28:41 localhost kernel: r8169: eth0: link down<br \/>\nJun 21 18:28:41 localhost kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready\n<\/p><\/blockquote>\n<p><a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=538448\">There are lots of details and suggested solutions from the Ubuntu people<\/a>. None of the suggestions worked for me, however. Several of them suggest configuring the card under Windows, but the box containing this device is a single-boot linux fileserver. The &#8220;wake-on-LAN&#8221; functionality seems to be implicated, but not in a way I can see how to fix.<\/p>\n<p>After much head-banging (in the bad sense), I found a simple solution:<\/p>\n<p>(1) Install ethtool<br \/>\n(2) Modify \/etc\/network\/interfaces as follows (substitute your r8169 interface for &#8216;eth1&#8217; and other settings accordingly):<\/p>\n<blockquote><p>\niface eth1 inet static<br \/>\n   <b>pre-up \/usr\/sbin\/ethtool -s eth1 autoneg off<\/b><br \/>\n   address 192.168.98.1<br \/>\n   netmask 255.255.255.0\n<\/p><\/blockquote>\n<p>This did the trick for me where no other solution would work. Of course, link autodetection no longer occurs, but that&#8217;s a small price to pay for connectivity.<\/p>\n<p>This is a Debian etch installation using a slightly more recent kernel (2.6.25-2-686).<\/p>\n<p>As an interesting side note, on this new box, the interface appears as eth0 in the kernel logs, but is actually mapped as eth1. Similarly, a second Ethernet interface appears in the log as a different device number than that by which it is referenced. Any ideas why?<\/p>\n<p>Update 6\/22\/08: Still not getting 1000BaseT (Gigabit), however. If I force 1000BaseT with ethtool -s eth1 speed 1000, the link goes down again (even with autoneg off). The same card in another box, however, detects the link and goes to 1000BaseT automatically. So I&#8217;m stuck at 100BaseT.<\/p>\n<p>Update 6\/24\/08: Linux 2.6.26-rc5 fixes the problem 100% for me.<\/p>\n<p>[Tags]realtek, r8169, linux, drivers, hacking[\/Tags]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is a widespread problem with the Linux driver for the Realtek 8168\/8169 cards where the modules load properly and the card is visible but no link is detected. E.g.: Jun 21 18:28:41 localhost kernel: r8169: eth0: link down Jun 21 18:28:41 localhost kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready There are lots of details [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[25,15,26,19],"tags":[100,101,159,99,98],"_links":{"self":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/posts\/630"}],"collection":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/comments?post=630"}],"version-history":[{"count":0,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/posts\/630\/revisions"}],"wp:attachment":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/media?parent=630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/categories?post=630"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/tags?post=630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}