Projects »

Wirelessnomad User Interface

About this package

We have created this package to enable people modifying the software in their linksys routers with capabilities that are not available in the software that is embedded in the device when it comes out of the factory.

To do this, we used the open source code from the OpenWRT project and modified it to match our specific needs. In particular, this package has added features that pre-configure your router to work with Wireless Nomad DSL internet access accounts, but you can download the software and use for your own particular needs.

Please follow the instructions below to make your own router. You can also look at some nice screenshots. Enjoy!

A new distribution has been created!

This package has undergone several tests for the most common case scenarios, and although we have not found any major problems, please consider this distribution experimental. It has some minor bug corrections as compared to the previous distribution. This package is a binary firmware customized for Wireless Nomad. This means that you just need to upload this firmware to the router and do some extra steps using an autoconfiguration interface. You don't need to upload files to the server any more and configure anything manually. The firmware created for this distribution is available here

Quick installation instructions

Download required files

Upgrade firmware

  1. Plug in Linksys router
  2. Connect ethernet cable: one end to computer the other end to port 1 on Linksys router
  3. Open web browser and connect to (user admin, pass admin)
  4. Administration->Firmware Upgrade, browse to where you downloaded openwrt_wnomad-wrt54g-jffs2.bin and upload it to the router
  5. Wait until upgrade complete (DMZ light goes out), then start command line mode
    1. Windows: Start->Run type "cmd" and hit enter
    2. Mac: Start Terminal (Applications Folder->Utilities)
    3. Linux,*IX: open a shell

