summaryrefslogtreecommitdiff
path: root/README
blob: f06050473ce8fbbfa2345d81a366e4fc1a97a8fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99

   Low level user space tools for the Linux WiMAX stack

   (C) 2008 Intel Corporation < linux-wimax@intel.com >

Requirements

     * libnl (at least 1.0-pre7)
     * build dependencies:
          + Sources to the WiMAX stack and i2400m driver
          + gcc, make, etc

Licensing

   The contents of this package are licensed under the BSD license. See
   the LICENSE file.

   This does not apply to scripts generated by autoconf/automake/libtool
   or included for its support.

Compilation and installation

   To compile, you first need to have a libnl version 1.0-pre7 or above.
   To check which version is installed in your system, run:

$ pkg-config --modversion libnl-1
1.1

   If the reported version is lower than 1.0, you need to get a newer
   libnl; see below.

   Building the WiMAX tools package:

$ cd ...path/wimax-tools-VERSION
$ ./configure --with-i2400m=/path/to/i2400m/driver
$ make
$ make install

   Once this finishes, you can link against /usr/local/lib/libwimax.*. You
   need to include include/wimax.h for the API definitions and
   declarations. As well, wimax.h includes a quick usage guide of the API.

Building and installing libnl-1

   This package requires version 1.0 or newer of libnl. 1.0 pre-releases
   might not work.

   If compilation fails complaining about the libnl version, please
   upgrade via your distribution's mechanism or download and compile a
   newer one.

   If you decide to compile a new one, download it from
   http://people.suug.ch/~tgr/libnl/files/libnl-1.0-pre7.tar.gz; this
   version has been confirmed to compile and work in our test systems.

$ cd /somepath
$ tar xf libnl-1.0-pre7.tar.gz
$ cd libnl-1.0-pre7
$ ./configure && make

   Don't install it system wide as you might break other applications.
   Instead, add --with-libnl1=/somepath/libnl-1.0-pre7 to the configure
   line for the wimax tools package.

$ cd ...path/wimax-tools-VERSION
$ ./configure --with-i2400m=/path/to/i2400m/driver --with-libnl1=/somepath/libnl
-1.0-pre7
$ make
$ make install

   As well, before linking other applications to libwimax or running tools
   from the WiMAX tools package, make sure you run:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/somedir/libnl-1.0-pre7/lib

Usage

   Documentation for the librarie's API can be autoextracted from the code
   with doxygen; for that, run:

$ doxygen doxygen.conf

   the output is placed in doc/html/index.html.

Other considerations

    1. libnl (which we build upon) has no way to read with timeouts, etc,
       so your wimax_msg_read() function will block until data is
       available. No method is provided yet to access the underlying
       socket, so it is recommended to you put a timeout in parallel
       somewhere when using it that can cancel it.

Troubleshooting

Compile fails when not being able to find `net/wimax.h`

   You haven't pointed the compilation process to the driver sources as
   described above (use --with-i24000m=... when calling ./configure).