I figured I'd jot down the steps to enable the Broadcom BCM4312 802.11b/g wifi card in Red Hat Enterprise Linux 6 beta x86_64 (RHEL6).
Broadcom wireless chipsets are very common in laptops. The laptop in this example is a Dell Latitude D630. Broadcom wifi has been a pain to enable in the past, especially in RHEL4.
As you can see in this posting on kernel.org things get a lot easier in kernels later than 2.6.24
First install the b43 packages (Edit: removed b43-tools as it is not a valid package)
$ sudo yum install b43-fwcutter b43-openfwwf
Next verify that your device is supported
$ sudo /sbin/lspci -vnn | grep 14e4
09:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5755M Gigabit Ethernet PCI Express [14e4:1673] (rev 02)
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
Using the full number, in this case 14e4:4315, look it up in this table to ensure that it is supported and which kernel is required.
In this case it should be supported since RHEL 6 beta uses kernel 2.6.32-19 and the minimum requirements listed in the table are kernel 2.6.32. Barely made it :-)
14e4:4315 supported 2.6.32 and later BCM4312 b/g LP b43
Download the Windows drivers
$ mkdir ~/drivers
$ cd ~/drivers
$ wget http://downloads.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
Extract and copy the firmware to /lib/firmware
$ tar -jxf broadcom-wl-4.150.10.5.tar.bz2
$ cd broadcom-wl-4.150.10.5/driver
$ sudo /usr/bin/b43-fwcutter -w /lib/firmware/ wl_apsta_mimo.o
This file is recognised as:
ID : FW13
filename : wl_apsta_mimo.o
version : 410.2160
MD5 : cb8d70972b885b1f8883b943c0261a3c
Extracting b43/pcm5.fw
Extracting b43/ucode15.fw
Extracting b43/ucode14.fw
Extracting b43/ucode13.fw
Extracting b43/ucode11.fw
Extracting b43/ucode9.fw
Extracting b43/ucode5.fw
Extracting b43/lp0bsinitvals15.fw
Extracting b43/lp0initvals15.fw
Extracting b43/lp0bsinitvals14.fw
Extracting b43/lp0initvals14.fw
Extracting b43/a0g1bsinitvals13.fw
Extracting b43/a0g1initvals13.fw
Extracting b43/b0g0bsinitvals13.fw
Extracting b43/b0g0initvals13.fw
Extracting b43/lp0bsinitvals13.fw
Extracting b43/lp0initvals13.fw
Extracting b43/n0absinitvals11.fw
Extracting b43/n0bsinitvals11.fw
Extracting b43/n0initvals11.fw
Extracting b43/a0g1bsinitvals9.fw
Extracting b43/a0g0bsinitvals9.fw
Extracting b43/a0g1initvals9.fw
Extracting b43/a0g0initvals9.fw
Extracting b43/b0g0bsinitvals9.fw
Extracting b43/b0g0initvals9.fw
Extracting b43/a0g1bsinitvals5.fw
Extracting b43/a0g0bsinitvals5.fw
Extracting b43/a0g1initvals5.fw
Extracting b43/a0g0initvals5.fw
Extracting b43/b0g0bsinitvals5.fw
Extracting b43/b0g0initvals5.fw
Next toggle the wifi radio switch, once it's switched back to the on position, the wifi light should begin flashing.
The lsmod command should now list the b43 module
$ /sbin/lsmod | grep -i b43
b43 204044 0
mac80211 231588 1 b43
cfg80211 142707 2 b43,mac80211
ssb 56886 1 b43
mmc_core 72904 2 b43,ssb
At this point you can either add the wlan0 device manually, or you can reboot and allow the system to detect and configure it.
Following the reboot (or adding the device manually) you should now see wlan0 in the ifconfig output, and see available networks via Network Manager.