> Indeed wl, ssb and b43 take the same modalias space, that's why the > jockey-generated blacklist has this rule: > > # load wl before b44 so that both work > install wl modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install wl $CMDLINE_OPTS; modprobe -Qba b44 > > That means: "if you install wl, remove b43 b44 b43legacy ssb, install > wl, and then load b43 again". b43 and friends won't get autoloaded due > to the blacklisting. I actually thought that this got successfully > tested in the intrepit timeframe, but maybe it was, and it stopped > working in Jaunty. Yes, I had inserted this same line in intrepid /etc/modprobe.d/wl and it was working for me there, so it's definitely a change in jaunty. > At first I'd think that b44 is loaded first, which pulls in ssb as a > dependency, and then the kernel doesn't bother modprobing again, since > there's already a driver which (supposedly) covers the device. However, > you already said that ssb would be loaded first, then b43, then b44? I'm confused by the output of "lshw -C network" which shows this for the ethernet: product: BCM4401-B0 100Base-TX bus info: pci@0000:03:00.0 configuration: broadcast=yes driver=b44 driverversion=2.0 ip=65.191.200.226 latency=64 module=ssb multicast=yes You say the ethernet uses b44 and pulls in ssb as a dependency, but why does it show the module as ssb instead of b44. I guess I'm confused about the difference between a module and a driver. I thought they were the same. I would have expected the driver and module listings to both be b44. Anyway, the output for the wifi shows: product: BCM4328 802.11a/b/g/n bus info: pci@0000:0b:00.0 configuration: driver=b43-pci-bridge latency=0 module=ssb Isnt' the ssb module the reason that the STA "wl" module won't ever get called? Apparently, the "blacklist ssb" statement isn't working (more below). Do we need some blacklist statement for "b43-pci-bridge" (whatever that is, since it's no a module in /lib/modules/). > > Since you already tried blacklisting b44, it seems that something in > udev doesn't respect the blacklist. However, a "grep modprobe > /lib/udev/rules.d" shows that all calls have -b ("use blacklist"). So > I'm quite stunned now. > > Do you happen to have an /etc/modules which explicitly loads b44 or b43 > or ssb? Here's the contents of /etc/modules # /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. loop lp rtc fuse > Also, to checkout whether the blacklist is actually being used, could > you try appending these: > > install b44 echo b44 >> /tmp/modprobe.log; /sbin/modprobe --ignore-install b44 > install b43 echo b43 >> /tmp/modprobe.log; /sbin/modprobe --ignore-install b43 > install ssb echo ssb >> /tmp/modprobe.log; /sbin/modprobe --ignore-install ssb > install wl echo wl >> /tmp/modprobe.log; modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install wl $CMDLINE_OPTS; modprobe -Qba b44 > > (and remove the other install rules for those three, but do keep the > blacklist entries). Do you get a /tmp/modprobe.log? If so, then > something is not adhering the blacklist. This is /etc/modprobe.d/blacklist-bcm43 blacklist bcm43xx blacklist b43 blacklist b43_legacy blacklist ssb # load wl before b44 so that both work #install wl modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install wl $CMDLINE_OPTS; modprobe -Qba b44 blacklist b44 install b44 echo b44 >> /tmp/modprobe.log; /sbin/modprobe --ignore-install b44 install b43 echo b43 >> /tmp/modprobe.log; /sbin/modprobe --ignore-install b43 install ssb echo ssb >> /tmp/modprobe.log; /sbin/modprobe --ignore-install ssb install wl echo wl >> /tmp/modprobe.log; modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install wl $CMDLINE_OPTS; modprobe -Qba b44 After rebooting there is no modprobe.log.