wpa_supplicant - sharmasadhna/mylearnings GitHub Wiki
https://github.com/sharmasadhna/mylearnings/wiki/Improved-Wifi-Roaming-Behavior and https://github.com/sharmasadhna/mylearnings/wiki/WIFi-Roaming-terminologies-and-project-problem-statement
WPA supplicant : supplicant supports WEP,WPA,WPA2 security, runs on client station, responsible for:
- key negotiation with Authenticator
- Handles roaming
- Authentication/association of WLAN Driver
WPA steps when associating with AP:
- wpa_supplicant request kernel driver to scan of neighboring BSS'es
- wpa_supplicant selects a BSS based on its configuration
- wpa_supplicant request kernel driver to associate with chosen BSS
- If WPA-EAP type (Enterprise) : wpa_supplicant completes authentication with EAP server, receives master key
- If WPA-PSK type (Pre-shared Key) : wpa_supplicant uses PSK as master session key
- wpa_supplicant completes handshake with authenticator (AP)
- wpa_supplicant configure encryption keys for group unicast and broadcast
- normal data packets can now be transmitted and recieved
Check external/wpa_supplicant/README for all details on how to build wpa supplicant,
wpa_supplicant build can be configured to choose what:
- driver will be used (vendor driver, NL_DRIVER etc...),
- Authentication method : EAP-TLS, EAP-PEAP etc...
/etc/wpa_supplicant.conf : wpa_supplicant configured for:
- ctrl_interface = wlan0
- fast_reauth = 1
- update_config = 1 //when n/w config is changed/added new n/w from GUI/wpa_cli, it allows wpa_supp to update its config
- p2p_disabled = 1 etc...