KOALA :: The WME Mobile Server
The World Wide Web (WWW) is a giant resource of information. Many technologies have been created in order to make the WWW available to as many people as possible all around the world. First, Local Area Networks (LANs) have started to be implemented on behalf of the WWW thanks to the great Ethernet technology; one computer stays connected to the Internet with other computers in the LAN sharing the connection, while making it possible for everyone in an office to share a printer. Then two or more LANs come together to form Wide Area Networks (WANs). Today Wireless Networks are being used quite efficiently to bring the information without hassling with cables. The WME, being a distributed web-based group of tools, benefits from all the advantages of modern web and Internet technologies. Unfortunately, today the Internet connection still may either be very costly or unavailable in many places. As being an online technology and evaluating all the portability aspects, the WME should always be available even at sites without any or weak Internet connection. Therefore the WME team has decided to make the system available on a wireless server. The flexible, interoperable, and portable design of the project lets teachers and students utilize our system wherever an Internet connection is not available. Moreover, it enables the WME team demonstrate their project at any stage wirelessly, effectively, and rapidly. This page is intended to provide information to both contributors and users related to the WME on the go: the WME Mobile Server.
The WME project is implemented by professors and students mainly on the machines at the computer science department identified (network identification, hostname) by simply animal names. "Koala" is the name of both the pilot mobile WME project and the network identification of the mobile WME server computer (see Figure 1). Since you will find technical network information about our mobile wireless network system, you will probably be more interested in the second definition throughout this page. Hardware-wise Koala has the following main specifications:
The pilot site of the WME currently serves up to 30 clients in one session and this hardware is adequate for such a wireless network communication through a 802.11G wireless router.
WME uses the 802.11 wireless networking technology to implement the client/server model (topology). In this model client computers communicate with the Koala machine via a specially configured wireless router. This configuration includes specific range of IP addresses to be assigned to the client computers (DHCP range: 192.168.1.151 - 192.168.1.199). The communication between the WME router (SSID: "WME Mobile Server") and Koala is also handled wirelessly using one of the two wireless interfaces. But this communication is configured so that it uses one static IP address (192.168.1.200) instead of Dynamic Host Configuration Protocol (DHCP).
The Koala machine has a secondary wireless ethernet interface which allows the server to be connected to the Internet or any wireless LAN when available, while serving to the client computers. Please look at Figure 2 below for an illustration of wireless connection of the WME project.
(click host machine to see a larger size of the illustration)
Figure 2: WME Wireless Network
Any client computer user (teachers and students) who wants to use the WME system should connect to the WME wireless router. The Service Set Identifier (SSID aka ESSID) of the router is set to "WME Mobile Server" giving the intuition of "connecting to this wireless router will provide access to the WME system". For now there is no authentication key required such as WEP and WPA. Once the client computer is connected to the router then it is a simple matter of typing an address to the address bar of the browser. The current configuration requires the following address to be entered to the address bar:
This sections provides information to the WME administrators about connecting the Mobile Server to both the WME router and Internet using two wireless interfaces. As you can see in the Figure 2 the internal network connection is done throught interface 1 which talks to the built-in wireless card. The following script builds this connection. Note that the order of commands that sets the wireless interface properties is important.
# Script to connect WME Mobile Server # Created by K. Cem Karadeniz # script location: /usr/bin/wifi/ath0/wme_connect # Created on: 2005-09-10 # Last Update: 2005-09-12 # MAC address of ath0: 00:90:4B:CC:95:69 # reload wireless card driver modprobe -r ath_pci modprobe ath_pci sleep 1 # clear dhclient pid ifdown ath0 # dhclient -r -q killall -q dhclient # set wireless properties (order is important) iwconfig ath0 mode managed # iwconfig ath0 ap off iwconfig ath0 ap 00:0F:66:84:3D:88 iwconfig ath0 key off iwconfig ath0 essid "WME Mobile Server" sleep 2 # run wireless interface and request IP ifconfig ath0 up dhclient ath0 sleep 8 # test the connection (ping the router) ifconfig ath0 | grep "inet addr" ping -c 4 192.168.1.101
As mentioned above another ethernet interface (interface 0 in Figure 2) is also available on the server using a wireless 802.11g capable PCMCIA card. A sample script to connect this interface to Internet through a wireless router with WEP key would be as following:
# Script to connect to the Internet through a second router # Created by K. Cem Karadeniz # script location: /usr/bin/wifi/wlan0/sample_connect # Created on: 2005-09-10 # Last Update: 2005-09-13 # MAC address of wlan0 (WPC54G): 00:0C:41:C4:6A:CA # reload wireless card driver modprobe -r ndiswrapper sleep 2 modprobe ndiswrapper sleep 4 # clear dhclient pid ifdown wlan0 # dhclient -r -q killall -q dhclient # set wireless properties iwconfig wlan0 mode managed # iwconfig wlan0 ap off iwconfig wlan0 ap 00:13:46:1E:1E:E2 # iwconfig wlan0 key open s:thisiskeyone1  iwconfig wlan0 key open s:thisiskeytwo2  # iwconfig wlan0 key open s:thekeythree3_  # next line sets the active key iwconfig wlan0 key open  iwconfig wlan0 essid "ESSID of the router" sleep 4 # run wireless interface and request IP ifconfig wlan0 up dhclient wlan0 sleep 1 # test the connection ifconfig wlan0 | grep "inet addr" ping -c 3 www.yahoo.com # route del default # route add default gw 192.168.58.1 wlan0
Currently three scripts are available to the WME administrators who have account on the server machine Koala. Sudoers file is created accordingly so that users can run these scripts with root priviledges from their accounts. How to run these scripts is shown below:
$ wme_mobile_server_connect $ cs_connect $ office_connect
The first script connects the interface 1 (Figure 2) to the WME wireless router. The second one is a sample connection script for the CS-Student-Wireless network available in the MSB building. The third script provides connection to the secure wireless router in room 252 at MSB. The following are sample outputs when you run the first two scripts:
[kkaraden@koala ~]$ wme_mobile_server_connect Internet Systems Consortium DHCP Client V3.0.1 Copyright 2004 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/products/DHCP Listening on LPF/ath0/00:90:4b:cc:95:69 Sending on LPF/ath0/00:90:4b:cc:95:69 Sending on Socket/fallback DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 17 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 11 DHCPOFFER from 192.168.1.101 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.1.101 bound to 192.168.1.200 -- renewal in 63 seconds. inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0 PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data. 64 bytes from 192.168.1.101: icmp_seq=0 ttl=64 time=3.83 ms 64 bytes from 192.168.1.101: icmp_seq=1 ttl=64 time=1.60 ms 64 bytes from 192.168.1.101: icmp_seq=2 ttl=64 time=1.31 ms 64 bytes from 192.168.1.101: icmp_seq=3 ttl=64 time=1.37 ms --- 192.168.1.101 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 1.316/2.034/3.839/1.048 ms, pipe 2 [kkaraden@koala ~]$
[kkaraden@koala ~]$ cs_connect Internet Systems Consortium DHCP Client V3.0.1 Copyright 2004 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/products/DHCP Listening on LPF/wlan0/00:0c:41:c4:6a:ca Sending on LPF/wlan0/00:0c:41:c4:6a:ca Sending on Socket/fallback DHCPREQUEST on wlan0 to 255.255.255.255 port 67 DHCPACK from 192.168.58.1 bound to 192.168.58.14 -- renewal in 228664 seconds. inet addr:192.168.58.14 Bcast:192.168.58.255 Mask:255.255.255.0 PING www.yahoo.akadns.net (18.104.22.168) 56(84) bytes of data. 64 bytes from p9.www.re2.yahoo.com (22.214.171.124): icmp_seq=0 ttl=50 time=28.3 ms 64 bytes from p9.www.re2.yahoo.com (126.96.36.199): icmp_seq=1 ttl=50 time=30.9 ms 64 bytes from p9.www.re2.yahoo.com (188.8.131.52): icmp_seq=2 ttl=51 time=30.0 ms --- www.yahoo.akadns.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 28.379/29.799/30.984/1.085 ms, pipe 2 [kkaraden@koala ~]$
There are some useful links below related to the information discussed. Please visit the Feedback page for your questions and/or comments.