14e4:4328 ssb module breaks BCM4328 with ndiswrapper (regression from 2.6.24-10)

Bug #197558 reported by Anders Kaseorg
52
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

My laptop has a BCM4328 draft-N wireless chipset that requires ndiswrapper. This broke between 2.6.24-10-generic and 2.6.24-11-generic because the ssb module now grabs the device before ndiswrapper.

$ lspci -nn | grep 4328
03:00.0 Network controller [0280]: Broadcom Corporation BCM4328 802.11a/b/g/n [14e4:4328] (rev 01)
$ ndiswrapper -l
bcmwl5 : driver installed
 device (14E4:4328) present (alternate driver: ssb)
$ diff -u /lib/modules/2.6.24-{10,11}-generic/modules.pcimap

+ssb 0x000014e4 0x00004328 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0

WORKAROUND: Blacklisting ssb allows ndiswrapper to work again.

alias pci:v000014E4d00004328sv*sd*bc*sc*i* ndiswrapper
install ssb /sbin/modprobe ndiswrapper; /sbin/modprobe --ignore-install ssb $CMDLINE_OPTS

Anders Kaseorg (andersk)
description: updated
Revision history for this message
Felix Kuehling (fxkuehl) wrote :

Me too. Not sure what you mean with blacklisting. ohci_hcd depends on ssb, so I can't really prevent ssb from being loaded if I want USB to work. I added this line to /etc/modprobe.d/ndiswrapper to work around the problem:

install ndiswrapper modprobe -r ohci_hcd ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ohci

For the record:
lspci -nn:
...
30:00.0 Network controller [0280]: Broadcom Corporation BCM4328 802.11a/b/g/n [14e4:4328] (rev 03)

modinfo ssb:
...
alias: pci:v000014E4d00004328sv*sd*bc*sc*i*
...

bcm43xx doesn't know how to deal with this device, whether ssb is loaded or not. So I'm still stuck with using ndiswrapper. Too bad my wireless network setup is getting even messier now.

Revision history for this message
Hazim Gazov (hazim-gazov) wrote :

I also have this issue, thanks for the helpful tips, I will try them out!

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
tiburcio (jbonnin) wrote :

A tried Felix Kuehling suggestion and it works but at the expense of loosing all USB functions. Hope somebody comes up with a fix! The problem with Broadcom BCM4328 has been around for a while, even in Gutsy and nobody appears to have found a solution for it. The old fix in http://ubuntuforums.org/showthread.php?t=405990 worked in Gutsy but not in Hardy.

Revision history for this message
Anders Kaseorg (andersk) wrote :

This bug is about a specific problem that showed up recently in Hardy between 2.6.24-10 and 2.6.24-11. More general BCM4328 problems should be reported as separate bugs.

This workaround might be cleaner than Felix’s, in that it loads ndiswrapper earlier instead of unloading the USB modules later:

alias pci:v000014E4d00004328sv*sd*bc*sc*i* ndiswrapper
install ssb /sbin/modprobe ndiswrapper; /sbin/modprobe --ignore-install ssb $CMDLINE_OPTS

Revision history for this message
tiburcio (jbonnin) wrote :

Thank you Anders but it did not work in my laptop. Am I doing something wrong? I am relatively new in Ubuntu.

/etc/modprobe.d/ndiswrapper in my machine reads

alias wlan0 ndiswrapper
install ndiswrapper modprobe -r ohci_hcd ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ohci

and wireless network works but there is no USB

When I replaced those two lines with the ones you suggested, I got USB back but wireless does not work.

Any suggestions?

I agree that this bug is about a specific problem that showed up recently in Hardy between 2.6.24-10 and 2.6.24-11. USB and wireless were working perfectly with 2.6.24-10.

Thanks

Revision history for this message
Felix Kuehling (fxkuehl) wrote :

There was a bug in my workaround that resulted in broken USB. I misspelled the ohci_hcd module name in the last modprobe command. Replace the install-line I added to /etc/modprobe.d/ndiswrapper with this one:

