Date: Wed, 09 Mar 2005 09:39:27 -0800 From: Sam Leffler <sam@errno.com> To: Arvind Srinivasan <arvind1@gmail.com> Cc: freebsd-mobile@freebsd.org Subject: Re: WPA on laptops running FreeBSD 5.3 (hacked a custom driver but having trouble) Message-ID: <422F34CF.4020206@errno.com> In-Reply-To: <c91ae148050308234173362dda@mail.gmail.com> References: <c91ae148050308234173362dda@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?422F34CF.4020206>