I downloaded the latest ISO image from the Arch Linux website and burned the .iso file on an USB drive with some of the many tools you can find on the web.

Once I get on the shell screen I try to test my connectivity to the internet, but it doesn't work. My Ethernet card is correctly detected (I can see it if I do ifconfig) and is also in an "up" state.

I already tried to manually set the configuration using ethtool but with no luck. Also, I already tried re-activating the DHCP service but still no luck. I tried to bring the interface up/down and manually configure an IP address but it still doesn't work.

I searched in dmesg and as far as I can tell the r8xxx module of the kernel for my realtek card is loaded correctly.

I am really running out of options. The most frustrating thing is that only with Arch Linux I have this problem. ALL the other distros run just fine, getting an IP address from DHCP with no intervention from myself what-so-ever, so it's not a compatibility problem here but a configuration one.

I also noted that the dropped packets count increases as time goes by.

Here is some output from the commands:

connect: Network is unreachable

ethtool enp7s1
Settings for enp7s1:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                         100baseT/Half 100baseT/Full 
    Link partner advertised pause frame use: No
    Link partner advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000033 (51)
                   drv probe ifdown ifup
    Link detected: yes

enp7s1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::16da:e9ff:fe21:fdbf  prefixlen 64  scopeid 0x20<link>
        ether 14:da:e9:21:fd:bf  txqueuelen 1000  (Ethernet)
        RX packets 943  bytes 64724 (63.2 KiB)
        RX errors 0  dropped 117  overruns 0  frame 0
        TX packets 17  bytes 2933 (2.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet  netmask
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp7s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 14:da:e9:21:fd:bf brd ff:ff:ff:ff:ff:ff

dmesg | grep r8169

[    2.742091] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    2.742154] r8169 0000:07:01.0 (unregistered net_device): not PCI Express
[    2.742666] r8169 0000:07:01.0 eth0: RTL8169sc/8110sc at 0xffffc9000181e000, 14:da:e9:21:fd:bf, XID 18000000 IRQ 19
[    2.742668] r8169 0000:07:01.0 eth0: jumbo features [frames: 7152 bytes, tx checksumming: ok]
[    9.037449] r8169 0000:07:01.0 enp7s1: link down
[    9.037502] r8169 0000:07:01.0 enp7s1: link down
[   11.874477] r8169 0000:07:01.0 enp7s1: link up


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

sudo systemctl status dhcpcd
● dhcpcd.service - dhcpcd on all interfaces
   Loaded: loaded (/usr/lib/systemd/system/dhcpcd.service; disabled)
   Active: inactive (dead)

I also tried running simply "dhcpd" and it seemed to work (he saw my router and leased me an IP address) but at some point it timed out and didn't get an IP.

  • "but it doesn't work"? how did you test? What you did with ethtool (with exact commands) that didn't work? – Braiam Apr 25 '14 at 17:19
  • Ethtool -s enp7s1 speed 1000 duplex full And it didn't give any errors. Tried to ping google dns with no luck. – Con7e Apr 25 '14 at 17:23
  • edit your question and include the output of ping, and ethtool – Braiam Apr 25 '14 at 17:26
  • 2
    If you're using a recent verion of Arch you shouldn't be using ifconfig. Try ip link set eth0 up where eth0 is the name of your device and start the dhcpd service. The wiki has all of this information readily available along with common problems. – Livinglifeback Apr 25 '14 at 17:41
  • Already tried... didn't work. – Con7e Apr 25 '14 at 17:56

I solved the problem. Apparently there is a problem between my router (Fritz Box) and the dhcp version on Archlinux. They don't interact correctly. To make it possible to have an internet connection, go into your Fritz Box settings and delete the IP related to your machine. Once you do this the router will give out IP's like it should. The problems lies with the "Assign the same IP to this machine" option in the FritzBox settings. Apparently, when you select this option the DHCP on Arch goes crazy. Simply disable it, go back to your PC and get an address and the you can re-enable it without problems. Thank you anyways for your help.

| improve this answer | |

I believe the problem is caused by a Windows/Arch Linux dual-boot setup. The Windows and Arch Linux DHCP clients identify the PC in a different way, so the router thinks they are not one and the same. Setting clientid instead of duid in /etc/dhcpcd.conf fixed this for me (learned from this forum topic). I also have a Fritz Box ADSL modem/router (Fon WLAN 7113).

With duid set, the Fritz Box web interface listed my PC using the network interface name (enp2s0) instead of the hostname. Not sure if this is relevant, but it did strike me as odd.

| improve this answer | |
  • The dhcp client has to be killed with dhcpcd -k and restarted with dhcpcd after the config has been changed. IMO this is the easiest solution to the problem. – Torben Feb 25 '16 at 21:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.