install ndiswrapper modprobe -r ohci_hcd ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ohci_hcd

Now I have USB and Wlan working at the same time.

Anders, I tried your approach first, and it worked great when I loaded the ssb or ohci_hcd module manually using modprobe. But during bootup these modules are apparently not loaded by modprobe, so the next time I rebooted Wlan was again not working.

Revision history for this message
Anders Kaseorg (andersk) wrote :

Maybe ssb is being loaded from the initrd, which has its own modprobe configuration (copied in from /etc/modprobe.d by update-initramfs). So, you’d need to do something like this.
* In /etc/modprobe.d/ndiswrapper, add
  alias pci:v000014E4d00004328sv*sd*bc*sc*i* ndiswrapper
  install ssb /sbin/modprobe ndiswrapper; /sbin/modprobe --ignore-install ssb $CMDLINE_OPTS
* In /etc/initramfs-tools/modules, add
  ndiswrapper
* Run
  sudo update-initramfs -u

Revision history for this message
tiburcio (jbonnin) wrote :

Thank you both for your suggestion. I tried them both. I tried Felix's suggestion first and it worked until the next time I booted the laptop. The wireless card has not been recognized even since. Then I tried Anders suggestion and it did not work either.

Next I did a clean reinstall of Ubuntu 8.04 alpha 6. Again I tried both suggestions again and neither worked. Since I desperately need wireless connectivity, I am about to give up on Ubuntu altogether and switch back to the awful Vista. Bad and all but at least I can communicate.

If there are any other suggestions, I would love to try them.

Thanks again.

$ lspci
00:00.0 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP67 ISA Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP67 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation Unknown device 0541 (rev a2)
00:01.3 Co-processor: nVidia Corporation Unknown device 0543 (rev a2)
00:02.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:04.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:04.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:06.0 IDE interface: nVidia Corporation MCP67 IDE Controller (rev a1)
00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation Unknown device 0561 (rev a2)
00:09.0 IDE interface: nVidia Corporation MCP67 AHCI Controller (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP67 Ethernet (rev a2)
00:0c.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:0d.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:12.0 VGA compatible controller: nVidia Corporation GeForce 7150M (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
02:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
02:05.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
02:05.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
02:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
02:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)
03:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)

Revision history for this message
michelem (michele-marcucci) wrote :

I can confirm the bug with Hardy Alpha 6 (2.6.24-11)

Revision history for this message
feminaexlux (feminaexlux) wrote :

I may be totally off here, but I think I've got the same issue with my Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01) card. (14e4:4311 rev 01)

Hardy alpha 6 (2.6.24-12-generic x86_64)

Though unloading the modules b44, ssb and then ndiswrapper (in that order), then reloading ndiswrapper, ssb, and b44 works for me. And my USB works, as I'm testing out my tablet right now. Haven't rebooted yet, though.

Revision history for this message
maximilianhauser (maximilianhauser) wrote :

I can confirm the bug with Hardy Alpha 6, too (2.6.24-11 and 2.6.24-12). I have a Broadcom BCM4328 wlan chipset and the ssb module grabs the device before ndiswrapper.

Revision history for this message
levmatta (levmatta) wrote :

Shouldn't the new b43-fwcutter (not b43xx-fwcutter) version support this hardware "Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)" ????
I have a Dell Inspiron 1525, and Ubuntu Hardy Alpha6 x86_64 ( 64 BITS).

If not how do I get the ndiswrapper to work? It is installed but I do not know how to get the driver and configure it.

Thanks.

Revision history for this message
maximilianhauser (maximilianhauser) wrote :

No, the b43-fwcutter doesn't support the bcm4328 wlan interface. Here is the link to the supported devices http://linuxwireless.org/en/users/Drivers/b43

installing via ndiswrapper is described here: http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,installation/

Revision history for this message
levmatta (levmatta) wrote :

Thanks "mechanikking". After much pain I got to the same place that everybody else here, but I wandered... is there was a better solution?
I am using a solution based on the bug report #182716. I actually prefer it a lot, it is easier on the eye and can be turned off (to me).

