** Build **
`make` should be sufficient
Standard command for building out-of-tree modules:
make -C /lib/modules/`uname -r`/build M=`pwd`
** MAEMO Build **
Something like
make MAEMO=1 KDIR=~/kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/
should be sufficient (tested under scratchbox). Adjust KDIR as needed.
** Usage **
`make load` should be sufficient to load the driver. However you can do
it by hand; commands and corresponding kernel log messages are shown
below.
insmod islsm.ko
insmod islsm_device.ko
insmod islsm_(pci|usb).ko
This will create /dev/islsmX entries in /dev, and entries in the
available ethernet interfaces of the kernel (listed with ifconfig -a)
The device is fully multi-interfaces. I use simultaneously 3 of them for
development, on USB and PCI.
** Sysfs interface **
The driver exports a number of sysfs interfaces in
/sys/class/islsm/$(DEVICE)/
*** Read-write data ***
fw_name: firmware name. This may be easier to use this when you want to
use multiple firmwares. Set *before* upping the interface, changing it
while running does not reload the firmware (maybe it should).
rxfilter: everything is not understood, but doing echo "01" > rxfilter
is meant to filter out bad-FCS frames in monitor mode. Other values
should filter out packets, maybe according to their type. Input on this
is very welcome !
datarateset: containing an array of 8 values, contains the rate at which
the data packets are sent, 00 meaning 1 Mbps, 0c meaning 54Mbps. The
eight values are there for the automatic retry: each retry can use a
different rate value.
For instance :
echo "08 08 08 08 08 08 08 08" > rateset will send data @OFDM, 24Mbps
*** Read-only data ***
allocator: state of the driver allocator
eeprom: binary dump of the in-device eeprom contents (usuall 8K). This
is only available once the device has been booted.