NDIS + WPA + Broadcom Wirles card

Scot Hetzel swhetzel at gmail.com
Mon Mar 27 17:55:17 UTC 2006


I recently purchased a HP Pavilion dv8135nr laptop and install
FreeBSD/amd64 6.1-BETA4.  I then updated the system to 03/25/06 using
the cvs sources.

After searching the internet I was able to locate a 64bit windows
driver for my wireless card:

none1 at pci6:2:0:	class=0x028000 card=0x1355103c chip=0x431814e4 rev=0x02 hdr=0x00
    vendor   = 'Broadcom Corporation'
    class    = network

Windows/amd64 - 64bit driver (3.100.64.0) - 80211g.zip:
ftp://ftp.support.acer-euro.com/notebook/aspire_3020_5020/driver/winxp64bit/

Which I then used to create the kernel module for my Broadcom wireless
card with ndisgen.

ndisgen bcmwl5.inf bcmwl564.sys

Which resulted in ndisgen building the bcmwl564_sys.ko module.  When I
load the module, I receive a screen full of 'fpudna in kernel mode!'
which I tracked down to having occurred in the sys/amd64/amd64/trap.c
source.

Is there a better Windows XP driver I should be using?

I then added an ifconfig entry for the interface to /etc/rc.conf:

/etc/rc.conf:
ifconfig_ndis0="WPA DHCP"

and rebooted the system.  But when I grep for wpa_supplicant in the ps
listing, it is not found.  Then when I try to start wpa_supplicant
(0.4.8), if gives an error when '-D ndis' is specified:

# wpa_supplicant -B -q -i ndis0 -D ndis -c /etc/wpa_supplicant.conf -P
/var/run/wpa_supplicant/ndis0.pid
NDIS: Failed to get adapter list (PacketGetAdapterNames)
Failed to initialize driver interface

But if I don't specify '-D ndis', then wpa_supplicant runs as a
daemon. And displays:

   ndis0: WPA setup failed

Now when I connect to wpa_supplicant with wpa_cli, I receive repeated
messages of:

<2>Trying to associate with 00:0b:0e:18:59:02 (SSID='campuswpa' freq=2437 MHz)
<2>Authentication with 00:00:00:00:00:00 timed out.
'PING' command timed out.
Connection to wpa_supplicant lost -trying to reconnect
Connection to wpa_supplicant re-established

I can use scan and scan_result, and it shows the Wireless Access
Points and their SSIDs.

When I connect to this network thru Windows XP, the setup is as follows:

   Network Authentication: WPA
   Data encryption:            TKIP
   EAP Type:                     Protected EAP (PEAP)
   Authentication Method:   Secured password (EAP-MSCHAP v2)
   Fast Reconnect:             Enabled
   Validate server certificate: Unchecked

Using the above information, I created the following wpa_supplicant.conf file:

ctrl_interface=/var/run/wpa_supplicant
ctrl_intreface_group=wheel

network={
  ssid="campuswpa"
  key_mgmt=WPA-EAP
  pairwise=TKIP
  group=TKIP
  eap=PEAP
  identity="<username>"
  password="<password>"
#  phase1="peaplabel=1"  <-tried with/without
  phase2="auth=MSCHAPV2"
  priority=1
}

Is this configuration correct?

There is also another network, which doesn't use WPA.  And when the
system boots, it attaches to this network (campus) and receives an IP
address.  On this network, they use a web page to verify that you can
have access to the network.  Haven't tried it, as I don't have a
browser installed on the system.

Scot
--
DISCLAIMER:
No electrons were mamed while sending this message. Only slightly bruised.


More information about the freebsd-mobile mailing list