Copy from Bug #182716:
To resolve the problem i crate a boot script using this steps:

1) U must create a file in /etc/init.d/ndiswrapper:

sudo nano /etc/init.d/ndiswrapper

1.a) and paste in it this text:

#! /bin/sh
### BEGIN INIT INFO
# Provides: ndiswrapper
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: enable to load ndiswrapper
# Description: enable to load ndiswrapper
### END INIT INFO

rmmod ohci_hcd
rmmod ssb
rmmod ndiswrapper
modprobe ndiswrapper
modprobe ssb
modprobe ohci_hcd

############# end file ############

2) then set file access permissions:

sudo chmod 755 /etc/init.d/ndiswrapper

3) check if permissions are ok. Type:

ls -l /etc/init.d/ndiswrapper

[... ]
-rwxr-xr-x 1 root root 4388 2008-02-03 14:57 /etc/init.d/ndiswrapper
[... ]

4) last, create a symbolic link call S99ndiswrapper in the folder /etc/rc2.d, from /etc/init.d/ndiswrapper:

sudo ln -s /etc/init.d/ndiswrapper /etc/rc2.d/S99ndiswrapper

END OF COPY from Bug #182716.

I also think is worth to mention that a lot of tutorials in the net speak of blacklisting ssb - all wrong. Finally my /etc/modules does not contain ndiswrapper anymore (or the turning on/off point would be wrong).

USB and bcm4328 working.

Revision history for this message
Adam Barbary (home-adambarbary) wrote :

An excellent solution, all working well here. Am wondering also, if anyone has WPA enterprise working with this method? I can't seem to authenticate with my system, however I WEP is fine.

Joe

Revision history for this message
Kristopher Ives (nullmind) wrote :

The above script is great, but didn't work on my BCM4318 and would cause the machine to hang. I modified it a bit (maybe you guys had some blacklisted modules I didn't), here is my init.d script:

#!/bin/bash

rmmod b43
rmmod b44
rmmod ohci_hcd
rmmod ssb
rmmod ndiswrapper
modprobe ndiswrapper
modprobe ssb
modprobe ohci_hcd
modprobe b44

This ssb, b43, b44 module nonsense is insane. How can this little wireless chipset have like 8 packages (b43, bcm43xx, b43legacy, etc..) and why is ohci_hcd dependent?! From what I've gathered as long as ssb is loaded AFTER ndiswrapper, all is well.

Cheers,
Kris

Revision history for this message
David Hajage (eusebe) wrote :

Same bug for me, and no solution has worked...

Hope this bug will be killed for final release !

Revision history for this message
richhal22 (richhal22) wrote :

This procedure has partially worked for me - I can see networks and connect to unencrypted ones (haven't tried WEP yet). However, network-manager no longer gives me the option of using Enterprise WPA.

@Adam It seems that wpa_supplicant isn't getting loaded. Perhaps this has something to do with the different timing of loading ndiswrapper using this script?

Revision history for this message
richhal22 (richhal22) wrote :

My apologies - network-manager is in fact working fine. *It* had forgotten my WPA settings, but *I* had forgotten that you need to select "Connect to Other Wireless Network" in order to set up a WPA-Enterprise connection. My bad.

Revision history for this message
c_07 (flint07) wrote :

levmatta's script worked beautifully for me as well with my Broadcom Corporation BCM94311MCG wlan mini-PCI card, but like Kristopher the module b43 was preventing ssb from unloading, so I just blacklisted it. If I loose functionality, I'll add it to the script...

Thanks!

Revision history for this message
cecil_t (greg-hasslers) wrote :

This is affecting me as well in Hardy b1:
  $ lspci|grep Broadcom
  03:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 01)

ndiswrapper works fine in Gutsy

Revision history for this message
Wrath (alan1212) wrote :

I am also being affected by this on Hardy Heron Beta1

wrath@wrath-laptop:~$ lspci | grep Broadcom
06:04.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)

I also noticed that I can unload ssb without unloading ohci_hcd. When i tried at first to unload ssb, the error it gave me said it depended on b43.

