I have been using DerbyWeb for some time now at the Awana races that I run for local churches. Being able to use a tablet computer for registration, staging and the standings has been very helpful. Unfortunately, my WiFi setup had not been able to handle very many users without connection issues arising. I had been using a consumer grade WiFi router that was just not up to the task. So, I decided to try a more enterprise grade setup. I was really impressed with Ubiquiti network routers, switches and access points when I redid our home-business network, so I wanted to give that gear a try in this application. Ubiquiti has quality enterprises level gear, without an enterprise level price. There is a great collection of YouTube videos available to help get it all setup, along with a helpful user community.
Note: We are not in anyway affiliated with Ubiquiti or its dealers. We did not receive any compensation for our article nor any discount on the gear.
Below is the needed hardware to make up this WiFi network. I'll cover these in more detail later on.
- Laptop - Configured to run GrandPrix Race Manager and DerbyWeb.
- Wireless Access Point - Provides WiFi to access the race network for your race crew and audience. Multiple access points can be used for large venues.
- Router/Switch - The network hub that routes web traffic between the access point and race laptop. Connects the laptop and access point(s) into the network.
- UniFi Controller - Needed for setting up the access point(s), but it has other capabilities that can be handy. That controller software can run on your race laptop, a UniFi Cloud Key or a Raspberry Pi.
- Ethernet Cables - To connect the laptop and access point(s) to the router. If you use a Cloud Key or Raspberry Pi, you will need a cable for that as well.
- Power Strip with built-in surge suppression - One is always a good idea when using electronic devices.
Access Point Selection
I started first looking at access points. I wanted something that could handle plenty of users and a mix of old and new devices (2.4 GHz and 5 GHz). I considered the UniFi UAP-AC-Lite, UAP-AC-Pro and the UAP-nanoHD. The Lite would be just fine for most races, but there are times when I run really big races, so I need an access point that can handle a ton of users. I used the Pro in our home-business network and it is providing very nice WiFi coverage, even two floors away. However, I was intrigued with their newer UniFi UAP-nanoHD with MU-MIMO, higher throughput and compact size. Both the Pro and nanoHD support 200+ users, so they would work for a very big race. The Pro is the less expensive option of the two. These access points come with an included PoE injector to power them, when purchased individually (but not always). It is good to double check what is included in the package before you purchase, if you are needing an injector. More on that later. In the end, I decided to go with the nanoHD for the higher throughput and MU-MIMO. If you can get by with a Lite, you can save some money. If you have a really big venue, you can use more than one access point, if necessary.
- ERLite-3 - If you need multiple access points or want to setup a captive guest portal for your audience, using a Cloud Key or Raspberry Pi, then you may have rule out the ERLite-3. It only gives you two ports to use for your devices, which would be your laptop, an access point and nothing else. You can make a ERLite-3 (or the Ubiquiti USG, which is the UniFi equivalent to the ERLite-3) work if you also get a managed gigabit switch to give you enough ports to work with. That's an extra piece of gear, and I am trying for the least complicated equipment setup, if possible.
- ER-X - The ER-X is very inexpensive and gives you 4 switched ports to use for devices. While it has a 24V PoE capability, that can only power a Lite access point, not the Pro or nanoHD. You would have to use a 48V PoE injector for those latter two.
- ERPoe-5 - The ERPoe-5 has 3 switched ports. A 4th port can also be used, but there is a performance penalty to use it along with the switched ports. What the ERPoe-5 does offer over the ER-X is that it can provide 24V or 48V PoE on each of the ports. So, the ERPoe-5 can directly power one or more compatible access points. Additionally, the ERPoe-5 does offer more throughput than the ER-X (3 Gbps vs. 1 Gbps).
I ended up going with the ERPoe-5 for the greater throughput and 48V PoE capability. If you are not expecting really large numbers of mobile devices connecting to the network, an ER-X may work just fine for you. It certainly has a much nicer price point.
A word of warning regarding PoE on the ERPoe-5 and ER-X. They only support passive PoE, which means that there is no handshaking between the router and a connected device to determine if the device supports PoE. If you plug a device that does not support PoE into a port that has PoE turned on, the device can be damaged. If you use PoE on one of these routers, I recommend putting a label on the top of the router, over the port, to remind you that PoE is on. Something like "Access Point Only".
Now that we have the basis of our race WiFi network, we need to get it all setup. First, let's do the setup of the EdgeRouter. This video, https://www.youtube.com/watch?v=Fit5VPsgirU, is helpful in getting the router setup. I do also list the specific steps that I used to get my EdgeRouter setup below, as some steps in the video may not be very clear.
Note: These steps are for setting up the EdgeRouter Poe-5. If you are using a different EdgeRouter, the steps may be slightly different.
- Download the latest firmware file from the Ubiquiti website, at https://www.ubnt.com/download/edgemax, onto your computer.
- Plug your computer into the eth0 port.
- Configure your Ethernet adapter properties for IPv4 to an IP in the 192.168.1.x range. The router will be on 192.168.1.1, so give it an IP above that. I arbitrarily chose 192.168.1.4. Use a subnet mask of 255.255.255.0. I will not be connecting this router to the Internet, so I left the DNS servers blank.
- Open up a browser and type in the 192.168.1.1 IP address. This is the default IP address for the router and will let you access its configuration interface.
- You will likely get a warning about the page not being secure. That is OK, just continue on to the page.
- You should now be at the login page for the router. The default login username is "ubnt" and password is "ubnt".
- Once logged in, you will see the "Dashboard" tab.
- Before doing any configuration, we need to upgrade the router to the latest firmware.
- Go to the "System" tab at the bottom of the page, then click on the "Upload a file" button in the "Upgrade System Image" section. Select the latest firmware file that you downloaded earlier.
- Once the new firmware loads, you will need to reboot the router. You may need to reload your browser page to get back to the login page, after the router is done rebooting. Rebooting can take awhile, so be patient.
- Log back in with the default username and password.
- Go to the "Wizards" tab.
- Select the "WAN+2LAN2" wizard.
- If you get a warning about needing to restore the default configuration, go ahead and do that. I had to reload the browser page to get back to the login screen. Login and get back to the WAN+2LAN2 wizard.
- Leave the "Bridge LAN interfaces into a single network" box unchecked. This will configure eth0 as the Internet (WAN) port, eth1 as one network (192.168.1.0/24), and eth2, eth3 and eth4 will be another network (192.168.2.0/24).
- If you want to change the login credentials, you can do so with this wizard. It is not recommended to keep the default credentials.
- Apply the changes and reboot the router.
- Unplug your computer from eth0 and plug it into eth2. Then you can log back into the router. eth0 is now the Internet (WAN) port. Though, I will not be needing Internet access at races, but that may change down the line. Ports eth2, eth3 and eth4 are available for your laptop, access point, and Cloud Key or Raspberry Pi (if used) or a laptop and two access points.
- Configure DHCP by going to the "Services" tab. Under "Actions", for the LAN's subnet, select "View Details".
- I changed the range start to 192.168.2.5. That allows me to set up to three static IP's, if I wish (.2 through .4). One for my laptop, one for my Raspberry Pi and a spare. The range stop I set to 192.168.2.254 (the max for a Class C network). That gives me a total of 250 IP addresses available for my audience and race crew's mobile devices.
- On the "Static MAC/IP Mapping" tab, I created a static mapping for my laptop to be 192.168.2.2. That way, anytime I plug my laptop into the router, it will be assigned that IP address. That static IP will be handy when directing people to the DerbyWeb app. I did go back into my Ethernet adapter settings on my laptop and changed it back to obtain an IP address and DNS servers automatically from the router.
- Now, we need to turn on PoE to power the access point. Go to the "Dashboard" tab. Click on the "Actions" button for port you want to use for the access point. For me, I chose to use eth4. For the ERPoe-5, you do need to select 24V or 48V, depending on what your access point requires.
Warning: The ERPoe-5 and ERLite-3 routers use passive PoE. That means that once PoE is turned on for a port, it will always be on. If you accidentally plug your laptop or other device into that port, instead of the access point, you can damage that device's Ethernet port. Make sure to label that port with a sticker that says something like "Access Point Only".
A last bit of setup on the EdgeRouter is a cool feature they support where you can define a domain and have it forwarded to a specific IP address. It is a bit cumbersome for someone to type in http://192.168.2.2/derby/ into their browser to get to the DerbyWeb home page. Instead, it is nicer to type in something like http://mydomain.com/derby/. The domain "mydomain.com" may or may not exist out on the Internet. It doesn't matter. You can define "mydomain.com" to automatically forward people to the IP address of the DerbyWeb web server. You can make that domain be anything you like, such as "pack123.com", "gracebaptist.com", etc.. How to set this up is covered below.
- Go to the Wizards tab.
- Under "Feature Wizards", select "DNS host names"
- For "Host Name", enter the domain name that you want to use (e.g. mydowmain.com).
- The "Alias" can be anything you want.
- Enter the static "IP Address" for your computer running DerbyWeb.
- Click on the "Apply" button to make the changes take affect.
Note: You may also want to make an entry for www.mydomain.com. If someone is in the habit of typing in the www, then they will get forwarded to the DerbyWeb site.
Access Point Setup
To setup the access point, we need to first install the UniFi Controller software. That software is a free download and can be installed on the laptop that will be running DerbyWeb or on a Raspberry Pi or it comes preinstalled on a UniFi Cloud Key device. The controller can configure the access point, but it can also setup a guest portal. Once someone logs into the race WiFi, the controller can automatically send them to a landing page that you define. I have mine set to take them right to the DerbyWeb home page. So, people will not have to type any address into their web browser. A guest portal is completely optional. If you do choose to setup a guest portal, you will need to have the UniFi controller running during the race. If you do not want to setup a guest portal, then you only need to run the controller when you need to configure the access point. Setup steps are covered below.
- If you installed the UniFi controller to your computer, start it up. Otherwise, access the controller via its web interface.
- Get past the invalid security certificate warning.
- Go through the UniFi Setup Wizard.
- Select the access point(s) to configure.
- I setup a "DerbyCrew" SSID for the race crew to use. I enabled guest access, to have a separate WiFi network for the audience to use. I made that SSID simply be "Derby". You can just setup one WiFi network, if you wish, for race crew and the audience to use.
- If you want to force users to log into the race WiFi, then specify a password; otherwise, leave it blank.
- Set the credentials for logging into the UniFi controller.
- Skip the cloud access setup.
- Finish from the initial setup wizard.
- Log into the UniFi controller with the new credentials.
- Click on the Devices icon on the left sidebar. You should see your access point(s) listed there.
- Click on the "Upgrade" link to upgrade the firmware for the access point. You will need to have an Internet connection on port eth0 of the router. I just plugged a cable from eth0 to a port on my home network switch. Wait until the light on the access point goes solid blue before proceeding.
Here's a couple of videos that can help with the setup:
Guest WiFi (Optional)
Guest WiFi Setup:
If you want to have a guest WiFi network, make sure to do the following:
- Click on the Settings icon on the left sidebar.
- If you want to put a password on the audience WiFi, go to "Wireless Networks" and edit that network.
- Go to "Guest Control".
- For "Post-Authorization Restrictions", change the 192.168.0.0/16 entry to 192.168.1.0/24. This will allow users of the guest WiFi to be able to access the DerbyWeb web server but they will be blocked from accessing the 192.168.1.0 network.
- Click on the "Apply Changes" button to save that change.
WiFi Guest Portal (Optional):
With the guest WiFi network, you can optionally setup a Guest Portal for all those users to go through. You can set a Landing Page that takes users right to the DerbyWeb home page, so they don't have to type the URL into their browser.
- In the Settings screen, go to "Guest Control".
- Check the "Enable Guest Portal" box.
- Authentication - Set either "No authentication" or "Simple password". If you forced users to log into the guest WiFi, then you might want to do "No authentication". If you select "Simple password", then enter the portal's password.
- Expiration - This is the amount of time before a guest's authorization to use the network expires. Once they go through the portal, they will not see the portal page again until that time expires. Just something to keep in mind if you are trying to tweak the portal page. This should be set for at least the amount of time for you to complete your race. I just left it on the default.
- Landing Page - Select "Promotional URL" and then enter the URL for the DerbyWeb home page. This can be "http://192.168.2.2/derby/" or "http://mydomain.com/derby/" if you take advantage of the EdgeRouter's ability to redirect a domain to a specific IP address on your network.
- You can customize the portal's web page, if you wish. Add your own logo, change background image, colors, and so on.
- Click on the "Apply Changes" button to save your changes.
Use UniFi Controller During the Race (optional)
UniFi Controller Backup:
If you wish to run the controller during the race on your laptop, Cloud Key or Raspberry Pi, you should make sure to save a backup copy of the controller's configuration. If the database gets corrupted when power is abruptly killed to the device, you can restore from the backup.
- In the controller settings, go to the "Maintenance" section.
- For "Backup Data Retention", select "Settings only".
- Click on the "Download Backup" button.
- Put that file in a handy location for safe keeping.
UniFi Controller on a Cloud Key:
Warning: If using a Cloud Key, you don't want to abruptly disconnect power from it. That can corrupt the controller's database. You need to shutdown the Cloud Key via the controller. You can do that under Settings and then Maintenance.
UniFi Controller on a Raspberry Pi:
If you wish to install the controller on a Raspberry Pi, here is a handy guide on getting the Raspberry Pi and the controller setup on it:
Warning: You do not want to abruptly kill the power to the Raspberry Pi, as that can corrupt the microSD card.
If you run multiple races a season, setting up a mobile computer cart can really be handy. Saves time with setup and tear down and is handy for providing power to all of the electronics and storage for some of the race gear.