= 6. Case 2: Hardware and Software Installation = == 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 == Base Station Server Installation == === Prerequisites === * 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 }}} * 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 }}} === 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 omf-wimaxrf-aggmgr-5.2 }}} This will install 333MB or so worth of packages. You will need to confirm some of the packages from our repository. == Setting up the 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. === Step1 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.X.1 export NETMASK_0=255.255.0.0 export BROADCAST_0=10.3.255.255 export GATEWAY_0=10.3.X.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.X.2, for the first BTS. The entry should look similar to: {{{ auto eth1 iface eth1 inet static address 10.3.X.2 network 10.3.0.0 netmask 255.255.0.0 broadcast 10.3.255.255 gateway 10.3.X.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. === Step 2a Configure The BS software === 1. ssh to the new IP of the DSP machine. ssh !root@10.3.x.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 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 0x303030303030 }}} After this process, the BS will require a reboot. This [http://www.kloth.net/services/iplocate.php site] converts dot quad to hex. === Step 2b BTS Configuration === Cat the following code to a shell script and execute after sshing into the BTS at the default ip: 192.168.1.10. If ssh does not work, try with a serial console. {{{ /usr/sbin/wimax/cmd_app 3 authgw_id 0x41534E4757303030 /usr/sbin/wimax/cmd_app 3 authgw_port 0x08B7 /usr/sbin/wimax/cmd_app 3 asngw_id 0x41534E4757303030 /usr/sbin/wimax/cmd_app 3 asngw_dp_port 0x08B7 /usr/sbin/wimax/cmd_app 3 asngw_ep_port 0x08B7 /usr/sbin/wimax/cmd_app 3 bs_rx_port 0x08B7 /usr/sbin/wimax/cmd_app 3 bsid 0x000004000000 /usr/sbin/wimax/cmd_app 3 frequency 2551500 /usr/sbin/wimax/cmd_app 3 bs_tx_power 40 /usr/sbin/wimax/cmd_app 3 bw_mode 0 /usr/sbin/wimax/cmd_app 3 dlul_ratio 2 /usr/sbin/wimax/cmd_app 3 ttg 296 /usr/sbin/wimax/cmd_app 3 rtg 168 /usr/sbin/wimax/cmd_app 3 framesync_mode 2 /usr/sbin/wimax/cmd_app 3 antenna_gain 0 /usr/sbin/wimax/cmd_app 3 authgw_ip 0xC0A80132 /usr/sbin/wimax/cmd_app 3 asngw_dp_ip 0xC0A80132 /usr/sbin/wimax/cmd_app 3 asngw_ep_ip 0xC0A80132 }}} == 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. == Configuration of ASN-GW Controller and NEC IDU == 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: 00:00:04:00:00:01 frequency: 2590000 }}} Making changes in this file should propagate changes to the ASN software and the BTS (IDU) software. == Testing == === Simple Checks === A few simple checks to make sure things are working: 1. You should be able to ping the Base Station, it was assigned the fixed IP 192.168.1.10. 1. Some log files should start filling up in '''/var/log''': 1. asnctrl.log 1. epctrl.log 1. 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 }}} 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 }}} === Prerequisites === 1. Confirm that all hardware and software has been properly installed. === Hardware connectivity check === Login through the console on the ASN-GW and test the following. 1. Is the BTS is reachable from the ASN-GW. with the default IP setting - ping the BTS interface - 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). 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. === Test the 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.