It’s been broken for some time, but I’ve discovered a solution via other folks. See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/197558.
Here’s a script (save as /etc/init.d/ndiswrapper) to make this work. Note that this is in addition to the work that must be done to setup ndiswrapper (see https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper or http://linux.dell.com/wiki/index.php/Tech/Wireless/Truemobile_ndiswrapper)
#!/bin/bash # This is a workaround for the following bugs: # https://bugs.launchpad.net/ubuntu/+source/linux/+bug/197558 # https://bugs.launchpad.net/ubuntu/+source/linux/+bug/218763 # The ssb module grabs the BCM4328 device before ndiswrapper # could get it. Since the b44 module depends on ssb, ssb # cannot be removed independently. So, the following script # removes the b44 module (ethernet), then ssb, and ndiswrapper # and then reloads them in the following order so ndiswrapper # services the BCM4328 wireless card before ssb can get it. /sbin/rmmod b44 /sbin/rmmod ssb /sbin/rmmod ndiswrapper /sbin/modprobe ndiswrapper /sbin/modprobe b44
If you want to run this script at boot time (likely), you must do the following:
sudo ln -s /etc/init.d/ndiswrapper /etc/rc2.d/S99ndiswrapper