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

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. 192.168.1.1) else than your Wifi AP’s network (192.168.0.1)

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.

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

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:192.168.0.127  Bcast:192.168.0.255  Mask:255.255.255.0
          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 192.168.0.127/24 brd 192.168.0.255 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 192.168.1.123 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 192.168.0.1 dev eth5 proto static metric 1024 
192.168.0.0/24 dev eth5 proto kernel scope link src 192.168.0.127 
192.168.1.0/24 dev eth5 proto kernel scope link src 192.168.1.123 

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

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

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

 

VOILA!

admin