after horrible experiences with an AVM Wifi Stick (it just restarts every 30 seconds… this is a HARDWARE problem not a software problem! it shows the same behavior under windows… shame on AVM) i thought: Why can’t i use this spare router as an AdHoc Wifi-Client to connect to the Wifi-internet instead of an USB dongle?

and with the power of linux… it actually is possible. not only with this router but any router that can run OpenWRT and has WDS feature.

you do not even need to modify the firmware.

it is maybe not a perfect solution (dd-wrt or OpenWRT + relayd might be the cleaner solution)– because you will have to set a fixed ip to all clients that connect to the router via LAN-cable.

also i am observing some WDS restarts „init…“

Hardware Version WR841N v11 00000000 Firmware Version 3.16.9 Build 151021 Rel.76995n

config the router:

i assume you have factory defaults… when you connect via LAN cable to Port1 of your router – the router the first time you get an dynamic IP address 192.168.XXX.100.

So your router will be available at 192.168.XXX.1 – browse to that.

Default Username and Password are:

usr: admin
pwd: admin

  1. Disable WPS, UPnP – it is a security problem – maybe also IPv6 support if you do not need it (usually not inside LANs).
  2. You can leave the Firewall on.
  3. Go to network settings: and change the router’s IP to something (e.g. else than your Wifi AP’s network (

reboot the router and reconnect to the new IP…

save the settings… go to Wireless Security and give your TP-LINK a Wifi password.

then restart the router.

disable DHCP inside the TP-LINK router:

now your client’s should automatically get DHCP-assigned-IP-address from your main-internet enabled WiFi-Router.

if you need to reconnect with your router fire up a root terminal:

ifconfig eno1:0 up



should work.

the router should now be able to connect to the internet via your other Wifi router.

if not try this:

optional: config the client(s)

but once this is configured – it works flawlessly.

the big antennas of the router provide pretty good reception.

ifconfig; # old command - not available in CentOS7 anymore :(
eth5      Link encap:Ethernet  HWaddr 00:e0:6f:28:fe:97  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::2e0:6fff:fe28:fe97/64 Scope:Link

ip addr show; # alternative command
2: eth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:e0:6f:28:fe:97 brd ff:ff:ff:ff:ff:ff
    inet brd scope global eth5
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:6fff:fe28:fe97/64 scope link 
       valid_lft forever preferred_lft forever

ifconfig eth5:0 up; # give your NIC a new IP to access the router as well as internet at the same time

ip route show; # show routes
default via dev eth5 proto static metric 1024 dev eth5 proto kernel scope link src dev eth5 proto kernel scope link src 

# you should be able to ping
ping; # the tplink router
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.279 ms
64 bytes from icmp_seq=2 ttl=64 time=0.277 ms
64 bytes from icmp_seq=3 ttl=64 time=0.252 ms

ping; # the router that got internet
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=4.52 ms
64 bytes from icmp_seq=2 ttl=64 time=4.64 ms
64 bytes from icmp_seq=3 ttl=64 time=3.01 ms

ping; # the internet
PING ( 56(84) bytes of data.
64 bytes from ( icmp_seq=1 ttl=46 time=193 ms
64 bytes from ( icmp_seq=2 ttl=46 time=195 ms
64 bytes from ( icmp_seq=3 ttl=46 time=204 ms