I tried just blacklisting ssb, but ssb loaded anyways.

To finally get it to work, I basically did

rmmod b43
rmmod ssb
modprobe ndiswrapper

Revision history for this message
matt_hargett (matt-use) wrote :

I am also affected by this. rmmod ndiswrapper && rmmod ssb && modprobe ndiswrapper fixes the issue. It's really irritating to do manually, and causes my browsers, RSS, IM, and IRC clients to all have issues on startup.

Revision history for this message
Fabián Rodríguez (magicfab) wrote :

Using a clean install of the beta Hardy and upgrading I don't have this problem anymore.

NDISwrapper + WinXP drivers work without any further config than what I normally do for other similar setups.

Revision history for this message
cecil_t (greg-hasslers) wrote :

I agree with Fabian - updated to current level and ndis now works.

Revision history for this message
michelem (michele-marcucci) wrote :

I can confirm latest updates solve the issue.
thank you

Revision history for this message
Jordan Keyes (jkeyes0) wrote :

I have not tried Ubuntu 8.04 in the past few days, but I had the same problem the last time I tried it (and with Foresight Linux 2.0, which I'm using now). I will reload 8.04 tonight and see if it works for me now.
Does anyone know what changed in the most recent updates to resolve the problem? I'd like to see this get ported over to Foresight.

Thanks!

Revision history for this message
Jordan Keyes (jkeyes0) wrote :

I have reinstalled 8.04 beta, performed all the updates possible (including the newer kernel, 2.6.24-15-generic). I installed ndiswrapper-common, ndiswrapper-utils-1.9, then installed the bcmwl5.inf driver and modprobe'd ndiswrapper, and it immediately worked. Good to know the fix is related to the kernel, but it'd be nice to know if it was an Ubuntu fix or a kernel fix.

Also, I've noticed that my wireless connection maxes out at 130Mbps (in Windows, it maxes out at 270Mbps). I believe this is due to the driver using the 20Mhz band instead of 40Mhz. Does anyone know if there's a way to get the full 270Mbps out of it?

Revision history for this message
Jordan Keyes (jkeyes0) wrote :

Slight question: could the problems with ndiswrapper be related to this article? http://kerneltrap.org/Linux/NDISwrapper_and_the_GPL
Looks like the kernel devs intentionally (or unintentionally) broke ndiswrapper because it is not GPL and requests access to GPLONLY methods. Granted, with the latest updates to Ubuntu, ndiswrapper works, but it's intermittent for me. It doesn't appear to lose connection, but data stops transmitting. I don't know which logs to look at to see what's actually going on (I checked dmesg and /var/log/messages, but nothing out of the ordinary there...)

Revision history for this message
Anders Kaseorg (andersk) wrote :

Yeah, this seems to have been fixed between -12 and -14. Marking fixed.

(To the other commenters: this was about a *specific* problem where the ssb module would grab the BCM4328 device before ndiswrapper was loaded. This is not a dumping ground for all your BCM4328/ndiswrapper problems. I am not intending to suggest that your problems aren’t real or that nobody cares about them, but *please* take the few extra seconds to file your own bug reports instead of trying to hijack someone else’s unrelated bug.)

Changed in linux:
status: Triaged → Fix Released
Revision history for this message
dkoes (koes) wrote :

This problem still appears in -16. That is, it is necessary to have ndiswrapper load before ssb to get wireless to work. This is for x86_64. I don't think this should be marked as fixed.

Changed in linux:
status: Fix Released → Confirmed
Revision history for this message
matt_hargett (matt-use) wrote :

still broken here, -16 kernel on amd64 laptop. doing the annoying workaround fixes it. I hope this gets resolved before release -- Gutsy was the first one where wireless worked decently for me, I'd hate to have it broken again.

Revision history for this message
levmatta (levmatta) wrote :

For me kernel -16 is working fine.
How can I be sure that ndiswrapper is handling [14e4:4328] ??
Note: modinfo ssb does NOT list pci:v000014E4d00004328sv*sd*bc*sc*i*
modinfo ndiswrapper does not provide this information

Revision history for this message
Brian Murray (brian-murray) wrote :

It would be quite helpful if the people who are still experiencing this issue were to add the full output of 'lspci -vvnn' as an attachment to the bug report. This will show us the PCI IDs of the device that the ssb driver is getting loaded for. The ssb module should only be loaded for the following PCI ids.

brian@wonderwoman:[/lib/modules/2.6.24-16-generic] modinfo ssb
filename: /lib/modules/2.6.24-16-generic/kernel/drivers/ssb/ssb.ko
license: GPL
description: Sonics Silicon Backplane driver
srcversion: 296CB75C03596C72291230A
alias: pci:v000014E4d00004325sv*sd*bc*sc*i*
alias: pci:v000014E4d00004324sv*sd*bc*sc*i*
alias: pci:v000014E4d00004321sv*sd*bc*sc*i*
alias: pci:v000014E4d00004320sv*sd*bc*sc*i*
alias: pci:v000014E4d00004319sv*sd*bc*sc*i*
alias: pci:v000014E4d00004318sv*sd*bc*sc*i*
alias: pci:v000014E4d00004312sv*sd*bc*sc*i*
alias: pci:v000014E4d00004311sv*sd*bc*sc*i*
alias: pci:v000014E4d00004307sv*sd*bc*sc*i*
alias: pci:v000014E4d00004301sv*sd*bc*sc*i*
depends:
vermagic: 2.6.24-16-generic SMP mod_unload

Changed in linux:
assignee: ubuntu-kernel-team → nobody
status: Confirmed → Incomplete
Revision history for this message
Michael Rooney (mrooney) wrote :

Thanks Matt, I will mark this as Confirmed. I don't see an explanation as to why it was marked Incomplete so unless one is provided, it appears to be rather full of information.

Changed in linux:
status: Incomplete → Confirmed
Revision history for this message
Anders Kaseorg (andersk) wrote :

Matt: Your lspci output indicates that you have a BCM4311, not a BCM4328. There is also no indication that your problem is related to the ssb module. The bug that I reported was about a single line added to modules.pcimap in -11 that assigns the 4328 to ssb; no other lines were added during that release. It was definitely introduced between -10 and -11, and fixed between -12 and -14. Furthermore, the BCM4311 should be supported by the free b43 driver, while the BCM4328 needs ndiswrapper.

In short, you are experiencing a different problem, so you should file a new bug:
  <https://bugs.launchpad.net/ubuntu/+source/linux/+filebug>

Changed in linux:
status: Confirmed → Fix Released
Revision history for this message
matt_hargett (matt-use) wrote :

Sorry, but my issue started at about the same kernel revision, and doing the workaround (rmmod ssb && rmmod ndiswrapper && modprobe ndiswrapper && modprobe ssb) does work for me, as mentioned in my previous commend. So, that seems to indicate that it is, a the very least, a related issue.

You recommend using b43, which still does not work very well for me when using WPA2 -- I get slowness due to intermittent bad crypto rx failures, and it is a significant drain on my laptop's battery life (versus using ndiswrapper). I've been through this with my Canonical support rep doing back through dapper, edgy, and feisty; gusty was the first release where the wireless worked decently for me out-of-the-box. While I would love to use the b43 driver, it is believed to be suboptimal in my scenario by several people who should know.

In short, I'm pretty sure this bug applies to my situation and b43 isn't an option. If you'd like me to still make a separate bug, I can, but I'm not sure why.

Revision history for this message
dkoes (koes) wrote :

I assume that the ssb driver is getting loaded for the wireless card, but since b43 doesn't work (won't associate with the access point) and the version from compat-wireless really doesn't work (errors with ssb in dmesg), ndiswrapper is the only way to go for now. But it doesn't work if ssb loads first.

