[[PageOutline]] = 5. Case 1: Software Installation, Configuration and Operation = Fig 2-1) Case 1 WiMAX Base Station Configuration [[BR]] [[Image(wimax_system.JPG, 100%)]] Fig 3-1) Case 1 Detailed WiMAX Base Station Configuration [[BR]] [[Image(WiMAX/00:fig 3-1 121010_ WiMAXSystemOverview.jpg, 100%)]] Fig 4-1) Case 1 WiMAX Software Configuration [[BR]] [[Image(WiMAX/00:fig 4-1 121010_ WiMAXSystemOverview.jpg, 100%)]] == 5.1 WiMAX OID and IP Address Assignment == || Campus || OID || IP Range || || WINLAB || 44:51:DB:00:00:XX || 10.3.0.XX || || NECLabs || 44:51:DB:00:01:XX || 10.3.1.XX || || BBN || 44:51:DB:00:02:XX || 10.3.2.XX || || Stanford || 44:51:DB:00:03:XX || 10.3.3.XX || || Poly || 44:51:DB:00:04:XX || 10.3.4.XX || || UMass || 44:51:DB:00:05:XX || 10.3.5.XX || || Columbia || 44:51:DB:00:06:XX || 10.3.6.XX || || UColorado || 44:51:DB:00:07:XX || 10.3.7.XX || || UWisconsin || 44:51:DB:00:08:XX || 10.3.8.XX || || UCLA || 44:51:DB:00:09:XX || 10.3.9.XX || Each campus can have up to 127 basestations (each BS needs two addresses) and/or multiple ASN gateways. The basestations are assigned OIDs and IPs starting from 1 and counting up while ASN gateway machines are assigned IP addresses that are assigned starting from 254 and counting down. For example, first basestation in WINLAB gets IP address on primary controller of 10.3.0.1 and the IP address for the networking card of 10.3.0.2 while the gateway machine gets 10.3.0.254 Issue: Should all use BBN OID, since it is the only one offically regsitered? Also, that all MSs would use same OID? == 5.2 Key Configuration Parameters == These are the key parameters, that are gathered and then held in the yaml configuration file {{{ # NOTE: use only 'spaces' to indent ! # ('tab' indents are not supported by the ruby yaml parser used to read this file) # # This is the Config file for the WiMAXRF GridService # --- wimaxrf: asngw: if: eth1 ip: 192.168.1.50 port: 2231 id: ASNGW000 tecnh: 3 dsc: IP-Config-Mgmt click: def_gw: 10.41.0.1 net_mask: 255.255.0.0 def_ip: 10.41.0.254 bs: ip: 192.168.1.10 mask: 255.255.255.0 bsid: 00:00:04:00:00:01 frequency: 2590000 }}} == 5.3 Base Station Server Installation == === 5.3.1 Expected OS: Ubuntu 9.04 === {{{ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 9.04 Release: 9.04 Codename: jaunty }}} === 5.3.2 Setup Ethernet Interfaces === It is expected that there be 3 wired Ethernet interfaces named: eth0, eth1, eth2. You may need to edit '''/etc/udev/rules.d/70-persistent-net.rules''' to make the names reflect the correct physical ports. The '''/etc/network/interfaces''' file should look similar to this: {{{ # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # This interface connect to the Base Station auto eth1 iface eth1 inet static address 192.168.1.50 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 #This is the gateway interface, it should get a routeable address from DHCP auto eth2 iface eth2 inet dhcp #Reserved for future USE auto eth0 iface eth0 inet static address 10.41.0.3 network 10.41.0.0 netmask 255.255.0.0 broadcast 10.41.255.255 }}} === 5.3.3 Install Required Packages === 1. Configure apt/sources to include mytestbed.net and orbit-lab.org. Edit the '''/etc/apt/sources.list''' and add the following lines: {{{ deb http://pkg.mytestbed.net/ubuntu karmic/ deb http://packages.orbit-lab.org/ubuntu jaunty main }}} 1. Update information based on the changed sources.list. {{{ sudo apt-get update }}} 1. Now install the ASN-GW software {{{ sudo apt-get install asn-gw0.9.0 click1.6.0 }}} 1. Install SAM.rb from repository into home directory This will install 333MB or so worth of packages. You will need to confirm some of the packages from our repository. [wiki:/Software/Create Create Debian Package][[BR]] [wiki:/Software/Configuration Create Package Site][[BR]] == 5.4 Setup NEC BTS == Please note: Do not restart BTS until all changes are complete. If you do happen to restart, you will have to use the serial interface to connect to the BTS. === 5.4.1: Step 1 Configuring the IP === We'll need to adjust the ip's of both interfaces. They're managed via two independent files which exists on two different machines/ip combos. 1. The "DSP" machine: 1. Copy the attached [attachment:networkenv.orbit networkenv.orbit] file locally (to your console) and edit it's addresses to reflect [wiki:WiMAX/00/Configuration/AddressAssignments your organisations Address Structure]. If this is the first BTS in your organization your address should be of the form 10.3.X.1, where X is the numerical ID given to your group. You'll only need to edit the #MACO segment of information. You will also need to set the NAMESERVER flag to something reasonable like googles public DNS (8.8.8.8), or a specfic DNS in your network. Note that we're using class B addresses. {{{ #MAC0 export INTERFACE_0=eth0 export IPADDR_0=10.3.Y.1 export NETMASK_0=255.255.0.0 export BROADCAST_0=10.3.255.255 export GATEWAY_0=10.3.YX.1 export NAMESERVER_0=8.8.8.8 }}} 1. Copy the file to /flash/networkenv on the DSP machine (via SCP). The default IP of the DSP machine is 192.168.1.10. {{{ scp networkenv.orbit root@192.168.1.10:/flash/networkenv }}} 1. The "Network" Machine 1. Telnet to the N/W card at 192.168.1.42/24. User root as the username, you will not be asked for a password. 1. Edit the /etc/network/interfaces eth1 entry to organisations Address Structure. It should be of the form 10.3.Y.2, for the first BTS. The entry should look similar to: {{{ auto eth1 iface eth1 inet static address 10.3.Y.2 network 10.3.0.0 netmask 255.255.0.0 broadcast 10.3.255.255 gateway 10.3.Y.1 }}} 1. Finally you'll need to configure your own interface to be in the same subnet as the BS Ip's. For the first BS it should be of the form 10.3.X.254. === 5.4.2 Step 2 Configure the BTS software === 1. ssh to the new IP of the DSP machine. {{{ ssh !root@10.3.Y.1 }}} 1. Use wiset commands below to correct configuration on the BTS: 1. Enter these '''Verbatim''' {{{ wiset authgw_id 0x41534E47 wiset authgw_port 0x08B7 wiset asngw_id 0x41534E4757303030 wiset asngw_dp_port 0x08B7 wiset asngw_ep_port 0x08B7 wiset bs_rx_port 0x08B7 wiset frequency 2551500 or ?? wiset bs_tx_power 40 wiset bw_mode 0 wiset dlul_ratio 2 wiset ttg 296 wiset rtg 168 wiset framesync_mode 2 wiset antenna_gain 0 }}} 1. These commands require you to change the IP paramter specfied in hex. The IP should that of the console's eth1 interface (which speaks to the BTS). {{{ wiset authgw_ip 0x0A030047 wiset asngw_dp_ip 0x0A030047 wiset asngw_ep_ip 0x0A030047 }}} 1. You will find your bsid (OID) on [wiki:WiMAX/00/Configuration/AddressAssignments this page]. Note remove the colons, and set the last two digits to reflect the IP of the DSP machine (e.g. the first one should be 01). {{{ wiset bsid 0x4451DB0000XX }}} After this process, the BS will require a reboot. This [http://www.kloth.net/services/iplocate.php site] converts dot quad to hex. == 5.5 Manual Configuration of SAMrb == Note these instructions need to be followed if you are using just the SAMrb instead of the full omf-wimaxrf-aggmgr-5.2 webservice. Once you untar and enter in the SAMrb directory you can edit the file SimpleAuthManager.rb. In this file please change the following to reflect your network settings: 1. The $ips hash table should be updated to include your client mac to IP mapping. 2. The $def_gw = "10.41.0.1" and $net_mask = "255.255.0.0" settings should be used to reflect the CSN side settings. == 5.6 Configuration of ASN-GW Controller == Configuration of software both for the ASN-GW and the WiMAX BTS is done through a single yaml configuration file on the ASN. To enable the features we will need to copy the '''wimaxrf.yaml''' from '''/etc/omf-aggmgr-5.2/available''' to '''/etc/omf-aggmgr-5.2/enabled/'''. Edit this file change settings (if needed) {{{ # NOTE: use only 'spaces' to indent ! # ('tab' indents are not supported by the ruby yaml parser used to read this file) # # This is the Config file for the WiMAXRF GridService # --- wimaxrf: asngw: if: eth1 ip: 192.168.1.50 port: 2231 id: ASNGW000 tecnh: 3 dsc: IP-Config-Mgmt click: def_gw: 10.41.0.1 net_mask: 255.255.0.0 def_ip: 10.41.0.254 bs: ip: 192.168.1.10 mask: 255.255.255.0 bsid: 44:51:DB:00:00:XX frequency: 2590000 }}} Making changes in this file should propagate changes to the ASN software and the BTS (IDU) software. These are the files which are located in the /etc directory on the asn-gw machine. In this section we will describe the changes required to the default configuration files for accommodating custom settings and IPs. ==== asnctrl ==== The points that need to be changed in the asnctrl.conf file are: {{{ R6_BSID[0] = 44:51:DB:00:00:XX // BSID allocated as per GENI R6_BSAddress[0] = [10.3.Y.61]:2231 //IP address of the IDU TunnelEndpoint = [10.3.Y.71]:0 //IP of the ASN - GW }}} ==== asnctrl_ASNGW000 ==== {{{ R4_BSID[0][0]=44:51:DB:00:00:XX }}} ==== asnctrl_common ==== No changes are required in this file. ==== asnctrl_gre ==== This is an output file which shows the mapping of the client MAC address to the uplink and downlink GRE tunnel. This file does not need any configuration. ==== asnctrl_service_class ==== This file contains the mapping of the mac address to the service class. Sample entries are as shown below: {{{ 00:18:41:85:5e:a3 IP-Config-Mgmt 00:12:cf:b2:ad:9a IP-Config-Mgmt 00:12:cf:b2:a4:e8 IP-Config-Mgmt 00:12:cf:b2:9c:73 IP-Config-Mgmt 00:1b:8b:54:02:9a IP-Config-Mgmt 00:1b:8b:54:02:84 IP-Config-Mgmt 00:1d:e1:0a:5e:87 IP-Config-Mgmt }}} ==== clasify-ctrl ==== This file is located here: /usr/share/asngw/classify-ctrl.sh IP addresses need to be updated here based on the settings used: {{{ : ${DEV_R3:="eth0"} : ${DEV_R6R4:="eth1"} : ${MSADDR:="10.42.0.0/16"} : ${R3_NETWORK:="10.41.0.0/16"} : ${R3_ADDR:="10.41.0.3"} : ${R6R4_NETWORK:="192.168.1.0/24"} : ${R6R4_ADDR:="192.168.1.50"} }}} ==== trapctrl ==== No changes are required in this file. ==== epctrl ==== {{{ R3LocalDevice = eth0 R4LocalDevice = eth1 R6LocalDevice = eth1 }}} == 5.7 Configuration of CLICK == Configuration of the CLICK router is done by SAM.rb. Here is an example configuration when no MSs are registered: (sample) Here is an example configuration when one MS is registered: (sample) == 5.8 Operations and Testing == === 5.8.1 Login to Base Station Server === Login through the console on the Base Station Server (ASN-GW) and test the following. 1. The BTS should be reachable from the ASN-GW with the default IP setting: - ping the BTS interface; it was assigned the fixed IP 192.168.1.10. - measure the round trip times 2. Power cycle the BTS through the use of stop and start scripts. - Perform a hard reset if required (if updated parameter values are not reflected). - There should also be a green light on the IDU after a software power cycle of the IDU. - The software power cycle can be preformed by the following commands: {{{ /etc/init.d/asn-gw stop /etc/init.d/asn-gw start }}} 3. Ping the outside interface and see if the DMZ gateway is reachable from the ASN-GW After successful completion we know that the ASN is able to send traffic both downlink to the IDU and outbound towards the internet. === 5.8.2 Login to BTS === 1. To login: (sample) 2. Power cycle the BTS through the use of stop and start scripts. - Perform a hard reset if required (if updated parameter values are not reflected). - There should also be a green light on the IDU after a software power cycle of the IDU. - The software power cycle can be preformed by the following commands: {{{ /etc/init.d/asn-gw stop /etc/init.d/asn-gw start }}} === 5.8.3 ASN GW Operation === To control the WiMAX base station, run the stop and start scripts as follows: Start script: {{{ /etc/init.d/snmpd start /etc/rc.d/init.d/trapctrl start sleep 1 /etc/rc.d/init.d/asnctrl start sleep 1 /etc/rc.d/init.d/epctrl start #sleep 1 }}} Stop script: {{{ /etc/rc.d/init.d/epctrl stop /etc/rc.d/init.d/asnctrl stop /etc/rc.d/init.d/trapctrl stop /etc/init.d/snmpd stop pkill -9 asnctrl pkill -9 epctrl }}} A few simple checks to make sure things are working: 1. There should be 3 running processes: {{{ root 3128 1 0 19:10 ? 00:00:00 trapctrl root 3137 1 0 19:10 ? 00:00:02 asnctrl root 3227 1 0 19:10 ? 00:00:02 epctrl }}} 1. Some log files should start filling up in '''/var/log''': 1. asnctrl.log 1. epctrl.log === 5.8.4 RF Transmission === 1. Scan on the client and check if the basestation's signal is seen using the procedure described below. If we are able to connect step 2 can be ignored. Else try step 2. Configure driver at the client to ensure all required parameters are configured correctly. - Change the /etc/asnctrl_service_class.conf to include client and service class information. - Possibly include SSID to match with the BTS - Check center frequency to match with the BTS - Enable (locks) if any - Disable wifi if operating on a dual mode card (since quite a few times they work in a mutually exclusive mode) - Enable a static IP setting at the client to allow for baseline IP connectivity 2. If possible sweep the spectrum through an analyzer to determine proper transmission at the center frequency. - Vary transmit power at the BTS using wiset calls on the BTS or through the web interface and then measure the corresponding changes on the analyzer. === 5.8.5 SAM Monitoring === === 5.8.6 CLICK Modular Router Monitoring === === 5.8.9 Mobile Station Registration === === 5.8.10 Traffic Monitoring === Install wireshark on ethernet interfaces.