I have been using my TL-MR3420 (Version 2.2) router as a repeater for a month. The access point in my house is an Apple Airport which delivers pretty good signal even when there exists several obstacles (walls, doors) between the Airport and my WLAN card. But I badly needed a repeater for syncing files from/to my wireless devices. So I turned my old router into a WiFi repeater.
First, let's disable the firewall and DNS masquerading because we will be using a Bridged Repeater which will act exactly like the Airport I have been using as access point. First, install relayd
which will get most of the job done for us.
/etc/init.d/firewall stop
/etc/init.d/firewall disable
/etc/init.d/dnsmasq stop
/etc/init.d/dnsmasq disable
opkg update # in case the feeds are outdated
opkg install relayd
Now configure /etc/config/wireless
as the following.
# nano /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option channel '11' # Same as source
option hwmode '802.11n' # Use bgn if needed
option path 'platform/ar934x_wmac'
option htmode 'HT40-' # 300MB/s
option txpower '30'
option country 'BD'
option noscan '1'
config wifi-iface
option device 'radio0'
option network 'wwan'
option encryption 'psk2'
option key '12345678'
option mode 'sta'
option ssid 'source_ssid'
config wifi-iface
option device 'radio0'
option network 'lan'
option encryption 'psk2'
option key '87654321'
option mode 'ap'
option ssid 'repeater_ssid'
Now let's change /etc/config/network
also. You have to be very careful in this step. Otherwise the repeater may not work, or even if it works, you may not get internet connectivity through it.
# nano /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth0'
option force_link '1'
option type 'bridge'
option proto 'static'
option ip6assign '60'
option ipaddr '192.168.10.1' # for relayd
option gateway '10.0.1.1' # gateway of source
option netmask '255.255.255.0'
option dns '10.0.1.1' # dns of source
config interface 'wwan'
option proto 'static'
option ipaddr '10.0.1.254' # any ip from source
option netmask '255.255.255.0'
option gateway '10.0.1.1'
config interface 'stabridge'
option proto 'relay'
option network 'lan wwan'
option ipaddr '10.0.1.254'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 3 4'
Note that I have used 10.0.1.254
which will be the repeater's IP address. This is very important to set this IP correctly. Do not set IP address like 10.0.1.1
which is the gateway of the access point (!) or any other IP which is already reserved in the Airport (or any source WiFi access point). You can later ssh
or telnet
using the IP address of the stabridge
device.
Now, edit /etc/config/dhcp
according to the following.
# nano /etc/config/dhcp
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option ignore '1'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
Now we are almost done. Now just enable relayd
and reboot the router.
/etc/init.d/relayd enable
reboot
After 15-30s of boot, you can see the new repeater SSID in the WiFi menu of your phone/computer. Connect to it and check if the internet works.
If you fail, review the config files and keep trying. I suggest you to closely observe the config file because if you miss one single character, the WiFi may not start, or the internet connectivity might fall.
Good luck!