Is there a more elegant solution than just having a startup script unload and reload the modules?

Revision history for this message
dkoes (koes) wrote :

I've created a new bug report:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/218763
since this bug report really is for a very specific issue.

Revision history for this message
Tayroni Alves (tay-fisica) wrote :

I can confirm this bug for Hardy release candidate. I have a bcm4311 and ssb don't let the wireless work with ndiswrapper.

Revision history for this message
dtx (flint-alex) wrote :

I can confirm that adding
install ndiswrapper modprobe -r ohci_hcd ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ohci_hcd

to

/etc/modprobe.d/ndiswrapper

and then following these directions:
https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff

Worked for me! I have wifi (with WPA) and USB after reboot.

lspci
0c:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 01)

Revision history for this message
Xko Caheté (xkocahete) wrote :

I have the Broadcom BCM4328 as well and the problem seems not to appear when I'm using the 386 kernel (instead of the generic) on Hardy (2.6.24-16 and 2.6.24-17).

Revision history for this message
con (conloos) wrote :
Revision history for this message
con (conloos) wrote :

sorry i have to commentout ssb

con

Revision history for this message
Pablo Castellano (pablocastellano) wrote :

Now in Intrepid, ssb conflicts with wl and the same problem.

Revision history for this message
levmatta (levmatta) wrote :

