I was searching half a night and 2 hours today to get a Linksys Router working a wireless bridge with WPA(2) encryption. I tried Openwrt White Russian RC5 and DD-Wrt V23 SP1 and many combinations of WPA, WPA2, TKIP, AES. The bridge works well with WEP and without any encryption....
So ... after more than one hour googling I found the following in the broadcom kernel module source:
if (val && strstr(v, "psk")) {
val = (strstr(v, "psk2") ? 0x84 : 0x4);
v = nvram_safe_get(wl_var("wpa_psk"));
if ((strlen(v) >= 8) && (strlen(v) < 63)) {
bcom_ioctl(skfd, ifname, WLC_SET_WPA_AUTH, &val;, sizeof(val));
if (nvram_match(wl_var("mode"), "wet")) {
/* Enable in-driver WPA supplicant */
wsec_pmk_t pmk;
pmk.key_len = (unsigned short) strlen(v);
pmk.flags = WSEC_PASSPHRASE;
strcpy(pmk.key, v);
bcom_ioctl(skfd, ifname, WLC_SET_WSEC_PMK, &pmk;, sizeof(pmk));
bcom_set_int(skfd, ifname, "sup_wpa", 1);
}
}
}
So ... this means, that the WPA-PSK length has to be >= 8 and < 63, mine was 65. This wasn't a problem yet, cause I used the routers only in AP mode, where this restriction doesn't effect. Shorting the WPA-PSK length 62 did the trick!