|Version 51 (modified by 10 years ago) ( diff ),|
12. GENI WiMAX Mobile Stations
- 12.1 Linux PC with Intel WiMAX Modem Card
- 12.2 Intel WiMAX Modem with USB Adaptor
- 12.3 Configuring a Teltonika WiMAX USB Card to Ping Base station from …
- 12.4 Installing the Beceem Driver for Linux-Airspan BS Compatibility
12. GENI WiMAX Mobile Stations
12.1 Linux PC with Intel WiMAX Modem Card
12.1.1 Linux Laptop PC Platform
12.1.2 Intel 6250 WiMAX Modem Card
12.1.3 Installing Image
Samsung NC10 NetBook
The firmware, tools , network service and the patch were downloaded from LinuxWimax
- Compile a Linux Kernel to Version greater than 2.6.35 and reboot into that kernel.
- Install the i2400m firmware
Download the i2400 firmware 1.5.0 version.
Untar the source , cd to the directory and
install -o root -g root -m 0644 *.sbcf /lib/firmware
- Install the Wimax Tools
First install libnl and libnl's development packages
apt-get install libnl1 libnl-dev libglib2.0-0 libglib2.0-dev apt-get install build-essential pkg-config cd ~Download/wimax-tools-1.4.3 export I2400M=/lib/firmware/ ./configure make make install
- Build the libeap library
To do that first install openssl libraries.
apt-get install libglobus-openssl libglobus-openssl-dev libssl-dev
Download the Supplicant from wpa-supplicant Untar and unzip the downloadcd ~Downloads/wpa_supplicant-0.7.3 patch -p1 < PATH/wpa_supplicant-0.7.3-generate-libeap-peer.patch make -C src/eap_peer make -C src/eap_peer install ldconfig
Please do not forget to run ldconfig otherwise you will not be able to build the Wimax-Tools from Intel.
- Build the Intel-Wimax-Tools Untar and unzip the downloaded source and
Copy the NDnSAgentConfig_forDriver.xml file to ./InfraStack/OSAgnostic/WiMax/Agents/NDnS/XML_Files or modify
NSP_ID 51 in the file to look like
<geni> <NetworkParameters> <H_NSP> <x0> <H_NSP_ID>51</H_NSP_ID> </x0> </H_NSP> <CAPL> <Entries> <x0> <NAP_ID>4451DB</NAP_ID> <Priority>1</Priority> <ChPlanRefIds> <x0> <RefId>AB</RefId> </x0> </ChPlanRefIds> </x0> </Entries> <Any>ListFirst</Any> <SelectPolicy>Strict</SelectPolicy> </CAPL> <RAPL> <Entries></Entries> <Any>ListFirst</Any> <SelectPolicy>Strict</SelectPolicy> </RAPL> <ChannelPlan> <Entries> <x0> <Id>AB</Id> <FirstFreq>2590000</FirstFreq> <LastFreq>2590000</LastFreq> <NextFreqStep>10000</NextFreqStep> <Preambles>ffffffffffffffffffffffffffffff</Preambles> <BW>10000</BW> <FFTSize>1024</FFTSize> <DuplexMode>1</DuplexMode> <TTL>0</TTL> </x0> </Entries> <BW>-1</BW> <FFTSize>-1</FFTSize> <DuplexMode>1</DuplexMode> </ChannelPlan> <OperatorName>GENI</OperatorName> <PollingInterval>-1</PollingInterval> <PollingAttempts>10</PollingAttempts> <ServerID></ServerID> </NetworkParameters> <SubscriptionParameters> <Primary> <Name></Name> <Activated>False</Activated> <EAP> <x0> <METHOD_TYPE>EAP_TLS</METHOD_TYPE> <VENDOR_ID>13</VENDOR_ID> <VENDOR_TYPE>13</VENDOR_TYPE> <USER_IDENTITY></USER_IDENTITY> <PROVISIONED_PSEUDO_IDENTITY></PROVISIONED_PSEUDO_IDENTITY> <PASSWORD></PASSWORD> <REALM>www.geni.net</REALM> <USE_PRIVACY>False</USE_PRIVACY> <ENCAPS>-1</ENCAPS> <VFY_SERVER_REALM>False</VFY_SERVER_REALM> <SERVER_REALMS></SERVER_REALMS> <CERT> <x0> <CERT_TYPE></CERT_TYPE> <SER_NUM></SER_NUM> <ISSUER></ISSUER> </x0> <x1> <CERT_TYPE></CERT_TYPE> <SER_NUM></SER_NUM> <ISSUER></ISSUER> </x1> </CERT> </x0> </EAP> </Primary> <OtherSubscriptions></OtherSubscriptions> </SubscriptionParameters> <Contacts> <x0> <Type>0</Type> <URI>http://wimax.orbit-lab.org</URI> <Text>GENI WiMAX Technical Support</Text> </x0> <x1> <Type>1</Type> <URI>http://www.geni.net</URI> <Text>GENI Portal</Text> </x1> </Contacts> </geni>
Update the .bin files source files located at ./InfraStack/OSAgnostic/Product/AppSrvInfra/ with the GENI files
Now configure the wimax service and install the service.
./configure --with-linux=/usr --with-libwimaxll=/usr --sysconfdir=/etc --localstatedir=/var --prefix=/usr --enable-instrument --with-wimax-db-bin=/var --with-ver-info-bin=/var make make install
This new configuration with the .bin enabled allows us now to modify the NDns parameters on the fly by modifying WiMAX_Def.bin and WiMAX_DB.bin files located in /var/lib/wimax directory.
You can edit the file and restart the wimaxd service to see the changes.
Connection and Scan Mode settings are set using the following commands
wimaxcu connectmode connect manual wimaxcu connectmode scan semi
Instructions are Here
12.1.4 Downloading Complete Image
Based on Ubuntu 10.04 with compiled Kernel .35 and the Intel WiMAX driver source compiled on 8/25/2010 and with the GENI configuration file;
latest image for NC10!
12.1.5 Using the Service
- wimaxcu ron - Turn the Software Radio On
- wimaxcu plist - Check to See Geni Profile is Available
- wimaxcu scan wide - Scan all the available Base Stations
- wimaxcu connect network Geni - Connect to the GENI wimax station
- dhclient wmx0 - Obtain an IP address
- wimaxcu -i wmxX -b - Start the wimax service in background
- wimaxcu -i wmxX -k - Kill the wimax service
12.1.6 Enable debugging on the client
You can get enhanced debugging for the following parameters by increasing the verbosity level
echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_stack
echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_op_rfkill
echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_op_reset
echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_op_msg
echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_id_table
echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_debugfs
12.2 Intel WiMAX Modem with USB Adaptor
12.2.1 Intel 6250 WiMAX Modem in USB Adaptor
12.2.2 PC Platforms
12.2.3 Installing Image
12.2.4 Manufacturing USB Adaptor
The WiMAX model USB adaptor is an 'open source' WINLAB designed board. This section provides links to the instructions and
the files necessary to produce the board.
Please note that the instructions and files provided meet the specifications and requirements set by Advanced Circuits. If using another vendor please be aware that the tolerances may be different.
The following files are needed to make the board and attached to this page. Additionally the schematic is also provided as a reference.
- USB_mPCIx_Board.zip - These files describe the physical board. All fabrication houses should accept the gerber file format.
- USB_MPCIX.TOP & USB_MPCIX.BOT - Top and Bottom copper gerber files, respectively.
- USB_MPCIX.SMT & USB_MPCIX.SMB - Top and bottom soldermask gerber files, respectively.
- USB_MPCIX.SST - Top silkscreen gerber file.
- USB_MPCIX_thruhole.tap - Drill list gerber file.
- USB_mPCIx_Pop.zip - These files describe the position of the components.
- USB_MPCIX.AST - Assembly drawing of the board
- USB_MPCIX.SPT - Top solderpaste gerber file, there is only components on the top side.
- USB_MPCIX_BOM.xls - Bill of materials, provides links and vendors for parts being used.
- USB_MPCIX_INSERT.TXT - mounting locations for the components on the board.
Fabrication and Population
The following set of instructions is specific to the production house WINLAB uses, Advanced Circuits. Other manufacturer may require additional information, however the process should be similar.
To have a board made the fabricated you must provide 'USB_mPCIx_Board.zip' as it contains all the physical board information. Typically this can be sent directly to a sales representative for quoting. If you intend for the boards to be populated, some manufacturers (definitely Advanced Circuits) require minimum quantities and dimensions, so you may request for the board to be panelized to meet those conditions. WINLAB had them produced 4 boards to a panel to meet Advanced Circuit requirements. Some additional information that might be required is as follows:
|Number of Layers:||2|
|Copper Inners:||0 oz|
|Solder Mask Sides||Both|
|Solder Mask Type||LPI|
|Solder Mask Color||Green|
If ordering through Advanced Circuits it is a good idea to run the design through the automated FreeDFM service. The design has already passed the check, but it also creates a quote matrix and populates any additional information on the board.
To have the board populated with parts send the additional zip file (USB_mPCIx_Pop.zip) for quoting. The bill of materials (BOM) currently lists the right angle SMA header as not in use and 'do not install', if you wish to use it change that line in the BOM.
12.3 Configuring a Teltonika WiMAX USB Card to Ping Base station from an Ubuntu Host
12.3.1. Install Driver / Eject "CD-ROM"
When first inserted into a new computer, the Teltonika device is mounted as a CDROM. It will immediatly begin installing a driver on host machine. On Ubuntu this process is non-obvious; allow the computer to sit for 5 minutes after inserting the device to give the driver time to install.
After the time to install has passed, determine the device that the "CDROM" is associated with by running:
Somewhere near the bottom of the messages should be a message that contains "Attached scsi CD-ROM [device]". This interface must be ejected so that the device can act as a wireless transmitter rather than a CD-ROM. In most instances the CD-ROM will be associated with either sr0 or sr1. Eject the device using the command:
$ eject [device]
After a few moments a notification about a new ethernet interface becoming available should appear. This is the interface that the computer will use to communicate with the wireless dongle.
In some cases after this initial setup was completed the computer would always recognize the device as an ethernet interface, and sometimes the CD-ROM device would need to be ejected each time. Reasons for this difference is unknown at the time of writing.
12.3.2. Update Firefox (or Google Chrome)
A web interface is provided to configure and interact with the dongle graphically. This webpage requires the most recent version of Adobe Flash. To update/download Firefox and the Flash plugin run:
# apt-get install firefox flashplugin-installer
NOTE: Adobe has announced that it will no longer support Flash for Linux, and so in the near future Firefox may have depreciated Flash support. In this even Google has commited to maintaining Flash for Linux in it's Chrome browser, and it can be used as a viable alternative to Firefox.
12.3.3. Connect to the WebUI
If the the Teltonika dongle is recognized as a wireless interface open up the WebUI in Firefox or Chrome by navigating to 192.168.0.1 . If this IP address does not direct the browser to the WebUI then ask the previous user of the device for the new address, it is a configurable parameter and may be changed.
Login as an administrator by CTRL-SHIFT-Clicking the Teltonika banner at the top of the page. Login credentials are also configurable, but are most likely set to:
Other passwords may be: admin OR EifAFKt8
12.3.4. Configure Device
The device can be configured to look for networks on a number of channels under the WiMAX→Channels tab. The GENI network has the profile:
Frequency (kHz): 2590000
Other configuration parameters can be configured by altering the config.sh file, found under the Files tab of the WebUI.
WARNING: it is entirely possible to brick the dongle if parameters are altered in this file in a way that should not be.
It is fairly safe to alter the fields: ipaddr (IP address where the WebUI can be reached), netmask (Subnet mask that the device will operate on), dhcpdsip (DHCP server IP address), dhcpdeip (unknown meaning at time of writing, may be expected IP address from DHCP server).
12.3.5. Statically Set Device IP Address
Telnet to the device:
$ telnet [WebUI address] 700
The login credentials for the telnet session are:
Within the telnet session run the following command to statically set the devices IP address:
# ifconfig icc0 [desired address] netmask [desired netmask]
This static address is not preserved when the Teltonika device is removed from the host machine, and it needs to be configured each time that the device is connected to the host.
After statically setting the IP address, you need to also set up the iptables rules to send traffic to and from the host device. An easy way to do this is to use the same script that the DHCP client uses for this purpose. Run the following commands within a telnet session on the Teltonika device:
# export interface=icc0 # export subnet=[desired subnet, e.g. 16,24] # export ip=[desired address] # /etc/udhcpc.script bound
If you are planning to use the WiMAX interface for the default route, not just for traffic on its own subnet, you should also add
# export router=[router IP]
before /etc/udhcpc.script bound.
12.3.6. More Information
12.4 Installing the Beceem Driver for Linux-Airspan BS Compatibility
Commands to be run as the root user have the '#' prompt, commands to be run as a normal user have the '$' prompt.
1. Install Linux
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:
$ uname -r
This method was complete successfully on Ubuntu 11.10.
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.
Files in the following tarball are required to install the driver: http://wimax.orbit-lab.org/downloads/BeceemSource.tar.gz . The tarball is quite large (100s of MB) and may take a few minutes or more to download.
It will be assumed that these files were downloaded to the ~/Downloads/ directory for the remainder of the guide. Extract the files:
$ cd ~/Downloads $ tar -xzf BeceemSource.tar.gz
The following packages should be installed using apt-get:
# apt-get install libglobus-openssl libglobus-openssl-dev libssl-dev #Required to install libeap library # apt-get install linux-source linux-headers-$(uname -r) openssl unzip patch #Required to install driver
3. Install libeap Library
Patch and install the wpa_supplicant using the commands:
$ cd ~/Downloads/BeceemSource/ $ tar -xzf wpa_supplicant-0.7.3.tar.gz $ cd wpa_supplicant-0.7.3.tar.gz $ patch -p1 < ../wpa_supplicant-0.7.3-generate-libeap-peer.patch $ make -C src/eap_peer # make -C src/eap_peer install # ldconfig
This library is required to install the wimaxd utility, and does not get installed properly by the script provided in the Sprint tarball.
4. Prepare linux-source for Install
A kernel environment is required to properly construct the driver. To create this environment from the source files installed with apt-get, run:
$ cd /usr/src $ tar -xjvf linux-source-X.X.X.tar.bz2 #Where the kernel version number takes the place of X.X.X $ cd linux-source-X.X.X # make oldconfig # make prepare # make modules_prepare $ ln -s linux-sources-X.X.X linux
The final command creates a symlink, which simplifies later installation by allowing all default paths to be used when building the driver.
5. Build the Driver
Unpack the Sprint tarball and run the install script:
$ cd ~/Downloads/BeceemSource/ $ tar -xzvf Sprint4GDeveloperPack-18.104.22.168.2.tar.gz $ cd Sprint4GDeveloperPack-22.214.171.124.2 # ./install.sh
The installer will prompt for various file paths, if the symlink was created in the last step then the default options should be correct.
After the install finishes run the following commands to add the new driver to the startup modules, and verify success:
# insmod drxvi314.ko # dmesg -c
The dmesg command should output a line that includes "Initialized usbbcm" upon a successful kernel install.
On some recent kernels, you will need to blacklist the
bcm_wimax driver to prevent it from claiming the device. Run
echo "blacklist bcm_wimax" > /etc/modprobe.d/blacklist-bcm-wimax.conf
6. Reboot, Configure, and Verify
Reboot the netbook. After startup copy the following files with the commands:
# cp /usr/src/USB_350/Source/CSCM/BeceemCSCM/wimaxd.conf /etc # cp /lib/firmware/macxvi350.bin /lib/firmware/macxvi200.bin
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.
Plug the dongle into a usb port and run:
One of the devices should include "Beceem Communications Inc." if the installation was successful.
7. Start the Server and Connect
Start the wimax daemon:
# wimaxd -c /etc/wimaxd.conf
The prompt "CSCM Server Started" should appear.
Run the connection utility:
$ wimaxc -i
Start search at the subprompt
If networks are found then the installation is complete!
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
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):
# ifconfig ethX up
The wimaxc utility should successfully find the hardware and search.
) - added by 12 years ago.
Files needed for populating USB carrier boards
) - added by 12 years ago.
Files needed for fabricating USB carrier boards
) - added by 12 years ago.
Schematic diagram of USB carrier boards
- Install_WiMAX_Tools.tar.gz (5.3 MB ) - added by 10 years ago.
) - added by 9 years ago.
wimax tools version 1.5.1