I have no problems in Intrepid. I did a upgrade (not a clean install) and as far as I know Replaced all my customized system scripts and configurations. To repeat: my system is now without customizations and the /etc/init.d/ndiswrapper is all commented.

Working well.

Revision history for this message
Jeremy Brown (jeremy-jbdynamics) wrote :

I too have a BCM4328 card (Dell Wireless 1505 Draft-N). I finally got it to work after reading this post, although I had to modify Levmatta's original procedure. The WL and SSB modules worked for the wireless card, but the speed was god awfully slow (max 10K/sec as slow as 50 bytes/sec) and I could not use any sort of encryption (yes, I had wpasupplicant installed, I even built it from source to make sure it was a driver problem). I created the ndiswrapper init.d script symbolic link at /etc/rc1.d/S01ndiswrapper, basically before the bcm43xx-firmware loads at /etc/rc1.d/S05 and continually loads for some odd reason through rc5.d. I did not have to re-probe the ssb module after removing it to get my all of my USB devices to work. Here is my script that works in Intrepid Ibex Kubuntu 8.10 for anyone suffering problems related to the bcm4328 wireless card:

cat /etc/init.d/ndiswrapper

#! /bin/sh
### BEGIN INIT INFO
# Provides: ndiswrapper
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: enable to load ndiswrapper
# Description: enable to load ndiswrapper
### END INIT INFO

rmmod ohci_hcd
rmmod ssb
rmmod wl
rmmod ndiswrapper
depmod -a
modprobe ndiswrapper
modprobe ssb
modprobe ohci_hcd

############# end file #############
/ end file

I didn't need to put rmmod b43, b44, b43legacy, bcm43xx, etc because the bcm43xx module has not loaded yet at S01 in rc1.d.

cat /etc/modprobe.d/ndiswrapper

install pci:v000014E4d00004328sv*sd*bc*sc*i* /sbin/modprobe ndiswrapper

/ end file

I tried using the alias pci in the modprobe.d script and the ndiswrapper driver never loaded, a lspci -k revealed that ssb and wl were in use by the kernel with no mention of ndiswrapper. So I tried ndiswrapper -mi and cut out all the extras from the modprobe.d file and voila, it finally worked after a month of fiddling with it. The wifi card persistently works after reboot, so I am very happy.

I still haven't figured out how to use WPA encryption with the card, but WEP 128-bit open system works just fine, so it will have to do for now. I live in a remote area with massive signal interference so I'm not worried about people hacking my network because I get weak reception on my porch and the router is less than 100 feet away (-50 dBm). Someone would have to park in my driveway to borrow my network connection, and I have four wireless security cameras recording the surroundings of my house.

Revision history for this message
Jeremy Brown (jeremy-jbdynamics) wrote :

I was just pasting and editing from levmatta's earlier post, but I made one mistake this is how /etc/init.d/ndiswrapper & /etc/rc1.d/S01ndiswrapper actually look:

