Code Blog

Displaying 1-1 of 1 result.
2017/06/05 Network

The GL-MT300A from GL.iNet is a tiny usb-powered router with pretty good hardware that comes with OpenWRT pre-installed and with GL-iNet's on GUI on top of OpenWRT.

WDS (Wireless Distribution System) is a protocol for extending the range of wireless router, so that a secondary layer of wireless routers can act as relays to the base wireless router. GL-MT300A comes with WDS support, but for this to work the base router must also support WDS.

Obviously the best way to extend a wireless network is by connecting them with ethernet cables (aka wireless multiple AP / roaming network). If this is not possible then WDS may be the only option available. It will come with a hefty performance penalty as the base router will have to half its bandwidth to communicate with clients and relay routers (in WDS static mode).

My base router is an Apple Airport Time Capsule so had to check what's available from Apple. Apple's website actually recommends "Wirelessly Extended Network" for newer routers supporting 802.11n (2.4 & 5GHz support, up to 600Mbps) and "WDS" for older routers that only have 802.11g (54Mbps). This is somewhat confusing but from another post online it seems Apple's terminology actually refers to two types of WDS - static and dynamic. The dynamic version supports the faster 802.11n wifi standard and will also not suffer as bad for the half duplex mode of communication between base and relay routers. 

Using OpenWRT there is also another way to set up wireless bridging and that is using "relayd" (pseudobridge). This works even if WDS is not supported on the base router. This is what I will be using for my GL-MT300A router.

Click on the "advanced" link in upper right corner to enter OpenWRT Luci interface. 

1. Install relayd and luci-proto-relay (GUI) packages.

2. Go to System -> Startup and find relayd in the list. Set relayd to enabled.

3. Go to Network->Interfaces, click "Add new interface".

4. Set the name of the new interface to for example "relaybridge", set proto type to be "Relay bridge", and then click "Submit".

5. In the detailed page of this interface set the IP address to the IP address assigned from the base router. For "Relay between networks" select both "Lan" and "Wan", then click "Save".

6. Next click on "LAN" tab on the top to edit Lan settings. Set the gateway to be your main router’s IP. Set
the DNS to be your main router’s DNS. Scroll down to the "DHCP Server" section, check
"Ignore Interface" and click "Save".

7. Go to Network -> Firewall, and click to edit the "Lan" zone. 

8. In "Covered networks" select "Wan", then click "Save".

9. In the top right corner, there is a notification saying "UNSAVED CHANGES"; click on it to enter a detailed listing of changes, then click “Save & Apply”. Now the changes are applied and hopefully the router will start working as a relay bridge.

 

Useful links:

How to flash the router firmware via Uboot Web UI / Debricking the router:
https://www.gl-inet.com/how-to-enter-the-uboot-web-ui/

Firmware download location:
http://www.gl-inet.com/firmware/mt300a/

GL.iNet article - How to set up a repeater bridge
https://www.gl-inet.com/how-to-setup-repeater-bridge-using-openwrt-on-gli-mini-routers/ 

GL.iNet PDF guide - How to set up a repeater bridge
http://www.gl-inet.com/wordpress/wp-content/uploads/2016/05/relayd.pdf

OpenWRT article - Routed Client with relayd (Pseudobridge)
https://wiki.openwrt.org/doc/recipes/relayclient 

Wireless Distribution System (Wikipedia)
https://en.wikipedia.org/wiki/Wireless_distribution_system