![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
|
Tutorials & Tips The place to find Ubuntu related Tips & Tricks. |
| View Poll Results: Did this work for you? | |||
| Yes |
|
92 | 79.31% |
| No |
|
24 | 20.69% |
| Voters: 116. You may not vote on this poll | |||
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Dark Roasted Ubuntu
![]() |
How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
This How-To describes how to get WiFi working with the Broadcom 1390 WLAN offered in many Dell and HP laptops using ndiswrapper. Many of us use ndiswrapper as an alternative to the native drivers (b43), as we feel the native drivers have not quite reached a point where they compare with ndiswrapper, usually this relates to only being able to use 802.11b connections (11Mbps) as opposed to 802.11g (54Mbps).
The how-to has been tested and found to work on both AMD64 and i386 installs of Ubuntu Hardy Heron, and should also work on all future versions. If you have any troubles, leave a post and I'll do my best to sort them out. NOTICE: There is no 'linux-ubuntu-modules' meta-package that can be used to install new versions of this package whenever a kernel update is pushed through. Therefore, everytime you install a new kernel, make sure to also install the corresponding linux-ubuntu-modules package, for example: Code:
sudo apt-get install linux-ubuntu-modules-2.6.24-19-generic The How-To is loosely based on Paperdiesel's How-To for earlier versions of Ubuntu which can be found here. If you are running a version older than Hardy, you should refer to paperdiesel's How-To. DISCLAIMER It's important to note that many people struggle to get wireless working simply because they have unsuccessfully tried a variety of methods and left their system in a shambles. If you've been playing around with alternative methods there's a good chance you won't be able to get this to work until you reverse any previous changes you may have made. It's perhaps best to come straight to this How-To after a fresh install. To check that you have the same card that this how-to is written for, run the following command: Code:
lspci -nn | grep 14e4 Code:
05:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG wlan mini-PCI [14e4:4311] (rev 01) STEP 1: OBTAINING THE REQUIRED PACKAGES Thankfully, Hardy (and onwards) includes a new enough version of ndiswrapper to remove the need for installing it from source. This saves a lot of trouble during the install process. For the install process I find it best to create a separate working directory to get all this done in. You can use whatever directory you'd like so long as you're consistent, if you're unsure copy the way I've done it. Most of the work from here on will be done from the command-line, so open up a terminal (Applications > Accessories > Terminal), and use it to create your working directory: Code:
mkdir wireless-install cd wireless-install Code:
wget http://ftp.us.dell.com/network/R151519.EXE Next install ndiswrapper. The latest version is available from the repositories which is a rather nice change for those of us who are used to the need to recompile ndiswrapper on every kernel change! Although, on that note, the most recent kernel update didn't install the modules that were needed alongside it, so I'll include the installation here. Code:
sudo apt-get update sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9 sudo apt-get install linux-ubuntu-modules-$(uname -r) Code:
sudo mount /dev/cdrom /cdrom sudo apt-cdrom add -m sudo apt-get update sudo apt-get install ndiswrapper-common ndiswrapper-utils linux-ubuntu-modules-$(uname -r) STEP 2: PREVENTING THE NATIVE MODULES FROM INTERFERING WITH NDISWRAPPER NOTE FOR ANYONE WHO IS NOT USING A FRESH INSTALL If you used ndiswrapper in Gutsy and upgraded directly to Hardy (or tried another method before coming here), odds are good that you'll have a line in the /etc/modules file that loads ndiswrapper, in order for this part of the how-to to work you'll need to remove that line: Code:
gksudo gedit /etc/modules #if under KDE, replace gksudo with kdesudo and gedit with kedit END NOTE This process is not quite as simple as it has been in the past due to the different native modules and how they interact with each other. So firstly we're going to blacklist a few things by adding them to the /etc/modprobe.d/blacklist file: Code:
echo blacklist b43 | sudo tee -a /etc/modprobe.d/blacklist echo blacklist b43legacy | sudo tee -a /etc/modprobe.d/blacklist echo blacklist wl | sudo tee -a /etc/modprobe.d/blacklist NOTE II: The wl module is a new addition and is intended for the 4315 chipset, but there have been reports of it also being loaded for the 4311 chipset (it doesn't appear to work at all, however). If anyone is interested, b43 (and b43legacy) are the in-kernel drivers, these are the supported open source drivers (which I've never found to work particularly well). wl however appears to be Ubuntu only and is found in ubuntu-restricted-extras, so if you don't have this package installed, there's no need to blacklist this module, however doing so can't harm anything. We also need to add a bootscript to load a couple of modules in an order that suits us. The reason being that the ssb module takes control of our card, thus preventing ndiswrapper from controlling it, however ssb is required by the b44 driver, which handles wired broadcom cards, so we can't just blacklist it. If you would like (and know how to), you can easily use a new script to do this, however the easiest way I find is to add it to /etc/rc.local. To do this we need to edit the file: Code:
gksudo gedit /etc/rc.local #if under KDE, replace gksudo with kdesudo and gedit with kedit Code:
modprobe -r b44 modprobe -r ssb modprobe ndiswrapper modprobe b44 Code:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. ## Loading ndiswrapper and b44 in correct order modprobe -r b44 modprobe -r ssb modprobe ndiswrapper modprobe b44 exit 0 STEP 3: INSTALLING THE DRIVER WITH NDISWRAPPER Now we're going to use the driver we downloaded from the Dell website (note that it doesn't matter if your laptop is not a Dell, this driver should still work if you have the same chipset) to give ndiswrapper all it needs to access our card: Code:
cd ~/wireless-install/ unzip -a R151519.EXE -d R151519/ cd R151519/DRIVER/ sudo ndiswrapper -i bcmwl5.inf NOTE II: For those of you who have funky fonts in the forum, the driver is a lower caps BCMWL5.inf. Some confusion has occurred as to whether the "L" is a "1" or an "I", hopefully that clarifies! And that's it! You should be just a reboot away from having a working wireless card: Code:
sudo shutdown -r now Code:
sudo rmmod b43 b44 ssb sudo modprobe ndiswrapper sudo modprobe b44 CLEANING UP Once you're happy everything is working well, you can safely remove the working directory: Code:
rm -r ~/wireless-install TROUBLESHOOTING If you have any trouble with the How-To or it doesn't work as expected please post in the thread. I check the thread quite often and I'm always happy to help. It's also possible there's something I've missed which I can then incorporate into the How-To for everyone else to benefit from. If you're posting seeking help, please include the outputs of the following commands: Code:
lspci -nn | grep 14e4 ndiswrapper -l ndiswrapper -v lsmod | grep b43 lsmod | grep ndiswrapper ls -l /etc/rc.local cat /etc/rc.local lshw -C network UNINSTALLING If for some reason you'd like to remove everything that this how-to has done, it's rather simple: Undo the file changes we made: Code:
gksudo gedit /etc/modprobe.d/blacklist # Remove the line we added: "blacklist b43" gksudo gedit /etc/rc.local # Remove the four modprobe lines we added Code:
sudo modprobe -r ndiswrapper sudo ndiswrapper -e bcmwl5 Code:
sudo apt-get remove ndiswrapper-common ndiswrapper-utils Changelog: 21/04/08: Made minor clarifications to layout 22/04/08: Added Troubleshooting section 26/04/08: Added redundancy for users with no broadcom wired card 26/04/08: Added note for Gutsy upgraders 01/05/08: Added blacklist for b43legacy 10/05/08: Fixed old link 11/05/08: Added link to NDISwrapper wiki (list of supported cards) 04/06/08: Added extra package to install 08/07/08: Updated troubleshooting 24/07/08: Added redundancy for KDE users 09/09/09: Added code to blacklist wl (meant for 4315 chipset and included in ubuntu-restricted-extras) 11/11/09: Cleaned up the introduction a bit Last edited by jw5801; November 11th, 2009 at 12:20 AM.. |
|
|
|
|
|
#2 |
|
Just Give Me the Beans!
![]() Join Date: Nov 2007
Beans: 49
Ubuntu 8.04 Hardy Heron
|
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
Worked like a charm on my Compaq/HP lappy.
![]()
__________________
When Ubuntu moves into The Cloud, I'll be moving out of Ubuntu. |
|
|
|
|
|
#3 |
|
First Cup of Ubuntu
![]() Join Date: Apr 2008
Beans: 6
|
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
Didn't work for my on Dell e1505.
|
|
|
|
|
|
#4 |
|
First Cup of Ubuntu
![]() Join Date: Apr 2008
Beans: 6
|
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
Well, after running
Code:
modprobe -r b44 modprobe -r b43 modprobe -r ssb modprobe -r ndiswrapper modprobe ndiswrapper modprobe b44 |
|
|
|
|
|
#5 |
|
Dark Roasted Ubuntu
![]() |
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
That's exactly what the startup script in /etc/rc.local does, only without removing b43 since b43 is blacklisted and won't be loaded anyway. Does it still work on reboot, or do you need to manually run those commands each time you log in?
__________________
| How to use [CODE] tags |-| GParted LiveCD |-| Mark threads as "SOLVED" |-| Broadcom 4311 with ndiswrapper | |
|
|
|
|
|
#6 |
|
First Cup of Ubuntu
![]() |
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
thanks a lot! works on BCM94311MCG
|
|
|
|
|
|
#7 |
|
First Cup of Ubuntu
![]() Join Date: Mar 2008
Beans: 5
|
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
i followed all the instructions but the wireless card is not workin yet.
I have a Hp pavillion dv9410us with hardy 64 bit My card is a [14e4:4311] (rev 02). this is the result of the command in the troubleshooting section: davidefergnani@davidefergnani-laptop:~$ lscpi -nn | grep 14e4 bash: lscpi: command not found davidefergnani@davidefergnani-laptop:~$ ndiswrapper -l bcmwl5 : driver installed device (14E4:4311) present (alternate driver: ssb) davidefergnani@davidefergnani-laptop:~$ lsmod | grep b43 davidefergnani@davidefergnani-laptop:~$ lsmod | grep ndiswrapper ndiswrapper 243872 0 usbcore 169904 5 ndiswrapper,uvcvideo,ohci_hcd,ehci_hcd davidefergnani@davidefergnani-laptop:~$ ls -l /etc/rc.local i dont understand why is not working. i followed all the instructions |
|
|
|
|
|
#8 | |
|
Dark Roasted Ubuntu
![]() |
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
Quote:
Code:
sudo modprobe -r b44 sudo modprobe -r ssb sudo modprobe ndiswrapper Code:
iwlist scan ifconfig
__________________
| How to use [CODE] tags |-| GParted LiveCD |-| Mark threads as "SOLVED" |-| Broadcom 4311 with ndiswrapper | |
|
|
|
|
|
|
#9 | |
|
First Cup of Ubuntu
![]() Join Date: Sep 2007
Location: Italy
Beans: 4
|
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
Quote:
|
|
|
|
|
|
|
#10 |
|
First Cup of Ubuntu
![]() Join Date: Apr 2008
Beans: 6
|
Re: How-To: Dell 1390 WLAN (Broadcom 4311 [14e4:4311]) for Laptops using ndiswrapper
I made a script with the commands in it and added it to the /etc/init.d so that it would run everytime I turn on the computer, all by itself
|
|
|
|
| Bookmarks |
| Tags |
| 1390 wlan, broadcom, dell, hardy, ndiswrapper, wireless |
| Thread Tools | |
| Display Modes | |
|
|