On Wed, 2014-03-05 at 11:30 +0100, Enric Balletbo Serra wrote: > Hi all, > > Due a customer requirement I need to configure and ad-hoc network with > wep encryption. This worked fine with a very old kernel (2.6.35) but > now that we need to update the kernel seems this > functionality is totally broken. I found some old messages[1] related > to this without response. > > As I'm totally a newbie with this I would like to know if there is a > hard reason why this is still not working or the only reason is > because nobody spent time on this. In that case will be easy implement > this (some indication?) This appears to be due to the conversion from the WEXT to cfg80211 a long time back. I can confirm that it's broken. There's a nice comment in ibss.c::lbs_ibss_start_new(): /* TODO: mix in WLAN_CAPABILITY_PRIVACY */ which pretty much means it isn't there. If you wanted to fix this, what you'd do is you'd look at priv->wdev->connect_keys, and if that was ! NULL, you'd run through each of the 6 keys and if at least one key was valid, you'd then set the PRIVACY bit in the beacon. Then later after the join was successful, the kernel already calls the functions for uploading the keys to the driver (net/wireless/util.c::cfg80211_upload_connect_keys()). That's if you're *starting* a new adhoc network, which often you need to do. Joining an existing adhoc network (if you can see one in scan results) should already work, unless libertas really really does want the keys to be set before the join happens. If that's the case, then that would be a different fix. Dan -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html