Re: dhclient and wpa_supplicant

From: Sam Leffler <sam_at_errno.com>
Date: Sat, 30 Jul 2005 11:21:25 -0700
Ben Kaduk wrote:
> On 7/30/05, Sam Leffler <sam_at_errno.com> wrote:
> 
>>Brooks fixed a bunch of bugs in dhclient and I just committed an
>>important fix to wpa_supplicant to work right when wireless cards are
>>ejected (previously it would loop).
>>
>>I also tested that dhclient does the right thing for roaming between
>>ap's--switching causes dhclient to immediately collect a new lease.
>>
>>I just ran tests with wpa_supplicant and found that it does appear to
>>handle open ap's properly.
>>
>>Everything except the wpa_supplicant changes have been MFC'd to RELENG_6
>>for the 6.0RC2 build that's going to happen soon (I'm hoping to get re
>>to approve the wpa_supplicant changes).
>>
>>So the question is what are the outstanding issues with dhclient and
>>wpa_supplicant?  I'm mostly concerned with wireless devices but feel
>>free to talk about wired interfaces too.  If something doesn't work
>>right please try to give steps to reproduce the problem.  Otherwise
>>please provide detailed info include ifconfig output.  Remember that
>>dhclient logs info to /var/log/messages and you should also see link
>>state change msgs there too.
>>
>>        Sam
>>_______________________________________________
>>freebsd-current_at_freebsd.org mailing list
>>http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>>
> 
> 
> 
> Well, I don't know if this is something in the code or just operator
> incompotence, but I'm having some problems with dhclient on a wireless
> interface.  I've got current from last night:
> 
> prolepsis# uname -a
> FreeBSD prolepsis.math.uiuc.edu 7.0-CURRENT FreeBSD 7.0-CURRENT #6:
> Fri Jul 29 04:30:11 UTC 2005    
> kaduk_at_prolepsis.math.uiuc.edu:/usr/obj/usr/src/sys/PROLEPSIS  i386
> 
> and I'm trying to connect to a friend's ap using wep.  My ndis card
> seems to be recognized just fine:
> 
> ndis0: <Dell TrueMobile 1400 Dual Band WLAN Mini-PCI Card> mem
> 0xfaff6000-0xfaff7fff irq 9 at device 3.0 on pci2
> ndis0: NDIS API version: 5.0
> ndis0: Ethernet address: 00:90:4b:2d:46:ce
> 
> When I issue an:
> 
> prolepsis# ifconfig ndis0 inet up ssid 'NetworkXcAe5_at_r' wepmode on
> wepkey 0xdeadc0de
> 
> my interface associates fine, giving me this:
> 
> prolepsis# ifconfig ndis0
> ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         inet6 fe80::290:4bff:fe2d:46ce%ndis0 prefixlen 64 scopeid 0x3
>         ether 00:90:4b:2d:46:ce
>         media: IEEE 802.11 Wireless Ethernet autoselect
>         status: associated
>         ssid NetworkXcAe5_at_r bssid 00:12:17:1d:f7:08
>         authmode OPEN privacy ON deftxkey UNDEF wepkey 1:40-bit txpowmax 100

add weptxkey 1 or deftxkey 1--note "deftxkey UNDEF" above.

> 
> but when I run:
> 
> prolepsis# dhclient ndis0
> DHCPDISCOVER on ndis0 to 255.255.255.255 port 67 interval 8
> DHCPDISCOVER on ndis0 to 255.255.255.255 port 67 interval 9
> DHCPDISCOVER on ndis0 to 255.255.255.255 port 67 interval 16
> DHCPDISCOVER on ndis0 to 255.255.255.255 port 67 interval 9
> DHCPDISCOVER on ndis0 to 255.255.255.255 port 67 interval 11
> DHCPDISCOVER on ndis0 to 255.255.255.255 port 67 interval 8
> No DHCPOFFERS received.
> No working leases in persistent database - sleeping.
> 
> prolepsis# ifconfig ndis0
> ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         inet6 fe80::290:4bff:fe2d:46ce%ndis0 prefixlen 64 scopeid 0x3
>         inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
>         ether 00:90:4b:2d:46:ce
>         media: IEEE 802.11 Wireless Ethernet autoselect
>         status: associated
>         ssid NetworkXcAe5_at_r bssid 00:12:17:1d:f7:08
>         authmode OPEN privacy ON deftxkey UNDEF wepkey 1:40-bit txpowmax 100
> 
> 
> dhclient doesn't seem to pick it up.  I know this ap is actually
> running a dhcp server; it works on darwin.
> 
> I have read that using ifconfig for wireless (encryption?) is not the
> way of the future, that I should be using wpa_supplicant, but I
> haven't been able to succesfully modify a config file to get it to
> work, and google wasn't very helpful in finding a tutorial or
> instructions for wpa_supplicant on freebsd.  The archives weren't
> terribly helpful, either -- this is something that would be on
> freebsd-questions, right?  Anyways, if someone could point me to a
> tutorial for wpa_supplicant, I can check that and see if I get better
> results, or if you want further information about my configuration, I
> can get that too.

There's supposed to be an update coming to the wireless setup section of 
the freebsd handbook.  I'd also like to see sysinstall do a better job 
of setting up wireless interfaces (until the new installer is ready) and 
I lobbied for a SoC project to build a GUI app to do this but w/o luck.

Setting up wpa_supplicant is actually not too bad; you just need an 
/etc/wpa_supplicant.conf file that describes the networks you hook up 
to.  If you look in /usr/src/contrib/wpa_supplicant/wpa_supplicant.conf 
there's an extensive set of examples you should be able to crib from. 
Test things by running wpa_supplicant directly with something like:

wpa_supplicant -i ath0 -d -c /etc/wpa_supplicant.conf

and when you're happy configure stuff to start automatically by adding a 
line to /etc/rc.conf like:

ifconfig_ath0="WPA DHCP"

The trickiest part is configuring 802.1x. I'm not sure how well ndis 
drivers hookup to these tools.  The only driver I know works well in all 
configurations is ath.

> 
> Thanks for putting in all this effort.
> 
> Ben  Kaduk
> 
> 
Received on Sat Jul 30 2005 - 16:20:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:40 UTC