#! /bin/sh
### BEGIN INIT INFO
# Provides: ndiswrapper
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: enable to load ndiswrapper
# Description: enable to load ndiswrapper
### END INIT INFO

rmmod ohci_hcd
rmmod ssb
rmmod wl
rmmod ndiswrapper
modprobe ndiswrapper
modprobe ssb
modprobe ohci_hcd
depmod -a

############# end file #############

I hope this helps someone who can't use their bcm4328 wireless card with intrepid ibex.

Also, if anyone has any tips about WPA supplicant and why it doesn't work with WPA encryption, but will work with WEP, please post a response here, because I haven't found anything related to incompatibility with ndiswrapper. I have tried using the ndiswrapper WPA driver in Wicd, but that doesn't connect at all, producing wpa_cli returns results none. It happens for both my locally compiled version and the intrepid wpasupplicant deb package produced binaries.

Revision history for this message
Travis Watkins (amaranth) wrote :

This bug is back in jaunty for me with ndiswrapper and the wl modules. If I unload ssb and load one of those then load ssb again everything works fine.

02:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
 Subsystem: Apple Computer Inc. Device 0088
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0, Cache Line Size: 256 bytes
 Interrupt: pin A routed to IRQ 16
 Region 0: Memory at 90500000 (64-bit, non-prefetchable) [size=16K]
 Region 2: Memory at 90000000 (64-bit, prefetchable) [size=1M]
 Capabilities: <access denied>
 Kernel driver in use: b43-pci-bridge
 Kernel modules: wl, ssb

Changed in linux:
status: Fix Released → Confirmed
Revision history for this message
Travis Watkins (amaranth) wrote :

Sorry, forgot some info:

Linux ronin 2.6.28-9-generic #29-Ubuntu SMP Sun Mar 8 02:02:39 UTC 2009 x86_64 GNU/Linux

Revision history for this message
David Hajage (eusebe) wrote :

I can confirm that the bug is back in jaunty (Dell XPS m1210, wireless 1500 draft 802.11n dual-band wireless) :

lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M)LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation G72M [GeForce Go 7400] (rev a1)
03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC HostController (rev 0a)
03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 05)
03:01.4 System peripheral: Ricoh Co Ltd xD-Picture CardController (rev ff)
0c:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 01)

However, I don't know how to get this working...

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

Can anyone check if this is still an issue on Ubuntu 9.10?

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

Can anyone check if this is still an issue on Ubuntu 10.04 or 10.10?

Revision history for this message
Felix Kuehling (fxkuehl) wrote :

On Ubuntu 10.04 I'm no longer using the NDIS wrapper. Jockey installs a proprietary driver for my wireless network adapter.

Revision history for this message
Oliver Mayer (om) wrote :

in Ubuntu 10.10 i have to do

rmmod ssb
modprobe ndiswrapper

to let my WLAN run..

Revision history for this message
Rafał Miłecki (zajec5) wrote :

I guess you call it regression, because your PCI ID was added to ssb. Yes, we want to auto-load ssb for every SSB-based device. If you want to use non-official (non-mainline) ndiswrapper, just blacklist native driver.

What do you expect to be done in this ticket? I can only suggest fixing ndiswrapper howto and closing this as invalid.

Revision history for this message
Felix Kuehling (fxkuehl) wrote :

When this was bug was first reported 3 years ago, there was no native driver for my wlan adapter. The ndis-wrapper was the only way to get it to work and ssb was getting in the way.

At least in my case this bug can be closed, there is now a driver for my wlan adapter. I don't need the ndis wrapper any more. I'm unsubscribing myself from this bug now.

Revision history for this message
penalvch (penalvch) wrote :

Anders Kaseorg, 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.

summary: - ssb module breaks BCM4328 with ndiswrapper (regression from 2.6.24-10)
+ 14e4:4328 ssb module breaks BCM4328 with ndiswrapper (regression from
+ 2.6.24-10)
tags: added: needs-upstream-testing
description: updated
Changed in linux (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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