User Tools

Site Tools


wirover

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wirover [2009/10/13 16:35]
jlhare
wirover [2010/03/18 15:24] (current)
rmadden
Line 6: Line 6:
 [[http://​www.cs.wisc.edu/​~suman/​pubs/​infocom05-2.pdf|Exploiting Diversity to Enhance Multimedia Streaming Over Cellular Links]] [[http://​www.cs.wisc.edu/​~suman/​pubs/​infocom05-2.pdf|Exploiting Diversity to Enhance Multimedia Streaming Over Cellular Links]]
  
-===== Todo ===== 
- 
-Task Table 
-^ Task Name ^ Sub-task ^ Details ^ Owner ^ Date completed ^ 
-| Dynamically scan interfaces |  -  | The system should be able to adjust to iface going up or down and changing IP addresses |  Josh  |  DONE  | 
-| - | Spawn off a thread | This code to be a thread to dynamically scan interfaces on the go |   ​Josh ​  ​| ​  ​N/​A ​  | 
-| - | Route Patching | Need to code up some functions to patch routing when needed (or turn off network manager) |  -  |  -  | 
-| Setup proxy |  -  | All packets will be encapsulated and sent to the proxy |  Josh  |  DONE  | 
-| - | Proxy NAT | The proxy will also need a NAT to translate packets for multiple WiRovers |  Josh/​Rob ​ |  DONE  | 
-| Test Scripts |  -  | Scripts to test the code base |  -  |  -  | 
-| - | Log Test Output | Keep a log of test output so we can go back and see when/where things broke |  -  |  DONE  | 
-| Code Cleaning | General clean up | Lots of code to clean up |  Josh/​Rob ​ |  DONE  | 
-| - | Parameter File | Have all the parameters read from a file |  Josh/​Rob ​ |  DONE  | 
-| - | Better Logging | If a crash happens we need enough info to figure out what caused the crash |  Josh/​Rob ​ |  DONE  | 
-| - | Break Up Long Functions |  -  |  Josh/​Rob ​ |  -  | 
-| - | Remove Hard Coded Values |  -  |  -  |  -  | 
-| - | Remove Globals |  -  |  Josh/​Rob ​ |  DONE  | 
-| Demo |Basic demo | Run round robin in the lab |  All  |  DONE  | 
-| - | Weighted round robin | In lab |  Josh  |  DONE  | 
-| - | Video demo | In lab or in a car |  All  |  -  | 
-| Deployment |  -  | What needs to be done before deployment can happen? |  -  |  -  | 
-| - | MTU Problems | For iPhone and other devices (N800) |  Rob  |  DONE  | 
-| - | Set up DNS for WiRover | When we have code updates we need to be able to remote into the machine and update it |  -  |  DONE  | 
-| - | Bus Install | Need remote access and log/info about crashes |  -  |  -  | 
-| - | Push Updates | If new code version |  -  |  -  | 
-| - | Usage Stats | Need to be able to collect general stats like number of unique IP, average usage, length of use, etc. |  -  |  -  | 
  
 ===== Details ===== ===== Details =====
Line 49: Line 23:
  
 Future boxes can be added by adding host wirover2, etc. Future boxes can be added by adding host wirover2, etc.
- 
 ===== Hardware ===== ===== Hardware =====
 **WiNGS-Laptop-3** **WiNGS-Laptop-3**
Line 69: Line 42:
  
 **WiNGS-Laptop-5 (eeepc 900A)** **WiNGS-Laptop-5 (eeepc 900A)**
 +  * User: wirover or wings
 +  * Password: soekris;
   * Model: EEEPC 900A   * Model: EEEPC 900A
   * CSL Number: C027508   * CSL Number: C027508
Line 85: Line 60:
   * MAC address of (Atheros) wireless card:    * MAC address of (Atheros) wireless card: 
   * Operating System:   * Operating System:
-    * Description:​ Ubuntu ​8.04.1 +    * Description:​ Ubuntu ​ 9.10 
-    * Codename: Hardy Heron+    * Codename:​ Karmic Koala 
 + 
 +**WiNGS-Laptop-7 (lenovo S10)** 
 +  * User: wirover 
 +  * Password: soekris; 
 +  * Model: Lenovo S10 
 +  * CSL Number: C030290 
 +  * MAC address of ethernet card: 00:​26:​82:​03:​7a:​4a 
 +  * MAC address of (Atheros) wireless card:  
 +  * Operating System: 
 +    * Description:​ Ubuntu 9.10 
 +    * Codename: Karmic Koala
  
 **Ubuntu EEEPC/Easy Peasy Configuration** **Ubuntu EEEPC/Easy Peasy Configuration**
Line 94: Line 80:
   * Power Management: On AC power: Never shutdown   * Power Management: On AC power: Never shutdown
   * Power Management: On Battery: Shutdown after one hour   * Power Management: On Battery: Shutdown after one hour
- 
  
 ===== How to get project source ===== ===== How to get project source =====
Line 120: Line 105:
             wirover/             wirover/
  
 +Checkout current version of WiRover System (checks out code for Gateway/​Controller)
 +            svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wisco/​
  
 Checkout modules over ssh: Checkout modules over ssh:
             svn co svn+ssh://​username@corral.wail.wisc.edu/​home/​svn/​(project)/​(module)             svn co svn+ssh://​username@corral.wail.wisc.edu/​home/​svn/​(project)/​(module)
 +
 +            wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​dotfiles
 +
 +            wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wirover
  
             wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wisco             wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wisco
 +            wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wisco/​wirover
 +            wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wisco/​wirover/​data
 +            wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wisco/​wirover/​demo
 +
 +            wireless28:​~ robmadden$ svn co svn+ssh://​svn@corral.wail.wisc.edu/​home/​svn/​wirover_k
  
 Checkout the bus tracker over ssh: Checkout the bus tracker over ssh:
Line 143: Line 139:
   * Ant build all on the client   * Ant build all on the client
   * Run client.jar on client, server.jar on server. ​ Note, mysql DB must be setup correctly on server, copy server.jar to the server   * Run client.jar on client, server.jar on server. ​ Note, mysql DB must be setup correctly on server, copy server.jar to the server
- +===== General Setup/​Linksys DD-WRT Setup/DHCP and DNS on WiGateway ​=====
- +
-===== General Setup/​Linksys DD-WRT Setup =====+
  
 Because the routing cache is maintained by the kernel separately from the routing tables, manipulating the routing tables may not have an immediate effect on the kernel'​s choice of path for a given packet. To avoid a non-deterministic lag between the time that a new route is entered into the kernel routing tables and the time that a new lookup in those route tables is performed, use ip route flush cache. Once the route cache has been emptied, new route lookups (if not by a packet, then manually with ip route get) will result in a new lookup to the kernel routing tables. ​ Because the routing cache is maintained by the kernel separately from the routing tables, manipulating the routing tables may not have an immediate effect on the kernel'​s choice of path for a given packet. To avoid a non-deterministic lag between the time that a new route is entered into the kernel routing tables and the time that a new lookup in those route tables is performed, use ip route flush cache. Once the route cache has been emptied, new route lookups (if not by a packet, then manually with ip route get) will result in a new lookup to the kernel routing tables. ​
Line 197: Line 191:
     * Access Point Mode     * Access Point Mode
     * ESSID: WiGateway     * ESSID: WiGateway
 +
 +**Services Tab**
 +  * Static Leases
 +  * Add the laptop that will be connected to the AP with IP 192.168.2.2
 +
 +**NAT/QoS Tab**
 +  * **Enable Buswatch Port Forwarding 9000-9999 to 80 on Buswatch IP (192.168.2.149)**
  
 On ubuntu machine: On ubuntu machine:
Line 235: Line 236:
   * also have to have two routes for the NAT to work   * also have to have two routes for the NAT to work
   * additional routes for multiple interfaces must be such that they don't conflict   * additional routes for multiple interfaces must be such that they don't conflict
 +
 +===== General Setup/​Linksys DD-WRT Setup/DHCP and DNS on Linksys Box =====
 +
 +/​etc/​resolv.conf
 +  * nameserver 208.67.222.222
 +  * nameserver 208.67.220.220
 +
 +
 +OpenWRT Settings (backed up in svn as config/​dd-wrt-config.bin):​
 +
 +**Administration Tab**
 +  * **Management**
 +    * **Router Management**
 +      * Router Username: wirover
 +      * Router Password: soekris;
 +    * **Web Access**
 +      * Protocol: HTTPS
 +    * **Remote Access**
 +      * Web GUI Management: Enable
 +      * Use HTTPS
 +      * Web GUI Port: 8080
 +  * **WOL**
 +    * **Wake-on-Lan**
 +      * MAC Address/​Hostname:​ (00:​23:​54:​30:​A4:​6F/​C027506)
 +      * MAC Address/​Hostname:​ (00:​23:​54:​30:​97:​39/​C027507)
 +      * MAC Address/​Hostname:​ (/C027508)
 +      * Net Broadcast: 255.255.255.255
 +    * **Automatic Wake-on-Lan**
 +      * Automatic Wake on Lan: Enable
 +      * Interval: 15 Seconds
 +      * Host Name: 255.255.255.255
 +      * Interval: 60 Seconds
 +
 +**Setup Tab**
 +  * **WAN Setup**
 +    * WAN Connection Type
 +      * Connection Type: Disabled
 +    * Optional Settings
 +      * MTU: Manual (highest possible calculated MTU)
 +  * **Network Setup Section**
 +    * Router Setup
 +      * Local IP Address: 192.168.2.1
 +      * Subnet Mask: 255.255.255.0
 +      * Gateway: (IP of WiGateway) 192.168.2.2
 +    * Network Address Server Settings (DHCP)
 +      * DHCP Type: Server
 +      * All checkboxes checked.
 +
 +**Wireless Tab**
 +  * **Wireless Physical Interface wl0**
 +    * Access Point Mode
 +    * ESSID: WiGateway
 +
 +**NAT/QoS Tab**
 +  * **Enable Buswatch Port Forwarding 9000-9999 to 80 on Buswatch IP (192.168.2.149)**
 +
 +Setup the linksys AP for now
 +  * found error where dhcp should have been forwarded instead of server
 +  * user: wirover pass: soekris;
 +
 +===== BusWatch Setup =====
 +  * Default IP: 192.168.0.200
 +  * Default Port: 80
 +  * Static IP: 192.168.2.149
 +  * Static Port: 80
  
  
Line 273: Line 339:
 sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "​3:​0.svn`date +%Y%m%d`-12ubuntu3"​ --default sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "​3:​0.svn`date +%Y%m%d`-12ubuntu3"​ --default
 </​code>​ </​code>​
 +
 +
 +===== Netlink Socket Routing =====
 +Netlink sockets will send notifications from the kernel to the user space of links going up and down, changes to IP addresses, and changes to routes. ​ It can also be used to add and remove routes.
 +
 +=== Links ===
 +  * http://​linux.die.net/​man/​7/​netlink
 +  * http://​linux.die.net/​man/​3/​netlink
 +  * http://​linux.die.net/​man/​7/​rtnetlink
 +  * http://​linux.die.net/​man/​3/​rtnetlink
 +  * http://​people.redhat.com/​nhorman/​papers/​netlink.pdf
 +  * http://​www.wlug.org.nz/​LinuxNetlinkSockets
 +  * http://​www.wlug.org.nz/​LinuxNetlinkSocketExample
 +  * http://​www.linuxjournal.com/​article/​7356
 +  * http://​www.ducksong.com/​Misc_Code.php
 +  * http://​blogs.oracle.com/​linuxnstuff/​2008/​12/​adventures_in_netlink.html
 +  * http://​kerneltrap.org/​node/​5218
 +  * http://​publib.boulder.ibm.com/​iseries/​v5r2/​ic2928/​index.htm?​info/​apis/​ioctl.htm
 +  * http://​www.linuxquestions.org/​questions/​linux-networking-3/​how-to-add-a-gateway-address-using-ioctl-in-c-in-linux-512213/​
wirover.1255469730.txt.gz · Last modified: 2009/10/13 16:35 by jlhare