Introduction: Setting Up a Wireless Hotspot Using TP-Link TL-MR3020 Wireless N Router
This is a guide on how to setting up a simple wireless hotspot using a TP-Link TL-MR3020 3G/4G Wireless N Router installaing with NoDogSplash. The goal is to provide a free hotspot with a splash page to advertise who is providing the hostpot, it should work as well for other OpenWRT supported router.
Step 1: OpenWRT Firmware
The router firmware must upgrade to OpenWRT before you can installing the NoDogSplash.
- Download the OpenWRT firmware for TP-Link TL-MR3020 to the computer.
- I'm download openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin to my computer since my router hardware version is Version 1.
- Connect the router to the computer via a network patch cable.
- Launch the browser and navigate to http://192.168.0.254 which is the default IP for TP-Link TL-MR3020.
- Log in to router, enter admin for both User Name and Password.
- Click on System Tools and select Firmware Upgrade
- Click on Browse button and choose the OpenWRT firmware that you had downloaded to your computer.
- Finally click on Upgarde button to start the firmware upgrading as shown in figure above.
Step 2: Login to OpenWRT
- Navigate to http://192.168.1.1 (notice that the IP had been changed from 192.168.0.254).
- Click on Login button without enter any password.
- For first time login, please click on Go to password configuration to change the password and SSH will be enabled automatically.
Step 3: OpenWRT Status Page
As shown in figure is the OpenWRT status for my TP-Link TL-MR3020
Step 4: Overview of My Network Setup
For security purposes, it is setup to two different IP ranges on the network, so the external network will not link to my internal network. Here’s an overview of my network setup.
- AP (existing WIFI with internet connection): 192.168.1.1
- TP-Link TL-MR3020: 192.168.0.1
Step 5: Changing the Router IP Address
Select Network->Interfaces and click on Edit button as shown.
Step 6: Change to Desired Network IP
I'm using 192.168.0.1 for my router.
- Reboot the router and waiting the router to boot up.
- Renew your computer IP and matching with the router IP range.
Step 7: Connect to the Internet
The computer is connected to the TP-Link TL-MR3020 router via a network patch cable, there is no other spare network (RJ45) port on the route since it has only single network port. To make the router on-line, I have to use its WIFI to link to my AP (home WIFI).
- Navigate to http://192.168.0.1 (use your own router IP) and login to OpenWRT.
- Select Network->wifi and click on Scan button.
Note: With the following configuration, the TP-Link TL-MR3020 is configured to client mode, your internet may not work correctly if you setting the TP-Link TL-MR3020's IP range same as your AP.
Step 8: Join Your WIFI Network
Click on Join Network button which is associate to your AP (your home WIFI)
Step 9: Enter WIFI Key
Enter key/passphrase which is matching to your existing AP and click on Submit button.
Step 10: Review Your Wireless Network
Do not change any settings on this screen, just click on Save button and continue.
Step 11: Finish Join WIFI Network
Click on Wireless Security tab to view your network security settings (this step is not necessary)
- Finally click on Save & Apply button, the changes will take effect immediately.
- After the router is ready, you shoud able to surf internet from your computer which is connected to the TP-Link TL-MR3020 via a network patch cable.
Step 12: Setup a Public WIFI
Offering wireless Internet access for guests (public), the TP-Link TL-MR3020 router must configure as CLIENT mode and AP mode at the same time.
- When TP-Link TL-MR3020 router work as a client, it connect to your existing AP (home WIFI) wirelessly.
- When TP-Link TL-MR3020 router work as an AP, it offer free Wireless Internet Access for guests.
Step 13: Adding an AP Network Interface to the Router.
Select Network->wifi and click on Add button as shown.
Step 14: Configure the Router As Access Point
- Enter your ESSID, this is the network name for guests to access your internet (link to TP-Link TL-MR3020).
- The network is not selected by default, make sure you have select the lan as shown.
- Click on Save button to continue
Step 15: Wireless Security
Click on Wireless Security tab to allow you to set the security key for your SSID, I leave it to No Encryption since it is open for public access.
Finally click on Save & Apply button.and reboot the router. When the router is ready, any one is able to connect to the TL-Link TL-MR3020 via WIFI with the 123 SSID.
Step 16: An Example of Available Wireless
When the wifi is in range, you should see your existing WIFI network name and the new WIFI network name (123)
Step 17: Installaing NoDogSplash
NoDogSplash offers a simple way to open a free Hotspot (WIFI) providing restricted access to an Internet connection. NodogSplash is similar to NoCatSplash, but based on WifiDog. Make sure you have internet connection before installing NoDogSplash.
Step 18: Update Lists
- Click on System->Software and click on Available packages tab, notice that there is no packages list available.
- Click on Update lists button on the same screen allow it to download and install OpenWRT packages from local package repositories or ones located in the Internet.
Step 19: Available Packages Waiting for Install
Click on Available packages tab again, there is a list of available packages for you to install
Step 20: Installing NoDogSplash Package
- Enter the package name in the Filter text box to find out the package that you want to install.
- Here we enter nodogsplash and click on Find package button since we want to install NoDogSplash.
Click on Install button to start intalling NoDogSplsh.
Step 21: Installing NoDogSplash Successful
Step 22: Starting NoDogSplash
You must enable NoDogSplash before you can use NoDogSplash.
- Select System->Startup, click on Disable button next to nodogsplash as shown.
Step 23: Restart NoDogSplash Service
- Click on Restart button to start NoDogSplash service as shown in figure above, the service is take effect inmmediately
Note: NoDogSplash may consist of bug, sometime you need to restart twice in order to start the service correctly, but there is no problem if you reboot the router.
Step 24: Start Surfing Internet
- Navigate to any website (eg. google.com or your router IP), the NoDosgSplash splash page (landing page) should appear.
- Click on the NoDogSplash icon to start surfiing internet.
Step 25: Customise Splash Page
The splash pages (landing page) is stored on /etc/nodogsplash/htdocs/ directory. Edit the splash.hml file to customize your "splash page". I'm using WinSCP to edit files on the router. You can use standard html and javascript for coding.
Navigate to your router IP with port 2050 to view your splash page before or after authentication. Use this to test your splash page.
http://192.168.0.1:2050
Step 26: NoDogSplash Configuration File
NoDogSplash should work very well without any changes to the configuration file, however you may want to modify this file to adequate your free WIFI network system.
The NoDogSplash configuration is store on the /etc/nodogsplash/nodogsplash.conf file.
Step 27: NoDogSplash Configuration: GatewayInterface
GatewayInterface at line 14 is set to br-lan by default, br-lan or br0 are used to make multiple virtual or physical network interfaces act as if they were just one network interface. With the GatewayInterface set to br-lan, NoDogSplash is bind to wireless and wired interface.
GatewayInterface br-lan
Step 28: NoDogSplash Configuration: Open Port After Authentication
You may want to access to certain port after authentication. Adding the following two lines inside FirewallRuleSet authenticated-users section (after FirewallRule allow tcp port 22 at line 55) allow the Gmail to send and receive email using an email client software (eg. Microsoft Outlook).
FirewallRule allow tcp port 995
FirewallRule allow tcp port 465
Step 29: NoDogSplash Configuration: Access Certain IP Without Authentication
You may want to access to certain IP address before authentication. Adding your router IP address inside the FirewallRuleSet preauthenticated-users section (at line 89) allow you to login to OpenWRT web interface without authentication.
FirewallRule allow tcp port 80 to 192.168.0.1
Step 30: NoDogSplash Configuration: Access Https Webpage
Open port 443 allow you to access https webpage before authentication. Adding the following two lines inside FirewallRuleSet preauthenticated-users section (at line 89) allow you to access facebook without authentication.
FirewallRule allow tcp port 443
FirewallRule allow tcp port 80 to 173.252.64.0/18
Step 31: NoDogSplash Configuration: Redirect URL
You may want to redirect the URL to your own website after authentication. Example below will redirect the URL to my personal website after authentication.
RedirectURL http://www.ediy.com.my
Step 32: NoDogSplash Configuration: Client Timeout
You may want to force the guests to see the splash screen after certain amount of time. Adding following lines will fource the guests to see the splash screen at least every two hours (120 minutes).
ClientIdleTimeout 120
ClientForceTimeout 120
Step 33: NoDogSplash Status
SSH to router, you will able to show a lot of nice info.
ndsctl status