georgerobotics / cyw43-driver

Other
79 stars 42 forks source link

Autorisation type type mismatch. #40

Open terjeio opened 2 years ago

terjeio commented 2 years ago

Autorization type is larger than defined in scan result - 32 bit vs. 8 bit. The two APs I have return values that are not defined. Bad documentation?

felixdoerre commented 1 year ago

I'd say, its probably not only bad documentation but also missing documentation and a bit complicated API design as there seem to be already 2 security enums around (CYW43_AUTH_* and CYW43_*_AUTH). CYW43_AUTH_* seems to be used for join and for ap_init. CYW43_*_AUTH is used for the underlying communication towards the wifi chip. Luckily we have the code that parses the response from the chip and builds the auth value available: https://github.com/georgerobotics/cyw43-driver/blob/2ab6ca93f9cd044bc6f35c1403b1284e4161294a/src/cyw43_ll.c#L556

From that it seems that WPA2=5; WPA=3; WEP=1; Open=0. I can't see any enum around that has these values, so they seem to use yet another enum for security types. The reference to CYW43_AUTH_ from the scan result struct seems wrong.