I have been having networking problems whenever my Raspberry Pi is connected to a router configured as a wifi repeater. I have now tried this with two routers, a Netgear WNR2000v3 router running DD-WRT (which inspired this unresolved superuser post, and now an ASUS RT-N12 router/repeater configured as a repeater (using the built-in interface). I have no idea what is going on, but I seem to have narrowed it down to being unique to the Raspberry Pi. As in the superuser post, I am able to connect to other computers on the network over ssh, ping other computers and even play videos off of my main computer's Windows Shared Folders, but I cannot ping the primary router and I cannot connect to anything outside the network. Pinging either (the primary gateway router) or always returns "Destination Host Unreachable".

The only new symptom is that on Raspbmc only, the eth0 interface does not automatically connect anymore (I suspect a dhcp timeout or something). When I exist Raspbmc, get a command line and run sudo ifup eth0, Raspbmc connects to the network fine (but again cannot connect to anything off the network).

Here is the routing table with Raspbmc connected to the repeater both on wlan0 and on eth0:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface         UG    0      0        0 wlan0   U     0      0        0 wlan0   U     0      0        0 eth0

Here is ifconfig (MAC addresses masked):

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:7c
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::ba27:ebff:fe83:947c/64 Scope:Link
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8558 (8.3 KiB)  TX bytes:10992 (10.7 KiB)

lo        Link encap:Local Loopback
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:69
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::7edd:90ff:fe23:8a69/64 Scope:Link
          RX packets:615 errors:0 dropped:0 overruns:0 frame:0
          TX packets:431 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:89342 (87.2 KiB)  TX bytes:71036 (69.3 KiB)

And here are some ARPINGs - another computer on the network:

60 bytes from xx:xx:xx:xx:xx:41 ( index=0 time=2.852 msec
60 bytes from xx:xx:xx:xx:xx:41 ( index=1 time=3.486 msec

And another:

60 bytes from xx:xx:xx:xx:xx:85 ( index=0 time=295.777 msec
60 bytes from xx:xx:xx:xx:xx:85 ( index=1 time=217.084 msec

And the repeater:

60 bytes from xx:xx:xx:xx:xx:f0 ( index=0 time=1.679 msec
60 bytes from xx:xx:xx:xx:xx:f0 ( index=1 time=1.239 msec

It seems that this is a problem inherent to Raspberry Pi, as I have tried the same configuration with a Mac Laptop, Windows 7 and 8 Laptops, a VM running Ubuntu Linux (with a bridged network adapter configuration), an android phone and two RPis running either Raspbian or Raspbmc (I tried all combinations of SD card and RPi). I also have tried using the eth0 ethernet port as well as a USB wifi-adapter. The connection works fine for everything EXCEPT the Raspberry Pis - and the Raspberry Pis do not work using any of the OSes or on either interface.

Here's my /etc/network/interfaces file:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Everything seems fine to me in that configuration, but obviously something is wrong.

Update Since I have 3 routers, I've changed the primary (gateway) router out as well to see if this is the problem. This does not help at all.

  • +1 for the detailed description. Did you check if your main router is listed in the RPi's arp table? arp -n or if you have the iproute2 installed: ip neigh If necessary you can add the router in the arp cache with this command : arp -s <ROUTER_MAC> <ROUTER_IP> and see if you still have the problem. – ripat Dec 10 '13 at 10:50
  • ... and of course it should be arp -s <ROUTER_IP> <ROUTER_MAC> and not the other way around as in my comment above. – ripat Dec 11 '13 at 6:01