Build, Install and load the Wi-Fi driver
For building of HDG200 driver, please read
here.
Note that the oWL SDIO layer requires linux kernel version 2.6.23 or higher. If such kernel version is not available on the host platform, the oWL SDIO layer must be modified.
Also note that the owl driver is tested on linux kernel 2.6.30, Wireless Extensions 22, WPA Supplicant 0.6.7 and Wireless Tools 29.
To compile the owl driver for a particular host platform, a cross compiler and the include files and configuration for the Linux kernel must be available. Make sure to replace /path/to/kernel with the actual path to the Linux kernel source tree used on the host platform. Also make sure to replace /path/to/prefix with the proper cross compiler prefix, e.g. arm-linux- if the name of the GCC binary is arm-linux-gcc. If building for a non-arm architecture, make sure to set the ARCH parameter accordingly (however, note that the wl_api core library included in the owl driver package is compiled for specific architecture).
$ tar xvzf owl-linux-1.0.7.tar.gz
$ cd owl-linux-1.0.7
$ make KERNELDIR=/path/to/kernel CROSS_COMPILE=/path/to/prefix ARCH=arm
This should produce the owl.ko binary.
Copy the owl.ko file to the host platform. The details of this step depend on the tools and interfaces available on the host platform. In most cases, scp, can be used to transfer files over an ssh connection.
$ scp owl.ko user@host:/path/to
For station mode, load the owl device driver, e.g. by issuing insmod owl.ko on the host platform. The owl device driver will output net owl0: ready in the kernel log (usually /var/log/messages). The owl device driver should now appear as interface owl0 and should be listed by ifconfig owl0.
$ insmod owl.ko
$ ifconfig owl0
owl0 Link encap:Ethernet HWaddr 7A:C4:0E:A1:DD:9C
BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Note that the device is usable on a link-level also when it is not up.
The
access point mode requires a separate kernel module (that can not be loaded at the same time as the kernel module for station mode). Therefore, if access point mode is required, another kernel module must be built.
$ make KERNELDIR=/path/to/kernel CROSS_COMPILE=/path/to/prefix ARCH=arm CONFIG=ap
The kernel module for access point mode will be named owl-ap.ko. Similar to the kernel module for station mode; copy the owl-ap.ko file to the host platform. The details of this step depend on the tools and interfaces available on the host platform. In most cases, scp, can be used to transfer files over an ssh connection.
$ scp owl-ap.ko user@host:/path/to
For access point mode, load the owl-ap device driver, e.g. by issuing insmod owl-ap.ko on the host platform. The owl device driver should now appear as interface owl0 and should be listed by ifconfig owl0.
$ insmod owl-ap.ko
$ ifconfig owl0
owl0 Link encap:Ethernet HWaddr 7A:C4:0E:A1:DD:9C
BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)