Friday, 21 August 2015

802.11 + WLAN Driver + OpenWRT training sessions

Teaching is fun :).  I have started teaching few little things that I know about WLAN to a bunch of enthusiastic students who want to pursue their career in WLAN / OpenWRT domain. We have 10+ students in this batch.

It is almost 4 weeks since we started.  We have started with the discussion of TCP/IP Stack and then moved to Linux process model and socket programming. We will conclude our discussion on socket programming tomorrow.

Securifi has kindly permitted to use their conference rooms for the training sessions. 

We use MT7620a based boards for all our training sessions and projects.

 Following is the list of topics that we are planning to discuss further.

 - OpenWRT architecture
        - Architecture overview
        - Package model
        - How to flash a router
        - How to add a new package
        - UCI
        - LUA and LUCI

 - 802.11a/b/g/e/n protocols
        - CSMA/CA
        - RTS/CTS
        - Hidden Node problem
        - State Machine 
        - Frames and frame format
        - Powersave, UAPSD
        - Aggregation
        - Fragmentation
        - Outdoor WiFi 
        - WEP, WPA and WPA2

 - Device drivers in Linux covering the following.
       - Introduction to Kernel level programming
       - Linux Kernel Module
       - Locking Techniques
       - Kernel Memory
       - Tasklets, Interrupts, Timers
       - Memory mapped IO, Port IO, DMA in Linux
       - Network driver concepts
       - Character driver

 - WLAN driver
        - Overview of ath9k driver
        - Tx and Rx Paths
        - Important data structures in mac80211
        - Communication between cfg80211, nl80211, mac80211 and ath9k
        - hostapd and wpa_supplicant

Drop an email to me at if you would like to join.

No comments:

Post a Comment