I've run into a similar problem on a laptop running Fiesty running 
2.6.20-16-generic.
iwconfig --version says it is Wireless-Tools version 28, compatible with v11-v20
and the kernel is compiled with Wireless Extension v21.  The machine is using
ndiswrapper / bcmwl5 for device 14E4:4311.  lspci claims this is a "Broadcom 
Dell
Wireless 1390 WLAN Mini-PCI Card", though that's probably not what Compaq would
like us to call it (since thisis a Presario F500).

The network I've been having trouble getting onto is a WPA enterprise (TKIP, 
WPA-EAP, EAP-TLS) network which doesn't broadcast its SSID.  In this situation,
I'm familiar with the regular wireless-tools failing to associate with certain 
chipsets.
For example the Atheros cards won't associate to a WPA access point (even if
some non-TKIP EAP traffic is necessary before encryption) because it 
disqualifies
the base station because its WPA flag doesn't match the interface's WPA 
configuration.

I was a little taken aback however with the ndiswrapper behavior of not even 
displaying
the requested ESSID while it was scanning.  An "iwconfig wlan0 essid foo" then 
an
"iwconfig wlan0" right after would give "ESSID:off/any" which had me barking up 
the
wrong tree for a while wondering if the hardware was active at all.  A "iwlist 
wlan0 scan"
would successfully list all broadcasting access points, however, and from notes 
in other
fora, I guessed correctly that only when the association succeeds does the 
ESSID: line
on ndiswrapper interfaces reflect the requested access point name.

I'm used to working around the "won't assocciate to WPA host" problem on 
Atheros-based
machines using "ap_scan = 1" global flag in the wpa_supplicant.conf.  This 
instructs 
WPA-supplicant to not only passively watch the interface for associations, but 
to actively
scan and configure the interface to connect to each of the configured networks 
in case the
network is hidden.  This works successfully on Atheros machines, but does not 
on this 
Feisty / ndiswrapper machine with wpa_supplicant configured as either "-Dwext" 
or
"-Dndiswrapper".

Before resorting to kernel recompilation and the attendant issues with 
upgrades, etc, I hit
upon a solution.  In Atheros-based machines you can control the WPA 
functionality using
an iwpriv call (which I assume is what wpa_supplicant does).  Sure enough 
ndiswrapper
for this broadcom card also had a promising looking iwpriv named 
"set_auth_mode".  After
a lot of wrangling and repeated trials I ended up with a working combination: 

With wpa_supplicant configured with "ap_scan = 0", and "-Dwext" (_not_ 
ndiswrapper)
running using /etc/network/interfaces wpa-* calls (i.e., configuring 
network-manager not
to configure this interface) wpa_supplicant would configure the right ESSID but 
sit around
waiting for association.  If while wpa_supplicant is in this state, one issued 
the command
"iwpriv wlan0 set_auth_mode 3" (and I did another "iwconfig wlan0 essid <ssid>" 
for good
measure) all of a sudden the interface would associate, wpa_supplicant would 
notice and
fire off the EAP-TLS process and everything was smooth sailing from there.

The trick was now to find a way to automate this delicate dance in a repeatable 
manner.  
I ended up with a pre-up script in /etc/network/interfaces that forked off the 
iwpriv process.
I've attached it as wireless_ndiswrapper_enable_wpa.sh.

/etc/network/interfaces has the following lines in it:

    auto wlan0
    iface wlan0 inet dhcp
        wireless-essid My SSID
        wireless-mode Managed
        wireless-key 0000000000
        pre-up /usr/bin/wireless_ndiswrapper_enable_wpa
        wpa-conf /etc/netsecure/wpa_supplicant.conf
        wpa-driver wext

Hope this helps someone.

** Attachment added: "Attempt to work around association issues in ndiswlan"
   http://launchpadlibrarian.net/8514980/wireless_ndiswrapper_enable_wpa.sh

-- 
can't connect to hidden network
https://bugs.launchpad.net/bugs/50214
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to