This page describes the steps needed to build and use release 1.3.x of the WiMAX Network Service with the kernel stack that has been merged with Linux kernel v2.6.29-rc*.

You need:

  • kernel 2.6.29 (currently only release candidates)
  • Intel 2400 Wireless WiMAX Connection card

Steps:

  1. kernel and drivers: clone the mainline linux kernel tree (2.6.29-rc1 and beyond) or the linux-wimax kernel tree from git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax.git, enable the WiMAX drivers (Networking Options > WiMAX, Device Drivers > Network Drivers > WiMAX devices, build, install and reboot into the kernel.

  2. wimax-tools: clone the wimax-tools package from git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax-tools.git, configure, build and install. You will have to specify the linux source's location that wimax-tools needs for the definitions of the user/kernel space protocol, for that, when running configure, use:

    ./configure --with-i2400m=/path/to/linux-wimax/tree \
                    --sysconfdir=/etc \
                    --localstatedir=/var \
                    --mandir=/usr/share/man \
                    --prefix=/usr
    make
    make install
    ldconfig
    
  3. wimax network service: obtain the 1.3.3 release of the WiMAX-Network-Service, unpack and apply this patch:

    cd WiMAX-Network-Service-1.3.3/
    patch -p1 < ../WiMAX-Network-Service-1.3-mainline0.patch
    
    Then configure and build.
    ./configure --with-i2400m=/path/to/linux-wimax/tree
    make
    make install
    
    You need to make sure that the configuration process says something like:
    Using libwimax from /usr/local
    
    Or the prefix where wimax-tools was installed (which defaults to /usr/local).
  4. Firmware: Download and place i2400m-fw-usb.sbcf in /lib/firmware.

  5. Supplicant: Download and install according to the instructions in the supplicant package.

  6. OMA-DM client: [optional] Download and install according to instructions in the package.

Now you can start the network service after loading the driver:

$ modprobe i2400m-usb

Verify the device is detected:

$ ifconfig wmx0
wmx0      Link encap:Ethernet  HWaddr 00:1d:e1:01:94:32  
          NOARP  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:5 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

If that is not printing something like what is shown, check your kernel log; could it be wmx1?

Start the network service:

$ wimaxd

Query the status of the card:

$ wimaxcu status
System Status: Ready

If this fails, complaining wimaxd is not running, verify that the daemon hasn't left over a pid file in /var/run, remove it if so and restart wimaxd. This is going to be fixed in the next release.

If the radio was off, turn it on:

$ wimaxcu ron
SW Radio is turned ON.

And scan

$ wimaxcu scan
NSP : XOHM
        ID          : 4
        Signal      : Good
        RSSI        : -33 dBm
        CINR        : 15 dB
        Network Type: Home Network
        Activated

Now you are ready to connect:

$ wimaxcu connect network 4
Connecting to XOHM Network...
Connection Status: Connected.

And run dhclient on the interface:

$ dhclient wmx0

Ready to go!