Dell Vostro 1400

Hardware

CPU: Intel Core 2 Duo CPU @ 1.60 GHz

RAM: 2 GB

WLAN: Dell Wireless 1390 WLAN Mini-Card (BCM4311 802.11b/g WLAN chipset)

Hard drive capacity: 160 GB

Hardware functioning (tested on CentOS 5.3)

CD/DVD read: works

CD/DVD write: not tested

LAN: works

Wireless: Broadcom driver needed, see below

Sound: works (but laptop speakers doesn't mute on line-out connect by default, solution here)

Video: works (but better performance with nVidia drivers)

USB: works

Firewire: not tested

Media card reader: not tested

Touchpad or other pointing device: works (although not full functionality out-of-the-box)

Accelerator buttons: sound control (+/-, mute) works; previous, stop, play/pause, next - doesn't.

Sense battery level: works

Suspend (manual): works

Suspend (close lid): not tested

Wireless installation

By default CentOS installs WLAN hardware and associates it with internal b43 module. It fails to work with this network card (even WLAN LED won't light up), so we need an original driver supplied by the hardware vendor. Luckily, Broadcom provides such.

Let's download a package for appropriate architecture (in my case it's 32 bit). Due to licencing issues CentOS community can not make a RPM package for your convenience, so we'll have to compile and load driver ourselves. Let's start.

Create a directory tree broadcom/driver under your home directory (e. g. ~/broadcom/driver) and unpack downloaded archive. You should then see these files and directories:

lib/
src/
Makefile 

Great. We have our driver source ready. Now we must prepare our OS. By default CentOS doesn't install Kernel development package, headers and rquired compiliers. We setup them running:

yum install kernel-headers kernel-devel gcc 

Let's cd into our directory where we unpacked driver source:

cd ~/broadcom/driver 

And compile WLAN driver as Kernel module:

 make -C /lib/modules/uname -r/build M=pwd 

NOTE! Start here after Kernel upgrade

Copy compilied module to appropriate Kernel's directory:

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

Now we need to disable native CentOS WLAN driver called b43 running on eth1 device by default:

rmmod b43 

In case you ever tried legacy driver or ndiswrapper, make sure you remove them too:

rmmod bcm43xx; rmmod b43legacy; rmmod ndiswrapper 

Blacklist them by adding these lines to /etc/modprobe.d/blacklist:

blacklist b43 

blacklist bcm43xx 

Then find alias eth1 bcm43xx in /etc/modprobe.conf and replace with alias eth1 wl. Also add alias ieee80211_crypt_tkip ieee80211_crypt_tkip at the bottom.

Execute:

depmod -a 

...and:

modprobe ieee80211_crypt_tkip; modprobe wl 

Reboot system. Driver ready, now we need NetworkManager to deal with WLANs. First of all, disable network, because it manages network connections on CentOS by default:

chkconfig network off 

Also disable wpa_supplicant - NetworkManager has it's own tools to deal with WPA encryption:

chkconfig wpa_supplicant off 

Make sure NetworkManager is enabled on startup:

chkconfig NetworkManager on 

And start it now:

service NetworkManager start 

Reboot your system. Enjoy fast WLAN!

Current version of this guide is also available in Lithuanian at Broacom WLAN diegimas CentOS and was discussed on CentOS forums.

Written by Gytis Repecka.

HowTos/Laptops/Dell/Vostro-1400 (last edited 2019-12-09 09:11:37 by anonymous)