bcom_ioctl(skfd, ifname, WLC_DOWN, NULL, 0);
- /* Set up WPA */
- if (nvram_match(wl_var("crypto"), "tkip"))
- val = TKIP_ENABLED;
- else if (nvram_match(wl_var("crypto"), "aes"))
- val = AES_ENABLED;
- else if (nvram_match(wl_var("crypto"), "tkip+aes"))
- val = TKIP_ENABLED | AES_ENABLED;
- else
- val = 0;
- bcom_ioctl(skfd, ifname, WLC_SET_WSEC, &val, sizeof(val));
-
- if (val && nvram_get(wl_var("wpa_psk"))) {
- val = 1;
- bcom_ioctl(skfd, ifname, WLC_SET_EAP_RESTRICT, &val, sizeof(val));
+ if (nvram_match(wl_var("auth_mode"), "wpa") || nvram_match(wl_var("auth_mode"), "psk") || (nvram_get(wl_var("akm")) && !nvram_disabled(wl_var("akm")))) {
+ /* Set up WPA */
+ if (nvram_match(wl_var("crypto"), "tkip"))
+ val = TKIP_ENABLED;
+ else if (nvram_match(wl_var("crypto"), "aes"))
+ val = AES_ENABLED;
+ else if (nvram_match(wl_var("crypto"), "tkip+aes"))
+ val = TKIP_ENABLED | AES_ENABLED;
+ else
+ val = 0;
+ bcom_ioctl(skfd, ifname, WLC_SET_WSEC, &val, sizeof(val));
+
+ if (val && nvram_get(wl_var("wpa_psk"))) {
+ val = 1;
+ bcom_ioctl(skfd, ifname, WLC_SET_EAP_RESTRICT, &val, sizeof(val));
+ }
}
/* Set up afterburner */
int override = WLC_G_PROTECTION_OFF;
int control = WLC_G_PROTECTION_CTL_OFF;
- val = atoi(nvram_safe_get(wl_var("gmode")));
+ if (v = nvram_get(wl_var("gmode")))
+ val = atoi(v);
+ else
+ val = 1;
+
if (val > 5)
val = 1;
+
bcom_ioctl(skfd, ifname, WLC_SET_GMODE, &val, sizeof(val));
if (nvram_match(wl_var("gmode_protection"), "auto")) {