Wifi Notes
This page is largely a personal collection of notes from my discussions with AdrianChadd on the FreeBSD wireless networking stack and how to work effectively with the stack.
Debugging pre-requisites
Enable iwn(4) debugging to syslog with sysctl dev.iwn.0.debug=0x1
Ensure you have a kernel with option IWN_DEBUG added
Debugging with experimental traffic
In order to verify the rates and performance of the iwn(4) it is recommended that you have a local wireless network (WLAN) which attaches to a traditional LAN. The network should look something like this:
+––––––––––––––––+ | Router/Gateway | +––––––––––––––+–+ ^ | | | +–––––––––––––+ | +–––>+ Wireless AP | | +–––––––––––+–+ | v +–––––––––––––––––+–––+ +––––+–––––––––––+ | FreeBSD workstation | | FreeBSD laptop | +–––––––––––––––––––––+ +––––––––––––––––+
On the workstation set up iperf
- Enable the debugging flags above on the laptop
- Use iperf + UDP to determine whether the laptop is seeing sends or receives experience performance degradation
Disorganized Notes
- Look at iwn_rate_to_plcp() for reversing the plcp debug flag
- (if_iwn.c)
- Look at TX_STATUS code for the status flag (if_iwnreg.h)
- Learn how to compile the wireless stack as modules entirely instead of in
- the kernel object