patch wlc and scripts to control wl's builtin wpa supplicant
[openwrt.git] / package / broadcom-wl / src / wlc / wlc.c
index 382e83a..f5db9a7 100644 (file)
@@ -679,6 +679,29 @@ static int wlc_wdsmac(wlc_param param, void *data, void *value)
        return ret;
 }
 
+static int wlc_pmk(wlc_param param, void *data, void *value)
+{
+       int ret = -1;
+       char *str = (char *) value;
+       wsec_pmk_t pmk;
+       
+       /* driver doesn't support GET */
+
+       if ((param & PARAM_MODE) == SET) {
+               strncpy(pmk.key, value, WSEC_MAX_PSK_LEN);
+               pmk.key_len = strlen(value);
+
+               if (pmk.key_len > WSEC_MAX_PSK_LEN)
+                       pmk.key_len = WSEC_MAX_PSK_LEN;
+
+               pmk.flags = WSEC_PASSPHRASE;
+
+               ret = wl_ioctl(interface, WLC_SET_WSEC_PMK, &pmk, sizeof(pmk));
+       }
+       
+       return ret;
+}
+
 static const struct wlc_call wlc_calls[] = {
        {
                .name = "version",
@@ -864,6 +887,12 @@ static const struct wlc_call wlc_calls[] = {
                .data.str = "sup_wpa",
                .desc = "Built-in WPA supplicant"
        },
+       {
+               .name = "passphrase",
+               .param = STRING,
+               .handler = wlc_pmk,
+               .desc = "Passphrase for built-in WPA supplicant",
+       },
        {
                .name = "maxassoc",
                .param = INT,
This page took 0.022097 seconds and 4 git commands to generate.