close Warning: Can't synchronize with repository "(default)" (/common/SVN/wimax does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 55 and Version 56 of Old/WiMAX/30


Ignore:
Timestamp:
May 13, 2014, 3:03:24 PM (10 years ago)
Author:
Nilanjan Paul
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Old/WiMAX/30

    v55 v56  
    382382=== 1. Install Linux ===
    383383
    384 Install Ubuntu version 11.04 or later on a netbook.  A Linux kernel of version of 2.6.38 or greater is required to install the drivers; to determine the current systems kernel version run:
     384Install Ubuntu version 12.04 a netbook.  A Linux kernel of version of 2.6.38 or greater is required to install the drivers; to determine the current systems kernel version run:
    385385
    386386{{{
     
    390390If the kernel image needs to be updated then do the following:
    391391{{{
    392 $ apt-cache search linux | grep generic
     392$ apt-cache search linux-image | grep generic
    393393}}}
    394394
    395395This will provide a list of available kernel images for the running system.
    396 To install an image:
     396To install the linux image version 3.8.0-31:
    397397{{{
    398398$ apt-get install linux-image-3.8.0-31-generic
    399399}}}
    400400
    401 Follow all the prompts and reboot if required.
    402 
    403 
    404 The following steps were completed successfully on Ubuntu 11.10 and Ubuntu 12.04.
     401Reboot the machine to load the new kernel:
     402{{{
     403$ reboot
     404}}}
     405
     406
     407The following steps were completed successfully on Ubuntu 12.04.
    405408
    406409=== 2. Resources ===
     
    410413Files in the following tarball are required to install the driver: http://wimax.orbit-lab.org/downloads/BeceemSource.tar.gz . The tarball is quite large (~150 MB) and may take a few minutes or more to download.
    411414
    412 It will be assumed that these files were downloaded to the ~/Downloads/ directory for the remainder of the guide. Extract the files:
     415Download the tarball and extract the files:
    413416
    414417{{{
    415418$ cd ~/Downloads
     419$ wget http://wimax.orbit-lab.org/downloads/BeceemSource.tar.gz
    416420$ tar -xzf BeceemSource.tar.gz
    417421}}}
     
    422426# apt-get install libssl-dev linux-headers-$(uname -r) make patch unzip
    423427}}}
    424 
    425 Download the source files for the linux kernel distribution into /usr/src:
     428It's most likely the linux header files are downloaded into the directory /usr/src.
     429
     430Download the source files for the linux kernel distribution into /usr/src and create a symlink to simplify installation when building the driver:
    426431{{{
    427432# pushd /usr/src
    428433# apt-get source linux-image-$(uname -r)
     434# ln -s <linux-source-directory> linux
    429435# popd
    430436}}}
     437Note: <the linux-source-directory> should be suffixed with the kernel version.
    431438
    432439=== 3. Install libeap Library ===
     
    445452This library is required to install the wimaxd utility, and does not get installed properly by the script provided in the Sprint tarball.
    446453
    447 === 4. Prepare linux-source for Install ===
    448 
    449 A kernel environment is required to properly construct the driver. To create this environment from the source files installed with apt-get, run:
    450 
    451 {{{
    452 # cd /usr/src
    453 # tar -xjf linux-source-X.Y.Z.tar.bz2  # where the kernel version number takes the place of X.Y.Z
    454 # ln -s linux-sources-X.Y.Z linux
    455 }}}
    456 
    457 The final command creates a symlink, which simplifies later installation by allowing all default paths to be used when building the driver.
    458 
    459 === 5. Build the Driver ===
    460 
    461 Unpack the Sprint tarball and run the install script:
     454=== 4. Build the Driver ===
     455
     456Unpack the Sprint tarball and run the script. This will build and install the driver:
    462457
    463458{{{
     
    470465The installer will prompt for various file paths, if the symlink was created in the previous step then the default choices should be correct.
    471466
    472 After the install finishes run the following commands to add the new driver to the startup modules, and verify success:
     467On some recent kernels, you will need to blacklist the `bcm_wimax` driver to prevent it from claiming the device on start up.
     468
     469{{{
     470# echo "blacklist bcm_wimax" > /etc/modprobe.d/blacklist-bcm-wimax.conf
     471}}}
     472
     473Run the following command to add the new driver to the startup modules:
    473474
    474475{{{
    475476# modprobe drxvi314
     477}}}
     478
     479To check if above driver registered properly:
     480{{{
    476481# dmesg | grep usbbcm
    477482}}}
    478 
    479 The last command should output a line that includes "Initialised usbbcm" upon a successful kernel install.
    480 
    481 On some recent kernels, you will need to blacklist the `bcm_wimax` driver to prevent it from claiming the device. Run
    482 
    483 {{{
    484 # echo "blacklist bcm_wimax" > /etc/modprobe.d/blacklist-bcm-wimax.conf
    485 }}}
    486 
    487 
    488 === 6. Reboot, Configure, and Verify ===
    489 
    490 Reboot the netbook. After startup copy the following files with the commands:
     483This should output a line that includes " usbcore: registered new interface driver usbbcm"
     484
     485
     486=== 5. Reboot, Configure, and Verify ===
     487
     488Reboot the machine:
     489{{{
     490# reboot
     491}}}
     492
     493After startup copy the following files with the commands:
    491494
    492495{{{
     
    495498}}}
    496499
    497 Edit the new /etc/wimaxd.conf file as desired, the file is heavily commented and should be self explanitory. Make sure that the network's center frequency can be found in the CenterFrequencyMHz parameter of the config file, the GENI network center frequency (2590) is not one of the default frequencies. The firmware file is copied because the utilities expect that both the macxvi350.bin and macxvi200.bin will be present when utilities are run.
    498 
    499 Plug the dongle into a usb port and run:
     500In a another terminal window and tail the syslog file. This show the results wimax commands down below.
     501{{{
     502# tail -f /var/log/syslog
     503}}}
     504
     505Edit the new /etc/wimaxd.conf file as desired, the file is heavily commented and should be self explanatory. Make sure that the network's center frequency can be found in the CenterFrequencyMHz parameter of the config file, the GENI network center frequency (2590) is not one of the default frequencies. The firmware file is copied because the utilities expect that both the macxvi350.bin and macxvi200.bin will be present when utilities are run.
     506
     507Plug the dongle into a usb port and list the USB devices:
    500508
    501509{{{
    502510$ lsusb
    503 }}}
    504 
    505 One of the devices should include "Beceem Communications Inc." if the installation was successful.
    506 
    507 === 7. Start the Server and Connect ===
     511Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
     512Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
     513Bus 003 Device 002: ID 198f:0220 Beceem Communications Inc. BCSM250 WiMAX Adapter
     514Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
     515Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
     516Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
     517Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
     518}}}
     519
     520One of the devices should include "Beceem Communications Inc." if the installation was successful. The Bus and Device number may be different.
     521
     522=== 6. Start the Server and Connect ===
    508523
    509524Start the wimax daemon:
     
    511526{{{
    512527# wimaxd -c /etc/wimaxd.conf
    513 }}}
    514 
    515 The prompt "CSCM Server Started" should appear.
    516 
    517 Run the connection utility:
    518 
    519 {{{
    520 $ wimaxc -i
    521 }}}
    522 
    523 Start search at the subprompt
    524 
    525 {{{
    526 > search
    527 }}}
    528 
    529 If networks are found then the installation is complete!
     528********** CSCM Server Started ********** 05/13/14 10:24:11
     529}}}
     530
     531Use the connection utility to search for the base station and check for similar output:
     532
     533{{{
     534# wimaxc search
     535Beceem CM Server Version 1.1.7.0
     536Network search returned 1 base station.
     537Idx BSID                    Pre      Freq      BW  RSSI  CINR
     538 0  01:01:44:51:db:00:00:01 0x00 2590.000  10.000   -56    31
     539}}}
     540
     541If networks are found then the installation is complete and the wimax interface will try to connect to a base station. The syslog file should show a similar output:
     542{{{
     543May 13 10:24:27 localhost kernel: [  260.814967] LinkControlResponseMessage:PHY_SYNC_ACHIVED
     544May 13 10:24:34 localhost kernel: [  268.573803] LinkControlResponseMessage:PHS Support Status Recieved In LinkUp Ack : 1
     545May 13 10:24:34 localhost kernel: [  268.573806]
     546May 13 10:24:35 localhost kernel: [  269.186284] CmControlResponseMessage:### TID RECEIVED 35968
     547}}}
    530548
    531549If an error occurs, such as the device can not be found, the interface must be started. Determine the interface for the dongle by running
    532550
    533 {{{
    534 $ ifconfig
    535 }}}
    536 
    537 Match the hardware/MAC address of one of the eth interfaces with the dongle address. Then run the command on that interface (ethX in the code below):
    538 {{{
    539 # ifconfig ethX up
    540 }}}
    541 
    542 The wimaxc utility should successfully find the hardware and search.
     551
     552=== 7. Configure the interface ===
     553Once connected the wimax dongle should come up as an ''eth'' interface. Match the dongle's MAC address to ''eth'' interface. In this example, the MAC address of the wimax dongle used is b8:61:6f:0d:a0:6d.
     554To see a list of interfaces:
     555{{{
     556$ ifconfig -a
     557eth0      Link encap:Ethernet  HWaddr 00:03:1d:0c:7d:d0
     558          BROADCAST MULTICAST  MTU:1500  Metric:1
     559          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     560          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     561          collisions:0 txqueuelen:1000
     562          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
     563          Interrupt:20 Memory:f0700000-f0720000
     564
     565eth1      Link encap:Ethernet  HWaddr 00:03:1d:0c:7d:d1
     566          inet addr:10.10.7.10  Bcast:10.10.255.255  Mask:255.255.0.0
     567          inet6 addr: fe80::203:1dff:fe0c:7dd1/64 Scope:Link
     568          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     569          RX packets:710 errors:0 dropped:0 overruns:0 frame:0
     570          TX packets:576 errors:0 dropped:0 overruns:0 carrier:0
     571          collisions:0 txqueuelen:1000
     572          RX bytes:71675 (71.6 KB)  TX bytes:92532 (92.5 KB)
     573          Interrupt:17 Memory:f0600000-f0620000
     574
     575eth2      Link encap:Ethernet  HWaddr b8:61:6f:0d:a0:6d
     576          BROADCAST MULTICAST  MTU:1400  Metric:1
     577          RX packets:35246 errors:0 dropped:0 overruns:0 frame:0
     578          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     579          collisions:0 txqueuelen:1000
     580          RX bytes:11366 (11.3 KB)  TX bytes:0 (0.0 B)
     581
     582lo        Link encap:Local Loopback
     583          inet addr:127.0.0.1  Mask:255.0.0.0
     584          inet6 addr: ::1/128 Scope:Host
     585          UP LOOPBACK RUNNING  MTU:65536  Metric:1
     586          RX packets:35 errors:0 dropped:0 overruns:0 frame:0
     587          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
     588          collisions:0 txqueuelen:0
     589          RX bytes:2590 (2.5 KB)  TX bytes:2590 (2.5 KB)
     590
     591
     592}}}
     593
     594The wimax dongle came up on ''eth2''. We'll configure this interface as working example:
     595{{{
     596# ifconfig eth2 10.41.41.29 netmask 255.255.0.0 up
     597}}}
     598
     599Now check ''eth2'' interface.
     600{{{
     601# ifconfig eth2
     602eth2      Link encap:Ethernet  HWaddr b8:61:6f:0d:a0:6d
     603          inet addr:10.41.41.29  Bcast:10.41.255.255  Mask:255.255.0.0
     604          inet6 addr: fe80::ba61:6fff:fe0d:a06d/64 Scope:Link
     605          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
     606          RX packets:41362 errors:0 dropped:0 overruns:0 frame:0
     607          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
     608          collisions:0 txqueuelen:1000
     609          RX bytes:13174 (13.1 KB)  TX bytes:168 (168.0 B)
     610}}}
     611
     612Test the interface by pinging the gateway (10.41.0.1):
     613{{{
     614# ping 10.41.0.1 -c 5
     615PING 10.41.0.1 (10.41.0.1) 56(84) bytes of data.
     61664 bytes from 10.41.0.1: icmp_req=1 ttl=254 time=61.7 ms
     61764 bytes from 10.41.0.1: icmp_req=2 ttl=254 time=59.9 ms
     61864 bytes from 10.41.0.1: icmp_req=3 ttl=254 time=57.9 ms
     61964 bytes from 10.41.0.1: icmp_req=4 ttl=254 time=61.9 ms
     62064 bytes from 10.41.0.1: icmp_req=5 ttl=254 time=60.9 ms
     621
     622--- 10.41.0.1 ping statistics ---
     6235 packets transmitted, 5 received, 0% packet loss, time 4005ms
     624rtt min/avg/max/mdev = 57.951/60.522/61.963/1.494 ms
     625}}}
     626