ndiswrapper bcm4306 rev 2 won't connect regression

Bug #276980 reported by Cliff
22
Affects Status Importance Assigned to Milestone
ndiswrapper (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Starting from a live CD boot. I follow what I believe to be the correct procedure for getting the BCM4306 rev 2 wifi running with ndiswrapper.
- kill NetworkManager
- rmmod b43legacy and ssb
- install ndiswrapper-common and ndiswrapper-utils-1.9
- ndiswrapper -i bcmwl5.inf
- modprobe ndiswrapper
- wait a little
- run NetworkManager
- wait a little
- iwconfig shows that wlan0 is up
- iwlist wlan0 scan shows that it sees the AP
- click the detected AP in the NetworkManager icon
- it prompts for password
- enter password
- NetworkManager icon spins with one green spot (the bottom one)
- 25 second later it prompts for password again
- REPEAT ...
- it never connects

This works fine under Gutsy (rmmod'ing bcm43xx instead of b43legacy and ssb and using interface eth1 instead of wlan0), but not Hardy or Intrepid (alpha 5-6 are the only ones I have tested).

The following is the exact session that I used under Intrepid Alpha 6:

ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu# pkill NetworkManager
root@ubuntu:/home/ubuntu# rmmod b43legacy ssb
root@ubuntu:/home/ubuntu# lsmod | grep b4
root@ubuntu:/home/ubuntu# lsmod | grep ssb
root@ubuntu:/home/ubuntu# apt-get install ndiswrapper-common ndiswrapper-utils-1.9
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  ndiswrapper-source
The following NEW packages will be installed:
  ndiswrapper-common ndiswrapper-utils-1.9
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/55.4kB of archives.
After this operation, 225kB of additional disk space will be used.
Selecting previously deselected package ndiswrapper-common.
(Reading database ... 101650 files and directories currently installed.)
Unpacking ndiswrapper-common (from .../ndiswrapper-common_1.52-1ubuntu1_all.deb) ...
Selecting previously deselected package ndiswrapper-utils-1.9.
Unpacking ndiswrapper-utils-1.9 (from .../ndiswrapper-utils-1.9_1.52-1ubuntu1_i386.deb) ...
Processing triggers for man-db ...
Setting up ndiswrapper-common (1.52-1ubuntu1) ...
Setting up ndiswrapper-utils-1.9 (1.52-1ubuntu1) ...
root@ubuntu:/home/ubuntu# mkdir t
root@ubuntu:/home/ubuntu# mount /dev/sda9 t
root@ubuntu:/home/ubuntu# cd t/home/cliff/bcm43xx/
root@ubuntu:/home/ubuntu/t/home/cliff/bcm43xx# ndiswrapper -i bcmwl5.inf
installing bcmwl5 ...
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
root@ubuntu:/home/ubuntu/t/home/cliff/bcm43xx# modprobe ndiswrapper
root@ubuntu:/home/ubuntu/t/home/cliff/bcm43xx# NetworkManager
root@ubuntu:/home/ubuntu/t/home/cliff/bcm43xx# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlan0 IEEE 802.11g ESSID:off/any
          Mode:Managed Frequency:2.462 GHz Access Point: Not-Associated
          Bit Rate:54 Mb/s Tx-Power:25 dBm
          RTS thr:2347 B Fragment thr:2346 B
          Encryption key:off
          Power Management:off
          Link Quality:0 Signal level:0 Noise level:0
          Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
          Tx excessive retries:0 Invalid misc:0 Missed beacon:0

root@ubuntu:/home/ubuntu/t/home/cliff/bcm43xx# iwlist wlan0 scan
wlan0 Scan completed :
          Cell 01 - Address: 00:0F:A3:17:56:48
                    ESSID:"CliffsWifi"
                    Protocol:IEEE 802.11b
                    Mode:Managed
                    Frequency:2.412 GHz (Channel 1)
                    Quality:78/100 Signal level:-46 dBm Noise level:-96 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              12 Mb/s; 24 Mb/s; 36 Mb/s; 36 Mb/s; 9 Mb/s
                              48 Mb/s; 54 Mb/s
                    Extra:bcn_int=100
                    Extra:atim=0
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : PSK
                       Preauthentication Supported
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : PSK

root@ubuntu:/home/ubuntu/t/home/cliff/bcm43xx# uname -a
Linux ubuntu 2.6.27-3-generic #1 SMP Wed Sep 10 16:02:00 UTC 2008 i686 GNU/Linux

<<< handwritten comments follow >>>
 click on NetworkManager icon and select CliffsWifi
 "Wireless Network Secrets Required" window pops up
 enter password in window
 25 second pause while NetworkManager icon does it's spinning around
 with just the bottom spot green
 "Wireless Network Secrets Required" comes back up
 loops like this forever

I have done all this testing with the various live CD versions to keep it clean.
What you see here is ALL that was done after a boot of Intrepid Alpha 6 live CD.

I can do the exact same steps in Gutsy (except the module to rmmod is bcm43xx,
not ssb and b43legacy and the interface is eth1 not wlan0) and it works fine.

Hardy is also broken the same way, so this has been broken for a whole year.
I recall reading somewhere on the forums that this problem won't be fixed in Hardy
and that the developers want to know if Intrepid Alpha 5 fixed it. Well it
didn't, and neither did Alpha 6

I have tried all the suggestions on the forums, and this is the distillation
to prove that it is still broken.

ssb / b32legacy is way too slow, I must use ndiswrapper. Yes I know how to
jack the speed up from 1M to 54M with iwconfig. That is not the issue.

This works fine in Gutsy but is broken in Hardy and Intrepid.

Revision history for this message
Cliff (vzmith) wrote :
Revision history for this message
Cliff (vzmith) wrote :

The only work-around I have found is to disable WPA. I went to a completely open system with no auth and no encryption and it worked.

"iwconfig wlan0 essid x mode managed" does not help.

Here is my "lshw -C network" (while connected to an open WiFi AP):
  *-network:0
       description: Wireless interface
       product: BCM4306 802.11b/g Wireless LAN Controller
       vendor: Broadcom Corporation
       physical id: 9
       bus info: pci@0000:00:09.0
       logical name: wlan0
       version: 02
       serial: 00:90:4b:93:2a:fe
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ndiswrapper+bcmwl5 driverversion=1.53+Broadcom,06/26/2004, 3.70.1 latency=64 link=no module=ndiswrapper multicast=yes wireless=IEEE 802.11g
  *-network:1
       description: Ethernet interface
       product: DP83815 (MacPhyter) Ethernet Controller
       vendor: National Semiconductor Corporation
       physical id: 12
       bus info: pci@0000:00:12.0
       logical name: eth0
       version: 00
       serial: 00:0f:20:c7:4f:d7
       size: 10MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii fibre 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=natsemi driverversion=2.1 duplex=half latency=90 link=no maxlatency=52 mingnt=11 module=natsemi multicast=yes port=twisted pair speed=10MB/s

Attached find my /var/log/syslog from a similar run, also on Intrepid Alpha 6...

Revision history for this message
Cliff (vzmith) wrote :

Tested Intrepid Beta (live version).
 - I purchased a different PCCARD Wifi card (RT2680 based) and it works well with ndiswrapper, proving that this regression is one that is limited to the BCM4306 rev 2 (and possibly related) hardware. I recall in much older versions of Ubuntu that the Rtlink series of wifi cards do their own WPA. Perhaps that is why it is working. Download speed is 2.8M bytes per second as it should be and as I need to be able to play video without stuttering.
 - ssb / b43legacy (native driver) is still too slow (25k to 700k bytes per second), with both the firmware that b43-fwcutter downloads and with the firmware that I use successfully (get full speed of over 2.4M bytes per second) with ndiswrapper under Gutsy.
 - ndiswrapper still wont connect to an encrypted wifi with bcm4306 rev 2 hardware. Not with either the bcmwl5.inf that I use successfully with ndiswrapper under Gutsy or with wl_apsta.o.

FYI, I downloaded the SPROM tweaker program pointed to by other bug reports and made the suggested change. It didn't help and I put the SPROM back the way it was. I changed only the bit that was suggested, but I recall that there were other bits set in that byte. I know I got the right byte from the values surrounding it. I am willing to test this again if someone will guide me.

Revision history for this message
zertz (zertz) wrote :

great information Cliff. i too have the BCM4306 rev 2 and cannot get it to work in intrepid using the b43legacy in the restricted drivers manager. very sad, this laptop has never been able to function with its internal wifi and ubuntu. i will hope that this will someday be fixed, but i'm guessing this along with other things, while may be easy to fix, are not a priority for ubuntu.

Revision history for this message
Cliff (vzmith) wrote :

All facets of problem recreated with 8.10 Intrepid release:
 - Native driver for bcm4306 rev 2 wifi (ssb/b43legacy) is _severely_ crippled. It averages 75k bytes per second with many stalls as tested with scp.
 - Ndiswrapper/bcmwl5 (built in Broadcom 4306 rev 2 hardware) will not connect to a WIfi with WPA2 encrytion (this works in 7.10 Gutsy)
 - Ndiswrapper/bcmwl5 will connect to an open WIfi with no encryption (with excellent 2.7 mbytes/second transfer speed)
 - Ndiswrapper/rt2860 (Rtlink 2860 in an Airlink AWLC6080 pccard) will connect to a Wifi with WPA2 encryption (with excellent 2.7 mbytes/second transfer speed)

all tests peformed in a single session on a single laptop

all packages up to date via Update Manager as of 09:00am Nov 2, 2008 (EST)

here is the session from my history buffer

./witest
   (scp shows transfer rate of about 75k bytes / second with many stalls)
pkill NetworkManager
rmmod b43legacy ssb
ndiswrapper -l
   (nothing listed)
ndiswrapper -i rt2860.inf
modprobe ndiswrapper
lsmod | grep ssb
   (nothing listed, proves ssb/b43legacy is unloaded)
NetworkManager
./witest
   (scp shows smooth transfer rate of about 2.7megabytes / second on rt2860 WPA2)
pkill NetworkManager
rmmod ndiswrapper
ndiswrapper -r rt2860
ndiswrapper -i bcmwl5.inf
modprobe ndiswrapper
NetworkManager
   (ndiswrapper/bcmwl5 would not connect to WPA2 wifi)
pkill NetworkManager
rmmod ndiswrapper
modprobe ssb
lsmod | grep ssb
   (ssb and b43legacy are shown)
NetworkManager
   (used Firefox here to turn off the encryption on wifi and make it open system)
pkill NetworkManager
rmmod b43legacy ssb
lsmod | grep ssb
   (nothing shown proves that ssb and b43legacy are removed)
lsmod | grep b4
   (nothing shown)
ndiswrapper -l
   (shows that bcmwl5 is installed)
modprobe ndiswrapper
NetworkManager
./witest
   (scp shows smooth transfer rate of about 2.7megabytes / second on ndiswrapper/bcmwl5 on open system wifi)
dmesg | tee dmesg.log
cat /var/log/syslog | tee syslog.log

Revision history for this message
Cliff (vzmith) wrote :

Here is the syslog for the previous post

Revision history for this message
Cliff (vzmith) wrote :

VERY IMPORTANT INFORMATION JUST DETERMINED...

(sorry for the caps but it is that important)

Disable WPA2 in your wifi access point and enable just WPA and then your ndiswrapper/bcm4306rev2 problems will go away. (I had my wifi access point set up to allow both WPA and WPA2.)

Ndiswrapper with bcm4306 rev 2 wifi hardware does not work with WPA2 but it does work with WPA. That is why Gutsy works for me but neither Hardy nor Intrepid work. Gutsy does not support WPA2, and it knows this, so it asks for simple WPA and thus it works. Hardy and Intrepid do support WPA2 so they ask for WPA2 and fail because bcm4306 rev 2 does not work with WPA2.

As another data point, ndiswrapper with Rtlink 2860 wifi hardware does work with WPA2.

Anyone having this issue can try this (which only lasts till you reboot) after setting their wifi access point to use only WPA (disable WPA2). You may need to have internet access (like by having wired access) or have your /etc/apt/sources.list configured to get software packages from the DVD (CDROM). You will need the Windows drivers for the bcm4306 rev 2 wifi hardware (including bcmwl5.inf and other files) extracted to your home directory (/home/whateveryourusernameis) before starting:
Click Applications -> Accessories -> Terminal
Do the rest with the keyboard at the Terminal prompt. Type the following (case is important, NetworkManager is different than networkmanager):
sudo su
    (enter your password)
apt-get update
apt-get install ndiswrapper-common ndiswrapper-utils-1.9
pkill NetworkManager
    (be watching the top right of the screen to see which icon disappears for NetworkManager)
rmmod b43legacy ssb
    (that is spelled "r m m o d")
ndiswrapper -i bcmwl5.inf
    (that is el five not one five)
modprobe ndiswrapper
sleep 10
    (this just makes you wait 10 seconds)
NetworkManager

At this point you should be able to connect. NetworkManager may connect automatically or you may need to click the Network Manager icon at the top right of the screen and select "Connect to Hidden Wireless Network" and enter your wifi name, encryption type and password again to connect.

To make this permanent type this:
ndiswrapper -m
nano /etc/modprobe.d/blacklist
    (add a lines that says "blacklist ssb" and "blacklist b43legacy" (without the quotes) to the end of the file and then save and exit)

Hope I got this all right. Re-entering it from memory. Post back if you try this to let me know if it helps you.

Revision history for this message
Nayr (irishmick22) wrote :

Thanks Cliff worked perfectly.
Ryan

Revision history for this message
Chris Jackson (chriskjackson) wrote :

I have had similar problems connecting with an HP 2517cl with the BCM4322 - I am running Intrepid with kernel 2.6.27-8.17 and ndiswrapper 1.52-1ubuntu1.

After reading the workaround above to disable WPA/WPA2 on the accesspoint and use only WPA, I when to my AP ( a Belkin G ) and and found only an option to do "WPA/WPA2" or only WPA2", so I set it to "only WPA2" and NM connected great!

The problem seems to be with the driver handling the AP announcing it takes either WPA or WPA2 but it works fine when the AP advertises only one or the other?

Revision history for this message
Tom Dunham (dunham402) wrote :

I am able to run Intrepid with kernel 2.6.27-9-generic and ndiswrapper 1.53 with a BCM 4306 (rev 02) in an old compaq presario. I can connect well with excellent data rates but only with WEP security.

Can't connect with WPA or WPA2. I can enable WPA or WPA2 separately on the access point, but the problem appears to be related to the NetworkManager in Intrepid. When I try to add a connection, the wireless security selection says "WPA & WPA2 Personal." No joy trying to figure out whether / how to use WPA or WPA2 in the NetworkManager. I get the green light on bottom but no green from the top, so it times out.
I must be missing something simple as the system log message says WPA is supported.

P.S. B43Legacy in the Intrepid restricted drivers manager worked but was painfully slow, and couldn't get the rate up consistently. No longer enabled.

Revision history for this message
Cliff (vzmith) wrote :

@Chris Jackson
I have just retested WPA2 (not WPA+WPA2) on 8.10. I cannot connect with WPA2. I can connect just fine with WPA. I even tried forcing AES or TKIP with WPA2. No dice. I have an RT2860 PCCARD that I test with in this same laptop and it connects fine to either WPA or WPA2 (using ndiswrapper like with the BCM4306r2).

Revision history for this message
Cliff (vzmith) wrote :

FYI, I have just tested WPA2 on Windows XP on this laptop and it connects fine, so the hardware is capable of connecting to WPA2.

I have a multi-boot setup and XP connects fine every time, but Ubuntu 8.10 etc. never connects. This particular test was of the Ubuntu 8.10 that I have permanently installed on the hard drive. This installation of Ubuntu 8.10 does connect to WPA(1) successfully.

Revision history for this message
Sameer (sameeryousuf) wrote :

I have a broadcom 4306 rev 02. Works fine with WPA2 in Windows 7. In Ubuntu 9.10, using the b43legacy firmware, I am able to connect to my WPA2 network but the connection is intermittent at best. The speed changes constantly and usually after about 5 minutes it times out in which case I have to use NM to manually disconnect and connect again. In regards to ndiswrapper, I think it would work great if anyone could find a windows driver that gives it WPA2. I haven't tried to pull the Windows 7 driver and try it with ndiswrapper yet. I can't imagine having any luck because I haven't come across anyone who has found a Windows driver that gives the bcm4306 WPA2 support in Ubuntu. If you have heard of one, please do share!

Revision history for this message
Przemek K. (azrael) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. We are sorry that we do not always have the capacity to look at all reported bugs in a timely manner. There have been many changes in Ubuntu since that time you reported the bug and your problem may have been fixed with some of the updates. If you could test the current Ubuntu development version (10.04), this would help us a lot. If you can test it, and it is still an issue, we would appreciate if you could upload updated logs by running apport-collect 276980, and any other logs that are relevant for this particular issue.

Also please note that your card should be supported by the b43 driver, so you should try it first. However, this driver requires you to download the firmware either by installing b43-fwcutter while having an ethernet connection, or by downloading the firmware manually and then running b43-fwcutter on it.
https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#Installing%20BCM43xx%20drivers

Changed in ndiswrapper (Ubuntu):
status: New → Incomplete
Revision history for this message
Tom Dunham (dunham402) wrote : Re: [Bug 276980] Re: ndiswrapper bcm4306 rev 2 won't connect regression
Download full text (7.6 KiB)

Yes after loading Ubuntu 9.10, i was able to get the B43legacy driver to work very well.  I'm not sure how 9.10 fixed it, but it did.

Thank you.
Tom Dunham

________________________________
From: Przemysław Kulczycki <email address hidden>
To: <email address hidden>
Sent: Thu, April 8, 2010 10:05:27 AM
Subject: [Bug 276980] Re: ndiswrapper bcm4306 rev 2 won't connect regression

Thank you for taking the time to report this bug and helping to make
Ubuntu better. We are sorry that we do not always have the capacity to
look at all reported bugs in a timely manner. There have been many
changes in Ubuntu since that time you reported the bug and your problem
may have been fixed with some of the updates. If you could test the
current Ubuntu development version (10.04), this would help us a lot. If
you can test it, and it is still an issue, we would appreciate if you
could upload updated logs by running apport-collect 276980, and any
other logs that are relevant for this particular issue.

Also please note that your card should be supported by the b43 driver, so you should try it first. However, this driver requires you to download the firmware either by installing b43-fwcutter while having an ethernet connection, or by downloading the firmware manually and then running b43-fwcutter on it.
https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#Installing%20BCM43xx%20drivers

** Changed in: ndiswrapper (Ubuntu)
      Status: New => Incomplete

--
ndiswrapper bcm4306 rev 2 won't connect regression
https://bugs.launchpad.net/bugs/276980
You received this bug notification because you are a direct subscriber
of the bug.

Status in “ndiswrapper” package in Ubuntu: Incomplete

Bug description:
Starting from a live CD boot.  I follow what I believe to be the correct procedure for getting the BCM4306 rev 2 wifi running with ndiswrapper.
- kill NetworkManager
- rmmod b43legacy and ssb
- install ndiswrapper-common and ndiswrapper-utils-1.9
- ndiswrapper -i bcmwl5.inf
- modprobe ndiswrapper
- wait a little
- run NetworkManager
- wait a little
- iwconfig shows that wlan0 is up
- iwlist wlan0 scan shows that it sees the AP
- click the detected AP in the NetworkManager icon
- it prompts for password
- enter password
- NetworkManager icon spins with one green spot (the bottom one)
- 25 second later it prompts for password again
- REPEAT ...
- it never connects

This works fine under Gutsy (rmmod'ing bcm43xx instead of b43legacy and ssb and using interface eth1 instead of wlan0), but not Hardy or Intrepid (alpha 5-6 are the only ones I have tested).

The following is the exact session that I used under Intrepid Alpha 6:

ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu# pkill NetworkManager
root@ubuntu:/home/ubuntu# rmmod b43legacy ssb
root@ubuntu:/home/ubuntu# lsmod | grep b4
root@ubuntu:/home/ubuntu# lsmod | grep ssb
root@ubuntu:/home/ubuntu# apt-get install ndiswrapper-common ndiswrapper-utils-1.9
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  ndiswrapper-source
The following NEW packages will be installed:
  ndiswrapper-common ndiswrapper-utils-1.9
0 upgraded, 2 newly installed, 0...

Read more...

Revision history for this message
Przemek K. (azrael) wrote :

This bug report is being closed due to your last comment regarding this being fixed with an update. For future reference you can manage the status of your own bugs by clicking on the current status in the yellow line and then choosing a new status in the revealed drop down box. You can learn more about bug statuses at https://wiki.ubuntu.com/Bugs/Status. Thank you again for taking the time to report this bug and helping to make Ubuntu better. Please submit any future bugs you may find.

Changed in ndiswrapper (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.