Wireless router web platform
The customer of this project was Managed Connections Limited Company, which is a designer, developer and operator of white label and multi tenanted unified cloud device management platform (PaaS) provided as end to end managed services.
Team: 5 engineers
June, 2014 - April, 2016
Managed Connections Limited acquainted us with Device Ranger platform, which was based on technologies that didn’t satisfy the customer. The platform was full of bugs and partially it was taken for rent, that is why our team was asked to completely rewrite it. They needed the platform, which would allow connecting and managing of wireless routers at any distance.
About Device Ranger
Managed Connections “Device Ranger” platform is a multi-level hierarchal system that currently supports up to three levels in order to implement several business model scenarios. From the top to the bottom they are:
Could be a managed service provider, and or very large organisations
Could be a network operator, an IT department, specific location, etc
This could be a single device owner such as Caravan park, Cafe, Hotel or a business, or anywhere single devices are located.
While the “Account” level is an administration level focused on the provisioning, licensing and overall settings, the “Sub-Account” and the “Device” levels are operational levels focused on the service management of the devices and the features they are offering to end users connecting to or using them.
Device Ranger has built in and configurable technology adapters, which automatically recognise the hardware vendor and adopts the proper vendor device based features. Therefore, adding a new device to a specific site area is really simple! The site area owner has only to specify the unique identifier (MAC ID) of the device, the vendor hardware and technology are automatically identified by Device Ranger and applied accordingly and instantly.
Easy to operate admin console allows the user to get information about the current operation of the router, such as information about ip address, connection status, and so on. You may also fetch logs from the router and reset the password to the system. One of the most important features is that you can request a router re-flash at a distance that will assure the optimal operation of the device.
Initially, the router has firmware from the manufacturer, but to control router at a distance we have replaced it on the Open WRT system, which was customized to our platform. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
Captive Portal - allows you to create a public network on one of the firewall interface that allows you to implement a public wireless access point. In our case, this feature allows managing several important and advanced functions such as to define specific network access rules, set design, to receive logs and other things that can control the end-user.
Our task was to create a functional admin panel. Thus, we created a customizable design for Captive Portal. Any advanced system administrator can easily configure the color of header or footer, change the background or font. So you can set any design of your choice. As a result, the design looks simple, yet intuitive, allowing even not advanced user to easily navigate in the management.
Techs and Testing
We’d tried several scenarios of automatic testing, however it did not work properly, that is why the platform was completely tested under manual management.
Used technologies for Device Ranger development:
- The server was written with Java
- The server uses Apache Tomcat
- MySQL Database
- Front End of admin panel is based on GWT
- Front End of Captive Portal is based on Java Script, CSS, HTML and Bootstrap
- User authorization on the server was performed using FreeRadius server
- The firmware of the router is based on OpenWRT and also we appended our own services on firmware and additional custom screens in the admin panel of the router firmware
We did the firmware for the following routers:
- TP-LINK wr842nd v1
- TP-LINK wr842nd v2
- TP-LINK wr1043nd v1
- TP-LINK wr1043nd v2
- TP-LINK wdr3600
- CoovaChilli for checking the Captive Portal authentication
- Activiti Explorer for setting the Captive Portal operation
- Continuous Integration server - Jenkins for the router firmware automatization
- For versioning - SVN
- Rackspace for file storage of logs and router firmware
- For sending emails - Mailgun