Date: Wed, 9 Mar 2005 20:32:30 -0800 From: Arvind Srinivasan <arvind1@gmail.com> To: Arvind Srinivasan <arvind@celar.us> Cc: freebsd-mobile@freebsd.org Subject: Re: WPA on laptops running FreeBSD 5.3 (hacked a custom driver but having trouble) Message-ID: <c91ae148050309203268f14de@mail.gmail.com> In-Reply-To: <422F768D.50203@celar.us> References: <c91ae148050308234173362dda@mail.gmail.com> <422F34CF.4020206@errno.com> <422F768D.50203@celar.us>
next in thread | previous in thread | raw e-mail | index | archive | help
>From what I read, the 4-way handshake for WPA-PSK is the responsibility of the NDIS driver, and after that the link should be up? Would this approach work if I only want WPA-PSK? Thanks. On Wed, 09 Mar 2005 14:19:57 -0800, Arvind Srinivasan <arvind@celar.us> wrote: > Sam: > I implemented it in if_ndis in the kernel because I wanted to get it > going in 5.3 for just NDIS and WPA without having to require that a > supplicant be running - to emulate the behavior of the utilities under > Windows. > The setting of keys is working, as well as association with SSIDs that > are known to be running WPA. The privacy bit is also working. I did not > implement anything relating to TKIP countermeasures, which may be why I > am unable to exchange any packets subsequently. > Is there way to debug what's going on when I try dhclient on the interface? > Thanks. > > Sam Leffler wrote: > > > Arvind Srinivasan wrote: > > > >> I hacked a custom ndis driver to use WPA-PSK. The driver pretends to > >> be WEP (so that I can continue to use the existing API's) but under > >> the covers it actually calls the ndis wrapper with WPA OIDs instead of > >> the WEP OIDs. > >> > >> The essential changes I made are a call to OID_802_11_ADD_KEY instead > >> of OID_802_11_ADD_WEP, and NDIS_80211_WEPSTAT_ENC2ENABLED instead of > >> NDIS_80211_WEPSTAT_ENABLED. > >> All the changes are in if_ndis.c:ndis_setstate_80211. > > > > > > I don't understand why didn't use the existing API's that work with > > wpa_supplicant? > > > >> > >> I've tried two different cards: Linksys WPC54G and Dell WLAN 1350. > >> Both cards associate fine, but do not get much further than that. I am > >> unable to get an IP address from the NETGEAR router via DHCP, even > >> though the link is up. > >> Note that both cards work fine with the same router in Windows..... > >> > >> Is there anything else I need to do besides provide the right key and > >> encryption method in ndis_setstate_80211? > > > > > > Do your drivers implement a WPA supplicant in the kernel? If not you > > need a supplicant to use WPA in station mode. wpa_supplicant is the > > right program for this and to use it with FreeBSD you need to > > implement ioctl's to get+set keys, set the optional information > > element with negotiated WPA algorithms, and implement the scan results > > interface so wpa_supplicant can identify WPA-capable AP's (and > > probably a couple of other minor bits like enable the privacy bit and > > handle TKIP countermeasures). I believe there are OID's that map to > > all these mechanisms as I looked at the M$ spec when I designed the > > ioctls. > > > > Sam > > > > > > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c91ae148050309203268f14de>