On Wed, May 24, 2017 at 05:27:50PM +1000, Tobin C. Harding wrote: > Hi, > > I am attempting to rewrite the ks7010 WEXT driver (drivers/staging/ks7010) > to use the CFG80211 API. > > I am reading 802.11 Wireless Networks - Matthew S. Gast for reference. > > I have some confusion regarding WEP/WPA/WPA2/RSN, ciphers, keys and > ie's? > > As I understand, first there was WEP. Next we got a marketing term WPA > which referred to 802.11i (which specified the protocols TKIP and > CCMP, and also RSN). > > WEP vs WPA > ---------- > > To add to my confusion the ks7010 code seemingly mixes up the use of > WEP keys and WPA keys, to set both the WEP and the WPA keys the driver > uses the same MIB requests? Yet throughout the code WEP keys and WPA > keys are stored in separate structures (and treated differently). Oh, I just got why there is only one MIB request type - there are only one set of keys used by the target DOT11_WEP_DEFAULT_KEY_VALUE1 = 0x13020101, DOT11_WEP_DEFAULT_KEY_VALUE2 = 0x13020102, DOT11_WEP_DEFAULT_KEY_VALUE3 = 0x13020103, DOT11_WEP_DEFAULT_KEY_VALUE4 = 0x13020104, removing 'WEP' from the defines removes the confusion here :) > If WPA is enabled are not WEP keys superfluous? > > WPA vs WPA2 > ----------- > > Were WPA version 1 and WPA version 2 marketing terms or do they differ? > > ieee80211.h does not seem to mention WPA2 (and cfg80211.h mentions it > once only in some comments) however, from cfg80211.h; > > * struct cfg80211_crypto_settings - Crypto settings > * @wpa_versions: indicates which, if any, WPA versions are enabled > * (from enum nl80211_wpa_versions) > > When using the CFG80211 API we do not need to worry about the WPA/WPA2 > distinction? Can I drop all the WPA version 1 code from the driver? > > A little more information: > > The WEXT driver defines ciphers, from looking at ieee80211.h it seems > that it uses WLAN_CIPHER_SUITE_XXX for WPA2 and for WPA it uses > > #define CIPHER_ID_WPA_NONE "\x00\x50\xf2\x00" > #define CIPHER_ID_WPA_WEP40 "\x00\x50\xf2\x01" > #define CIPHER_ID_WPA_TKIP "\x00\x50\xf2\x02" > #define CIPHER_ID_WPA_CCMP "\x00\x50\xf2\x04" > #define CIPHER_ID_WPA_WEP104 "\x00\x50\xf2\x05" > > FYI ieee80211.h has > > #define WLAN_OUI_MICROSOFT 0x0050f2 > > Thanks for taking the time to read this mail, any suggestions most > appreciated. > > thanks, > Tobin.