Configure Router Password

  1. From command line, type "telnet" and hit enter
  2. At "OpenWrt" prompt type "reboot" and hit enter (needed only for first time startup)
  3. Wait until "DMZ" light goes out, then from command line type "telnet" and hit enter
  4. At "OpenWrt" prompt type "passwd" and hit enter, then type in and verify a new administrative password for the wireless router (Take note of this password and keep it in a secure place, this password is used to control your router settings by an experienced user, you won't need this to configure the router through the web interface, but will help Wireless Nomad in case that your require support)
  5. Type "exit" and hit enter

Autoconfigure your router for WirelessNomad

This new distribution has an autoconfiguration feature that makes your life easy, it loads all the default values used by Wirelessnomad just by clicking a button and providing the information that was given to you when you became a member of our network

  • open your favourite web browser (i.e. firefox, opera, internet explorer) and open the address of your router (if this is a brand new router open
  • That opens the Wireless Nomad administrative interface. Click on the link that reads "Easy administration"
  • On the top menu, click the link that reads "System"
  • On the submenu (the row under the logo), click on the link that reads "Default configuration"
  • Type the node ID, username (login) and password that were given to you when you acquired your Wireless Nomad DSL subscription
  • Click on the buton that reads "Reset Wireless Nomad default configuration"
  • The router will autoconfigure itself, it will take a couple of minutes, after that, the front LED will start blinking, wait until it stops blinking.
  • Enjoy!

Extra mile

You might not need to touch the router configuration again as it configures itself with the most common parameters needed by Wireless Nomad members, but it is a good idea to change the password of the web interface, as it has been assigned a default value.

  • Configure your network card to obtain an IP address automatically and plug a network cable from your computer into one of the 4 router HUB ports.
  • Open your web browser, and type this address
  • If your card acquired the network configuration correctly, you should see the welcome page to the Wireless Nomad admin interface
  • Click on the link that reads "Easy administration"
  • This time you will be requested for a user name and a password. These are by default "wnomad" and "wirelessnomad" respectively.
  • Once that you have logged into the interface, on the top menu, click the link that reads "System"
  • On the submenu (the row under the logo), click on the link that reads "Password change"
  • Type a password, confirm it, and click on the button below that reads "Save changes"
  • The next time that you log in you'll have to use this new password

Done for this distribution

  • Created a new port forwarding and port mapping control interface and all the code needed to configure the firewall settings to make these forwarding an mapping rules work.
  • Port forwarding tested and fully working
  • Created a central information page to monitor several configuration variables in one single page, features created:
      • Connection method (DHCP/PPTP/PPPoE)
      • Link status (connected/disconnected)
      • WAN IP
      • Netmask
      • gateway
      • DNS 1
    • LAN
      • IP addres
      • Netmask
      • DHCP server (enabled/disabled)
      • Active (yes/no)
      • SSID
      • encryption (Off/WEP/WPA)
      • Radio Mode (AP/Bridge/ad-hoc)
      • Radio channel
    • SYSTEM
      • Node ID
      • Memory space used
      • Current time
  • Repaired a bug in the firewall restarting system (did not start the right script, reboot was required to apply changes to the firewall before this bug was found)
  • Changed look of the interface to give the user a wirelessnomad look and feel
  • Reflect node ID in the header field
  • Now it is possible to configure a node ID, 4 digits, the field is validated before setting the hostname according to this nodeID. Validaton limits the field to an integer value, 4 digits. If the user provides an integer shorter than 4 digits, leading zeros are added automatically.
  • The password change form changes the wnomad user password instead of root, so we can use use a non privileged user account to store the password. To assign username and password, modified /etc/httpd.conf, and in /etc/passwd we can created a new user (wnomad). Then we mapped a username (we used wnomad as well) to the password of that wnomad system user. We can now restrict the access of this user to the web interface only, as we can assign it a /bin/false shell.
  • Added basic URL validation routines to the code
  • Text boxes in forms can have a sixth parameter passed, as extra tag attributes.
  • Created a simple interface to control login page for chillispot (displayed as "captive portal" in the menu). Then modified the script so the changes to chilli spot configuration are applied.
  • Corrected chillispot initialization issues. Chillispot also restets the nas now at startup
  • Created a checkchilli script for this version. The one originally used killed chillispot each minute. This new version check for the existance of chillispot, if it does not exist tries to kill any chilli process and then starts a new chilli process
  • Solved an issue with DNS resolution for DHCP and fixed IP wan. It was fixed with a quick hack forcing chillispot to send the DNS used for the LAN in the router to the wireless clients, although it won't use wireless nomad DHCP is more universal that way (for instance in networks where external DNS's are blocked).
  • Corrected a bug in the PPPoE startup script that prevented the router from connecting to wireless nomad, the command spawned to start PPPoE is posted below. In the following command the problem is that "nic-vlan1" should be only "vlan1". Corrected that in /sbin/ifup.pppoe
 /usr/sbin/pppd nodetach plugin connect /bin/true usepeerdns defaultroute 
replacedefaultroute ipparam wan linkname wan user password XXXpassXXX
mtu 1480 mru 1480 lcp-echo-failure 5 lcp-echo-interval 30 nic-vlan1
  • Created a crontab file appropriate for this distribution
  • Created two administrative sections, one for easy setup, and one for experienced users, with great flexibility. Created a welcome page that allows the user to select the desired administrative section to use. The administrative scripts are linked to the changes in one interface are reflected on the other (although it is also possible to create separate scripts if required. Up to now all the scripts are linked as it is easier to maintain one single script rather than making changes to two scripts that do the same task).
  • created an interface that allows the user to reset the values of default configuration for Wireless Nomad. The form performs basic filtering of inputs.
  • Created a script that handles the reset of nvram values to Wireless Nomad defaults (/usr/sbin/reset_nvram).
  • Created a script that handles the reset of web admin interface password to a default password (which is "wirelessnomad"), the script is /usr/sbin/reset_passwd. Next step would be to create a similar script to overwrite configuration files (for instance /etc/firewall.user) and a set of vanilla configuration files
  • Created configuration files that allow an easy setup of the new password scheme (user with non-root password for the web admin interface)
  • Added extra security features to the default firewall configuration

Thanks to...

I would like to thank the support received from Wireless Nomad and professor Andrew Clement who is responsible for the Wireless Nomad case study as a co-investigator for the Community Wireless Infrastructure Research Project.





edit SideBar

Page last modified on March 28, 2008, at 09:39 PM EST - Powered by PmWiki