I have a similar issue with BCM4311.
In Fedora 17, I was able to make it work by using b43 or b43legacy (I forget which). Those packages do not seem to be available for Fedora 18.
Is building the driver following the method linked by caf4926 the only way to do it? I like packages. :-/
---------- Post added 24th January 2013 at 12:47 AM ---------- Previous post was 23rd January 2013 at 08:49 PM ----------
Alright, I think I figured this out.
The problem for me was that the kernel module ssb
was running and conflicting with the wl
module. I'm going to assume that you have already installed the broadcom-wl
package from RPMFusion.
First, see if this is what's causing the issue for you by doing this as root:
Do you see it? If so, it's going to cause the wl
module to not load.
If that's the problem, then let's see if unloading ssb
and explicitly loading wl
will help. Again, as root:
# modprobe -r ssb
# modprobe wl
I'm not exactly sure what ssb
is, but it looks like it has something to do with the PCI bus. On some (even most, probably) systems it can be safely disabled. On some, it may cause unexpected things like your keyboard or mouse not working. If this happens, restart the system, and move along. This guide won't help you.
If you don't see wireless networks listed in the Network Manager thing, then try restarting Network Manager as root:
# service NetworkManager restart
Do you see wireless networks now? If you had the same problem that I did, you should.
Okay, great. It works! But once you restart, ssb
will load and wl
will not. We have to fix that.
When you install the broadcom-wl
package, it automatically creates a file in /etc/modprobe.d that blacklists the ssb
kernel module. In our case, that blacklisting was overridden
because another kernel module (in my case, mmc_core
) needed it as a dependency. Luckily for me, and hopefully for you, that module apparently doesn't really need the ssb
By the way, you can see the dependencies by doing this as root:
You'll see ssb
highlighted as a loaded module, but you should also see a second line that shows which module required it as a dependency.
Blacklisting the ssb
module obviously doesn't work.
This is what I did to automatically unload ssb
and load wl
at system start:
As root, place the following script into /etc/init.d, naming it wl:
modprobe -r ssb
Make it executable like so:
Now you need to make sure it runs at the right time during boot. That is, at runlevel 5, and after everything else is done.
This is done by placing a carefully named symlink into /etc/rc5.d. As root:
ln -s /etc/init.d/wl /etc/rc5.d/S98wl
The "S" means "start". You'll see other symlinks that have "K" for kill. The numbers after the S or the K determine in what order it runs (e.g. S00, S01, etc.). I named mine S14, actually. Just make sure it's the last thing that runs. There's probably an S99 in there for the live environment stuff, but I checked, and it doesn't have any bearing on starting ssb. Just leave it alone. So technically, our script will be the penultimate one.
That should be all you need to do. Reboot the system and your wireless should be running. If it's not, it may be because you installed other conflicting stuff like openfwwf. Go ahead and uninstall everything you tried installing, then reinstall the broadcom-wl
This all worked for me. Good luck.