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:
Quote:
# modprobe -r ssb
# modprobe wl
|
WARNING: 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:
Quote:
|
# 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 module.
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:
Quote:
#!/bin/bash
modprobe -r ssb
modprobe wl
|
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:
Quote:
|
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 package.
This all worked for me. Good luck.