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.

Reply via email to