Wireless:DriverInfo

From TIER

Contents

Atheros

  • To fix the bitrate
# sysctl -w /dev/mad0/fixed11rate=11000
  • To fix the number of retries
# sysctl -w /dev/mad0/maxretries=0
  • ACK control
Disable ACKS:
# iwpriv ath0 setwmmparams 6 0 0 1
Enable ACKS:
# iwpriv ath0 setwmmparams 6 0 0 0
  • CCA
Enable CCA (default):
# sysctl -w /dev/mad0/cca=1
Disable CCA:
# sysctl -w /dev/mad0/cca=0
  • ACK timeout
# sysctl -w /dev/mad0/acktimeout=<timeout in microseconds>
To calculate timeout:
timeout = 2 * propagation delay + 30
300m = 1us
  • Change 802.11 mode:
# iwpriv ath0 mode <X>
# X = 1 (11a), X = 2 (11b), X = 3 (11g)

Packet level Logging

  • To start RX packet level logging (into kernel log - check using 'dmesg')
# sysctl -w /dev/mad0/pktlogs=1
Format:
<7>1140574265.020748 mad0 RX=0x2000 ERR=0 BR=11.0 PL=92 FC=8 SQ=4031 SL=-91 SS=-66 \
   VAL1=45000054 VAL2=45000054 00:02:6f:38:e3:ff->00:02:6f:3a:63:ef
BR = receive bit rate
PL = packet length
FC = frame control
SL = noise level
SS = signal strength
VAL1 = 4 bytes from location '/dev/mad0/offset1'
VAL2 = 4 bytes from location '/dev/mad0/offset2'
  • To start TX packet level logging
# sysctl -w /dev/mad0/pktlogs=2
Format:
<7>1140574262.018205 mad00 TX=0x0000 ERR=0 BR=0.0 PL=92 FC=8 SQ=0 RC=0 \
   VAL1=45000054 VAL2=45000054 00:02:6f:3a:63:ef->00:02:6f:38:e3:ff
PL = packet length
VAL1 = 4 bytes from location '/dev/mad0/offset1'
VAL2 = 4 bytes from location '/dev/mad0/offset2'

  • To start RX and TX packet level logging
# sysctl -w /dev/mad0/pktlogs=3


  • To start logging iperf sequence numbers
# sysctl -w /dev/mad0/offset1=64
# byte 64-67 (shows up as VAL1) in the packet is the sequence number

# sysctl -w /dev/mad0/offset2=68    
# byte 68-71 (shows up as VAL2) in the packet is the iperf magic number


Hostap (Prism)

  • To fix the bitrate
# iwconfig wlan0 bitrate 11M
  • To fix the number of retries (range from 0 to 16)
# iwconfig wlan0 retry 3
  • ACK control
Disable ACKs:
# iwpriv wlan0 use_mcast 1
Enable ACKS:
# iwpriv wlan0 use_mcast 0
  • Pseudo-IBSS mode
Enable:
# iwconfig wlan0 mode ad-hoc
# iwpriv wlan0 pseudo_ibss 1
(fix channel and bitrate)
# iwconfig wlan0 channel 1
# iwconfig wlan0 bitrate 11M
Disable:
# iwpriv wlan0 pseudo_ibss 0
# iwconfig wlan0 mode <managed/master>
  • CCA: Not done
  • ACK Timeout: Fixed at 25 km


Packet level Logging

  • To start RX packet level logging
# iwpriv wlan0 dump_pktlogs 1
Format:
<7>1140574265.020748 wifi0 RX=0x2000 ERR=0 BR=11.0 PL=92 FC=8 SQ=4031 SL=-91 SS=-66 \
   VAL1=45000054 VAL2=45000054 00:02:6f:38:e3:ff->00:02:6f:3a:63:ef
BR = receive bit rate
PL = packet length
FC = frame control
SL = noise level
SS = signal strength
VAL1 = 4 bytes from location dump_value1
VAL2 = 4 bytes from location dump_value2
  • To start TX packet level logging
# iwpriv wlan0 dump_pktlogs 2
Format:
<7>1140574262.018205 wifi0 TX=0x0000 ERR=0 BR=0.0 PL=92 FC=8 SQ=0 RC=0 \
   VAL1=45000054 VAL2=45000054 00:02:6f:3a:63:ef->00:02:6f:38:e3:ff
PL = packet length
VAL1 = 4 bytes from location dump_value1
VAL2 = 4 bytes from location dump_value2

  • To start RX and TX packet level logging
# iwpriv wlan0 dump_pktlogs 3
  • To start logging iperf sequence numbers
# iwpriv wlan0 dump_value1 28    # byte 28-31 (shows up as VAL1) in the packet is the sequence number
# iwpriv wlan0 dump_value2 32    # byte 32-25 (shows up as VAL2) in the packet is the iperf magic number

Driver Limitations

Atheros

Prism/Hostap

  • Routerboard with 2 PCMCIA interfaces: sending datarate is compromised
    • Cannot send at full bandwidth on both interfaces
  • same channel:: wlan0: sending, wlan1: not sending in Pseudo-IBSS(PIBSS) -- also affected as wlan1 has to receive everything
  • at lower bitrates like 1M,2M: wlan0: sending, wlan1: sending on different channel -- not affected as the load is manageable
Downloads