Wireless Networking
From GumstixDocsWiki
Static IP Address Allocation
File /etc/network/interfaces need to be modified in order to add a static wireless IP address
Here is an example:
auto lo iface lo inet loopback iface usb0 inet dhcp iface bnep0 inet dhcp auto eth0 iface eth0 inet dhcp iface eth1 inet dhcp iface wlan0 inet dhcp auto mwlan0 iface mwlan0 inet static address xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gateway xxx.xxx.xxx.xxx network xxx.xxx.xxx.xxx pre-up /sbin/iwconfig $IFACE essid "LINYSYS_FOR_EX" txpower 100mW
One of the issues while making changes to the file was that the information entered (Any modification) was not updated. Hence, it was booting up to the old setup. Please check numerous times if the change has been registered.
Marvell driver modifications for WiFi
Argon ST Network Systems has made some modifications to the Marvell wifi driver (netMicroSD -vx and probably WifiStix) which allow user applications to get at per-user RSSI via the "iwpriv" command which is in the buildroot. A zipball of source and an mcf25.ko kernel module which might work is at Element Products
This file contains source to modify the mcf25 driver (Marvell 88W8385 driver) to report SNR and NF information on a per peer basis rather than the standard aggregate SNR/NF information. It was created on build root 1559 and also tested on later build roots. User applications can then compute RSSI as required
README
Argon ST Network Systems ----------------------------
Author: Dell Kronewitter Date: 3/3/2008
Included in this tarball are: mcf25.ko README wlan_dev.h wlan_main.c wlan_rx.c wlan_wext.c wlan_wext.h
You'll find the included source files in the standard buildroot at gumstix-buildroot/build_arm_nofpu/src_cf8385/wlan
If you want to make mcf25.ko just replace the files with the versions found here.
I've rebuilt the kernel modules by removing gumstix-buildroot/build_arm_nofpu/src_cf8385/*.ko and doing a make from the base buildroot.
If you want to experiment quick I've provided the kernel module pre-compiled for the version 1559 gumstix buildroot.
On the target you can place the kernel module (mcf25.ko) at /lib/modules/2.6.21gum/extra/mcf25.ko (after saving the standard version, unless you're brave) and reboot.
You should then be able to use the new feature of the iwpriv command.
# iwpriv mwlan0 get_rf_table 31
mwlan0 get_rf_table:macaddr:<00:0B:6B:0C:2F:EE> SNR 047 NF 093 Last 42949519
after using your mwlan0 interface. For example
# ping 192.168.1.33
(The 31 is a host index. There are a maximum number of 32 hosts stored and they are filled from the back of the table first.)
The SNR and NF parameters are self explanatory and the Last parameter is in jiffies as described at
http://mail.nl.linux.org/kernelnewbies/2004-05/msg00184.html
So the last packet received above from <00:0B:6B:0C:2F:EE> has a SNR of 47, a Noise Floor of 93, and was at time 42949519.

