= WiMAX Tutorial = == Prerequisites == This tutorial series assumes you have an [http://www.orbit-lab.org/userManagement/register ORBIT account], have [https://www.orbit-lab.org/schedule/ scheduled a session] on the ORBIT test bed, are familiar with [http://en.wikipedia.org/wiki/Secure_Shell SSH]'ing [http://www.orbit-lab.org/wiki/Tutorial/HelloWorld#a4.RunningtheHelloWorldexperiment into the test bed itself, and are familiar with the basics of running ORBIT experiments]. If you have not done these things yet, you may wish to do so before taking a look at this slightly more advanced experiment. If you are unfamiliar with or are entirely new to ORBIT, you may wish to start [http://www.orbit-lab.org/ here]. ---- == Getting Started == First, SSH into the test bed you plan on using for the experiment. For this experiment, we use ORBIT's Sandbox 4. {{{ ssh @console.sb4.orbit-lab.org }}} [[Image(ssh.png)]] === About the Base Station === WiMAX (related to and derived from !WiFi) works by sending all data traffic through an [http://en.wikipedia.org/wiki/Wireless_access_point Access Point] called a Base Station. This is similar to how a cell phone connects to a cell tower. In fact, at one point WiMAX was used to provide mobile internet connectivity to cell phones! However, the WiMAX base station at WINLAB is special in that its operation settings can be changed to meet the needs of an experiment. This is good, because it permits tweaking of settings to conduct research. However, it also means that latest person to run experiments may have left the base station with settings that will make conducting experiments difficult. First, tell the base station to use default settings, and then reset it. === Interacting with the Base Station === The base station receives instructions from [http://en.wikipedia.org/wiki/GET_(HTTP)#Request_methods "http get requests"] sent from the corresponding sandbox. For example, consider {{{ wget -qO- http://cons-wm-01:5052/wimaxrf/datapath/config/load?name=defaults }}} "wget" is the command to send an http request; "-qO-" gives options for outputting the result of the request to the screen; "cons-wm-01" is the name of the base station; "5052" is the port number; "/wimaxrf/datapath/config/load" selects the subsetting "load" from the path; "?" demarcates instructions; "name=defaults" assigns "defaults" to the property "name". == Restoring the Base Station to Defaults == To restore the base station to defaults, run the following commands: {{{ wget -qO- http://cons-wm-01:5052/wimaxrf/defaults wget http://cons-wm-01:5052/wimaxrf/restart }}} After issuing the restart command, the base station will be unavailable for 2 minutes. ---- == Loading a Default Image == Much like it is recommended to reset the base station to default settings, it is also recommended to load up a "clean" disk image. This helps avoid conflicts with previous user settings. It can also save time manually setting up frequently-used properties. {{{ omf-5.3 load -i wmx-tutorial.ndz -t node1-1.sb4.orbit-lab.org,node1-4.sb4.orbit-lab.org }}} This process may take a few minutes. When it is complete, confirm the installation by SSH'ing into the nodes and checking that the settings loaded correctly. === Manually Confirming Settings === {{{ ssh root@node1-1 }}} Check that the WiMAX drivers loaded correctly: {{{ lsmod lsmod | grep i2400m_usb }}} If they didn't, load them: {{{ modprobe i2400m_usb }}} === Connect to the WiMAX Network === Next, use the WiMAX Configuration Utility (''wimaxcu'') to connect to the WiMAX network: {{{ wimaxcu ron wimaxcu connect network 51 }}} === Assign an IP Address === By this point, the drivers are loaded, and the network is connected. However, the WiMAX card hasn't been given an IP address yet. Below is the recommended IP address for node 1 on sandbox 4. (Alternate IP addresses are allowed, but require additional configuration at other stages of an experiment.) {{{ ifconfig ifconfig wmx0 10.41.14.1 netmask 255.255.0.0 up ifconfig }}} Note that the ''wmx0'' network card now has an IP address. == Testing Connection == Repeat the previous steps for other nodes. To test the connection between two nodes, use the ''ping'' utility, which sends packets at an IP address and checks for confirmation of receipt. Assuming that nodes 1 and 4 have already been connected: {{{ ssh root@node1-1 ping 10.41.14.4 }}}