** 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.