Tessel 2 is seeking FCC approval. Tessel 2 runs OpenWRT, a distribution of Linux designed as open firmware for routers with very granular control over wireless capabilities. Currently Tessel 2 is stuck in FCC approval pending its demonstration of being able to generate packets in the 802.11n range.
Installation on a Tessel 2:
opkg update
opkg install tcpdump
wget https://kevinmehall.net/tmp/packetspammer -O /usr/bin/packetspammer
chmod +x /usr/bin/packetspammer
To configure monitor on wlan0 (this goes away on each reset):
ifconfig wlan0 down
iw dev wlan0 interface add mon0 type monitor
ifconfig mon0 up
iw mon0 set channel 11
To set which transmit mode you want:
iw mon0 set bitrates legacy-2.4 1 2 11 # b
iw mon0 set bitrates legacy-2.4 6 12 24 # g
iw dev mon0 set bitrates ht-mcs-2.4 4 10 # n
# to reset these values:
iw mon0 set bitrates legacy-2.4
iw dev mon0 set bitrates ht-mcs-2.4
Lastly run the packetspammer
command, and see if the resulting output is being transmitted at a speed that correlates with the given spec:
packetspammer -d40000 mon0
Output may resemble:
1818:20:58.209712 1.0 Mb/s 2462 MHz 11b -38dB signal [bit 29] 0us 13:22:33:44:55:66
(oui Unknown) Unknown SSAP 0x60 > 13:22:33:44:55:66
(oui Unknown) Unknown DSAP 0x50 Unnumbered, ua, Flags [Response], length 72
Note the "1.0 Mb/s" indicating the output speed (1.0 Mb/s, 802.11g)
We observe that in spite of the iw dev mon0 set bitrates ht-mcs-2.4 4 10
command, Tessel 2 always transmits at b or g rates.
Possible diagnoses:
- Our OpenWRT distribution is old and this has been fixed in a more recent build. We can rebase the OpenWRT build to a newer one.
- There is an issue in the RT7020 driver that we must dig into and fix.
- ???
- Tessel's OpenWRT distribution (rebased as of 2015-06-21): https://github.com/tessel/openwrt
iw
documentation (slightly outdated): https://wireless.wiki.kernel.org/en/users/documentation/iw