Showing posts with label module. Show all posts
Showing posts with label module. Show all posts
Saturday, November 19, 2011
The proper way of having the Broadcom driver load at boot using modprobe
In the Broadcom documentation it mentions to put "modprobe wl" in /etc/rc.local. This strikes me as bad form since hardware detection is done every time you boot. Putting the driver loading in rc.local instead of adding it to modprobe makes it so that any service relying on an active connection won't have one during initial boot, but will after rc.local is run thereby having start up drag on even longer (since all those services will now see an active connection and come alive). A better way is to add the following entry to /etc/modprobe.d/network.conf: install wl0 /sbin/modprobe wl
Important note: make sure the wl driver loads cleanly when you manually run modprobe wl. If the wl driver stops working chances are that you updated your kernel which means you'll need to "make clean ; make ; make install" the driver followed by insmod'ing it followed by a depmod.
Friday, August 19, 2011
A quick and dirty HOWTO for getting Broadcom wifi drivers running on Fedora
This is mainly so I remember exactly how to do it since it is a headache :) Most of this information comes from http://www.broadcom.com/docs/linux_sta/README.txt which has a different procedure that didn't work for me.
NOTE: I would strongly suggest keeping the source directory after you have finished the steps below because you will need to recompile and re-install the module every time the kernel is updated.
1. Download the source for the driver from: http://www.broadcom.com/support/802.11/linux_sta.php
NOTE: There is also a Patch for compilation problem with kernel versions > 2.6.37
NOTE 2: The patch doesn't seem to want to apply cleanly, but since it's only one line that needs to be changed it's not a headache to make the change manually.
2. After extracting the .tgz, but before compiling the source, the include/linuxver.h file needs to be modified.
Add a new line at the end of the file: MODULE_LICENSE("GPL");
Reason: At least with Fedora Core 15 (what I'm using) the kernel will not load tainted modules and this fixes that problem by making the kernel think that this module uses GPL licensed source code. The code isn't really GPL licensed, but it's not a problem as long as you're not distributing it.
2a. Compile and install the module: make ; make install
3. For all Linux distros it is necessary blacklist Broadcom modules that may be present in your distribution so they will not be loaded when Linux is starting up. Depending on your distro the exact method may vary, but for FC15 I created /etc/modprobe.d/broadcom-wl-blacklist.conf of which the contents are:
# modules blacklisted for broadcom-wl
blacklist bcm43xx
blacklist ssb
blacklist b43
blacklist ndiswrapper
NOTE: I would strongly suggest keeping the source directory after you have finished the steps below because you will need to recompile and re-install the module every time the kernel is updated.
1. Download the source for the driver from: http://www.broadcom.com/support/802.11/linux_sta.php
NOTE: There is also a Patch for compilation problem with kernel versions > 2.6.37
NOTE 2: The patch doesn't seem to want to apply cleanly, but since it's only one line that needs to be changed it's not a headache to make the change manually.
2. After extracting the .tgz, but before compiling the source, the include/linuxver.h file needs to be modified.
Add a new line at the end of the file: MODULE_LICENSE("GPL");
Reason: At least with Fedora Core 15 (what I'm using) the kernel will not load tainted modules and this fixes that problem by making the kernel think that this module uses GPL licensed source code. The code isn't really GPL licensed, but it's not a problem as long as you're not distributing it.
2a. Compile and install the module: make ; make install
3. For all Linux distros it is necessary blacklist Broadcom modules that may be present in your distribution so they will not be loaded when Linux is starting up. Depending on your distro the exact method may vary, but for FC15 I created /etc/modprobe.d/broadcom-wl-blacklist.conf of which the contents are:
# modules blacklisted for broadcom-wl
blacklist bcm43xx
blacklist ssb
blacklist b43
blacklist ndiswrapper
4. At this point I suggest rebooting (or you could take the long road and unload all the above modules manually).
5. Run: depmod ; modprobe wl
You should now see your wifi card listed when you do ifconfig -a
Subscribe to:
Posts (Atom)