How to enable wireless in RHEL 6.0

803

1. Firstly, we must find out what exactly wireless device we own, you can use lspci to list all devices,

# lspci

 

00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor Link Control

01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]

02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8042 PCI-E Fast Ethernet Controller (rev 10)

06:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

Here is my wireless device information: Broadcom Corporation BCM4312 802.11b/g, then we can search the drivers in www.broadcom.com, and download the suitable drivers for your devices, the following is my devices drivers download links.

 

32bit: http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86-32_v5.60.246.6.tar.gz

64bit: http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86-64_v5.60.246.6.tar.gz

readme: http://www.broadcom.com/docs/linux_sta/README.txt

2. Compile the drivers

# tar xvf hybrid-portsrc_x86-64_v5.60.246.6.tar.gz

# ls

lib                Makefile        README.txt      src

# make

# ls

 

built-in.o  Makefile       Module.symvers  src    wl.ko.unsigned  wl.mod.o

lib         modules.order  README.txt      wl.ko  wl.mod.c        wl.o

 

When make completes, It will produce a wl.ko file in the top level directory. 

3. Find out what wireless driver are using now, and install the new driver

# lspci -k 

 

06:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

Subsystem: Hewlett-Packard Company Device 1508

Kernel driver in use: ssb

Kernel modules: ssb

# cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/

# depmon

# modprove wl

# echo “blacklist ssb” >> /etc/modprobe.d/blacklist.conf

# mkinitrd /boot/initrd-`uname -r`.img `uname -r`

# cat >> /boot/grub/grub.conf <

 

> title Red Hat Enterprise Linux (with wireless)

> root (hd0,6)

> kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=UUID=276d526c-8edb-4e6b-8c74-00b40d10544b rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet

> initrd /initrd-2.6.32-71.el6.x86_64.img

> EOF

# reboot 
reboot and use the correct grub entry to boot the kernel use new initrd image.