359 | | |
360 | | |
361 | | |
| 359 | == 12.4 Installing the Beceem Driver for Linux-Airspan BS Compatibility == |
| 360 | |
| 361 | Commands to be run as the root user have the '#' prompt, commands to be run as a normal user have the '$' prompt. |
| 362 | |
| 363 | === 1. Install Linux === |
| 364 | |
| 365 | 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: |
| 366 | |
| 367 | {{{ |
| 368 | $ uname -r |
| 369 | }}} |
| 370 | |
| 371 | This method was complete successfully on Ubuntu 11.10. |
| 372 | |
| 373 | === 2. Resources === |
| 374 | |
| 375 | A WiMAX dongle with a Beceem chipset is required to use the driver to connect to a WiMAX network. An AWB US211 USB adapter was used when testing the netbook configured using this guide, although any dongle with a Beceem chipset should work. |
| 376 | |
| 377 | Files in the following tarball are required to install the driver: http://groups.geni.net/syseng/browser/trunk/gpolab/wimax/TGZ/BeceemSource.tar.gz . The tarball is quite large (100s of MB) and may take a few minutes or more to download. |
| 378 | |
| 379 | It will be assumed that these files were downloaded to the ~/Downloads/ directory for the remainder of the guide. Extract the files: |
| 380 | |
| 381 | {{{ |
| 382 | $ cd ~/Downloads |
| 383 | $ tar -xvzf BeceemSource.tar.gz |
| 384 | }}} |
| 385 | |
| 386 | The following packages should be installed using apt-get: |
| 387 | |
| 388 | {{{ |
| 389 | # apt-get install libglobus-openssl libglobus-openssl-dev libssl-dev #Required to install libeap library |
| 390 | # apt-get install linux-source linux-headers-$(uname -r) openssl unzip patch #Required to install driver |
| 391 | }}} |
| 392 | |
| 393 | === 3. Install libeap Library === |
| 394 | |
| 395 | Patch and install the wpa_supplicant using the commands: |
| 396 | |
| 397 | {{{ |
| 398 | $ cd ~/Downloads/BeceemSource/ |
| 399 | $ tar -xvf wpa_supplicant-0.7.3.tar.gz |
| 400 | $ cd wpa_supplicant-0.7.3.tar.gz |
| 401 | $ patch -p1 < ../wpa_supplicant-0.7.3-generate-libeap-peer.patch |
| 402 | # make -C src/eap_peer |
| 403 | # make -C src/eap_peer install |
| 404 | # ldconfig |
| 405 | }}} |
| 406 | |
| 407 | This library is required to install the wimaxd utility, and does not get installed properly by the script provided in the Sprint tarball. |
| 408 | |
| 409 | === 4. Prepare linux-source for Install === |
| 410 | |
| 411 | A kernel environment is required to properly construct the driver. To create this environment from the source files installed with apt-get, run: |
| 412 | |
| 413 | {{{ |
| 414 | $ cd /usr/src |
| 415 | $ tar xvfj linux-source-X.X.X.tar.bz2 #Where the kernel version number takes the place of X.X.X |
| 416 | $ cd linux-source-X.X.X |
| 417 | # make oldconfig |
| 418 | # make prepare |
| 419 | # make modules_prepare |
| 420 | $ ln -s linux-sources-X.X.X linux |
| 421 | }}} |
| 422 | |
| 423 | The final command creates a symlink, which simplifies later installation by allowing all default paths to be used when building the driver. |
| 424 | |
| 425 | === 5. Build the Driver === |
| 426 | |
| 427 | Unpack the Sprint tarball and run the install script: |
| 428 | |
| 429 | {{{ |
| 430 | $ cd ~/Downloads/BeceemSource/ |
| 431 | $ tar xvfz Sprint4GDeveloperPack-1.6.1.2.2.tar.gz |
| 432 | $ cd Sprint4GDeveloperPack-1.6.1.2.2 |
| 433 | # ./install.sh |
| 434 | }}} |
| 435 | |
| 436 | The installer will prompt for various file paths, if the symlink was created in the last step then the default options should be correct. |
| 437 | |
| 438 | After the install finishes run the following commands to add the new driver to the startup modules, and verify success: |
| 439 | |
| 440 | {{{ |
| 441 | # insmod drxvi314.ko |
| 442 | # dmesg -c |
| 443 | }}} |
| 444 | |
| 445 | The dmesg command should output a line that includes "Initialized usbbcm" upon a successful kernel install. |
| 446 | |
| 447 | === 6. Reboot, Configure, and Verify === |
| 448 | |
| 449 | Reboot the netbook. After startup copy the following files with the commands: |
| 450 | |
| 451 | {{{ |
| 452 | # cp /usr/src/USB_350/Source/CSCM/BeceemCSCM/wimaxd.conf /etc |
| 453 | # cp /lib/firmware/macxvi350.bin /lib/firmware/macxvi200.bin |
| 454 | }}} |
| 455 | |
| 456 | 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. |
| 457 | |
| 458 | Plug the dongle into a usb port and run: |
| 459 | |
| 460 | {{{ |
| 461 | $ lsusb |
| 462 | }}} |
| 463 | |
| 464 | One of the devices should include "Beceem Communications Inc." if the installation was successful. |
| 465 | |
| 466 | === 7. Start the Server and Connect === |
| 467 | |
| 468 | Start the wimax daemon: |
| 469 | |
| 470 | {{{ |
| 471 | # wimaxd -c /etc/wimaxd.conf |
| 472 | }}} |
| 473 | |
| 474 | The prompt "CSCM Server Started" should appear. |
| 475 | |
| 476 | Run the connection utility: |
| 477 | |
| 478 | {{{ |
| 479 | $ wimaxc -i |
| 480 | }}} |
| 481 | |
| 482 | Start search at the subprompt |
| 483 | |
| 484 | {{{ |
| 485 | > search |
| 486 | }}} |
| 487 | |
| 488 | If networks are found then the installation is complete! |
| 489 | |
| 490 | If an error occurs, such as the device can not be found, the interface must be started. Determine the interface for the dongle by running |
| 491 | |
| 492 | {{{ |
| 493 | $ ifconfig |
| 494 | }}} |
| 495 | |
| 496 | 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): |
| 497 | {{{ |
| 498 | # ifconfig ethX up |
| 499 | }}} |
| 500 | |
| 501 | The wimaxc utility should successfully find the hardware and search. |
| 502 | |
| 503 | |
| 504 | |
| 505 | |