10
10
<!ENTITY language "&EnglishAmerican;">
12
12
<chapter id="wireless-chap" status="review">
13
<title id="wireless-index">Wireless networking and internet connectivity.</title>
14
<para>Tutorials to get your WiFi up and running.</para>
15
<sect1 id="wireless-broadcom4311-hardy" status="review" >
16
<title>How-To: Dell 1390 WLAN (Broadcom 4311) for Laptops using ndiswrapper HARDY</title>
17
<sect2 id="wireless-broadcom-intro" status="review">
18
<title>Introduction and notes</title>
19
<caution>This how to is <emphasis role="bold">Hardy</emphasis> specific. For ealier versions please refer to this forum <ulink type="http" url="http://ubuntuforums.org/showthread.php?t=297092">thread</ulink>.</caution>
20
<emphasis>Originally posted by <ulink type="http" url="http://ubuntuforums.org/member.php?u=322576">Jw5801</ulink> in this <ulink type="http" url="http://ubuntuforums.org/showthread.php?t=760568">forum thread</ulink></emphasis>
21
<para>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).</para>
23
<tip>The how-to has been tested and found to work on both AMD64 and i386 installs of Ubuntu Hardy Heron.</tip>
25
<note> There is no <filename>linux-ubuntu-modules</filename> meta-package that can be used to install new versions of this package whenever a kernel update is pushed through.</note>
27
<para> Therefore, everytime you install a new kernel, make sure to also install the corresponding <filename>linux-ubuntu-modules</filename> package, for example:<screen><command>sudo apt-get install linux-ubuntu-modules-2.6.24-19-generic</command></screen></para>
29
<sect2 id="wireless-broadcom-check" status="review">
30
<title>Pre-installation check</title>
31
<para>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.</para>
33
<para>To check that you have the same card that this how-to is written for, run the following command:<screen><command>lspci -nn | grep 14e4</command></screen>
34
Your output should be similar to this:
35
<screen>05:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG wlan mini-PCI <emphasis role="bold">[14e4:4311]</emphasis> (rev 01)</screen></para>
36
<para>The section in <emphasis role="bold">bold</emphasis> is the important part. <emphasis>If that part doesn't match then you will need a different driver to use with ndiswrapper.</emphasis> The how-to should still be valid however! If you don't have the same WiFi card, have a look at the list of <ulink type="http" url="http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/">supported cards</ulink>, and it should point you in the right direction for a driver to use</para>
38
<sect2 id="wireless-broadcomm-step1">
39
<title>Step 1: Obtaining the required packages</title>
40
<tip>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.</tip>
41
<para>Most of the work from here on will be done from the command line. Open a terminal by selecting &terminal;, and use it to create your working directory:
42
<screen><command>mkdir ~/wireless-install
13
<title id="wireless-index">Wireless networking and internet
16
<para>Tutorials to get your WiFi up and running.</para>
18
<sect1 id="wireless-broadcom4311-hardy" status="review">
19
<title>How-To: Dell 1390 WLAN (Broadcom 4311) for Laptops using
20
ndiswrapper HARDY</title>
22
<sect2 id="wireless-broadcom-intro" status="review">
23
<title>Introduction and notes</title>
25
<caution>This how to is <emphasis role="bold">Hardy</emphasis> specific.
26
For ealier versions please refer to this forum <ulink type="http"
27
url="http://ubuntuforums.org/showthread.php?t=297092">thread</ulink>.</caution>
29
<emphasis>Originally posted by <ulink type="http"
30
url="http://ubuntuforums.org/member.php?u=322576">Jw5801</ulink> in this
32
url="http://ubuntuforums.org/showthread.php?t=760568">forum
33
thread</ulink></emphasis>
35
<para>This How-To describes how to get WiFi working with the Broadcom
36
1390 WLAN offered in many Dell and HP laptops using ndiswrapper. Many of
37
us use ndiswrapper as an alternative to the native drivers (b43), as we
38
feel the native drivers have not quite reached a point where they
39
compare with ndiswrapper, usually this relates to only being able to use
40
802.11b connections (11Mbps) as opposed to 802.11g (54Mbps).</para>
42
<tip>The how-to has been tested and found to work on both AMD64 and i386
43
installs of Ubuntu Hardy Heron.</tip>
45
<note>There is no <filename>linux-ubuntu-modules</filename> meta-package
46
that can be used to install new versions of this package whenever a
47
kernel update is pushed through.</note>
49
<para>Therefore, everytime you install a new kernel, make sure to also
50
install the corresponding <filename>linux-ubuntu-modules</filename>
51
package, for example:<screen><command>sudo apt-get install linux-ubuntu-modules-2.6.24-19-generic</command></screen></para>
54
<sect2 id="wireless-broadcom-check" status="review">
55
<title>Pre-installation check</title>
57
<para>It's important to note that many people struggle to get wireless
58
working simply because they have unsuccessfully tried a variety of
59
methods and left their system in a shambles. If you've been playing
60
around with alternative methods there's a good chance you won't be able
61
to get this to work until you reverse any previous changes you may have
62
made. It's perhaps best to come straight to this How-To after a fresh
65
<para>To check that you have the same card that this how-to is written
66
for, run the following command:<screen><command>lspci -nn | grep 14e4</command></screen>
67
Your output should be similar to this: <screen>05:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG
68
wlan mini-PCI <emphasis role="bold">[14e4:4311]</emphasis> (rev 01)</screen></para>
70
<para>The section in <emphasis role="bold">bold</emphasis> is the
71
important part. <emphasis>If that part doesn't match then you will need
72
a different driver to use with ndiswrapper.</emphasis> The how-to should
73
still be valid however! If you don't have the same WiFi card, have a
74
look at the list of <ulink type="http"
75
url="http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/">supported
76
cards</ulink>, and it should point you in the right direction for a
80
<sect2 id="wireless-broadcomm-step1">
81
<title>Step 1: Obtaining the required packages</title>
84
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.
87
<para>Most of the work from here on will be done from the command line.
88
Open a terminal by selecting &terminal;, and use it to create your
89
working directory: <screen><command>mkdir ~/wireless-install
43
90
cd ~/wireless-install</command></screen></para>
45
<para>First we need to obtain the correct <emphasis role="bold">XP</emphasis> driver (Vista drivers <emphasis role="bold">WILL NOT WORK</emphasis> with ndiswrapper) for this chipset. We will also install some extra packages. This is easy if you have access to the internet (via a wired connection or otherwise):
46
<screen><command>wget http://ftp.us.dell.com/network/R151519.EXE</command></screen></para>
47
<warning>If lspci above showed that you had a different chipset, this driver won't work. You're welcome to try using a different driver, however ndiswrapper is a temperamental thing, so I can't guarantee it will work with just any driver.</warning>
48
<tip> A google search for the number relating to your card, ie. 14e4:4315 or 14e4:4318, and ndiswrapper should return a driver you can use quite quickly.</tip>
50
<para>Next install ndiswrapper. The latest version is available from the Hardy 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.<screen><command>sudo apt-get update
92
<para>First we need to obtain the correct <emphasis
93
role="bold">XP</emphasis> driver (Vista drivers <emphasis
94
role="bold">WILL NOT WORK</emphasis> with ndiswrapper) for this chipset.
95
We will also install some extra packages. This is easy if you have
96
access to the internet (via a wired connection or otherwise): <screen><command>wget http://ftp.us.dell.com/network/R151519.EXE</command></screen></para>
99
If lspci above showed that you had a different chipset, this driver won't work. You're welcome to try using a different driver, however ndiswrapper is a temperamental thing, so I can't guarantee it will work with just any driver.
103
A google search for the number relating to your card, ie. 14e4:4315 or 14e4:4318, and ndiswrapper should return a driver you can use quite quickly.
106
<para>Next install ndiswrapper. The latest version is available from the
107
Hardy repositories which is a rather nice change for those of us who are
108
used to the need to recompile ndiswrapper on every kernel change!
109
Although, on that note, the most recent kernel update didn't install the
110
modules that were needed alongside it, so I'll include the installation
111
here.<screen><command>sudo apt-get update
51
112
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9
52
sudo apt-get install linux-ubuntu-modules-$(uname -r)</command></screen> </para>
113
sudo apt-get install linux-ubuntu-modules-$(uname -r)</command></screen></para>
54
<para>If you have no internet access on your Ubuntu machine then you'll need to get the appropriate driver from <ulink type="ftp" url="http://ftp.us.dell.com/network/R151519.EXE">here</ulink> and copy it to your working directory,<filename role="directory">~/wireless-install</filename>. The packages can be installed from your trusty Hardy LiveCD (a Gutsy, or any other, LiveCD WILL NOT WORK):<screen><command>sudo mount /dev/cdrom /cdrom
115
<para>If you have no internet access on your Ubuntu machine then you'll
116
need to get the appropriate driver from <ulink type="ftp"
117
url="http://ftp.us.dell.com/network/R151519.EXE">here</ulink> and copy
118
it to your working directory,<filename
119
role="directory">~/wireless-install</filename>. The packages can be
120
installed from your trusty Hardy LiveCD (a Gutsy, or any other, LiveCD
121
WILL NOT WORK):<screen><command>sudo mount /dev/cdrom /cdrom
55
122
sudo apt-cdrom add -m
56
123
sudo apt-get update
57
124
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9</command></screen></para>
59
<sect2 id="wireless-broadcomm-step2" status="review">
60
<title>Preventing the native modules from interfering with ndiswrapper</title>
61
<important>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 <filename role="directory">/etc/modules</filename> file that loads ndiswrapper.</important>
62
<para>In order for this part of the how-to to work you'll need to remove that line:
64
gksudo gedit /etc/modules</command></screen>
66
Delete any lines that contain "ndiswrapper".</para>
67
<para>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 <filename> /etc/modprobe.d/blacklist </filename>:<screen><command>echo blacklist b43 | sudo tee -a /etc/modprobe.d/blacklist
127
<sect2 id="wireless-broadcomm-step2" status="review">
128
<title>Preventing the native modules from interfering with
132
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
134
<filename role="directory">/etc/modules</filename>
136
file that loads ndiswrapper.
139
<para>In order for this part of the how-to to work you'll need to remove
140
that line: <screen><command>
141
gksudo gedit /etc/modules</command></screen> Delete any lines that contain
142
"ndiswrapper".</para>
144
<para>This process is not quite as simple as it has been in the past due
145
to the different native modules and how they interact with each other.
146
So firstly we're going to blacklist a few things by adding them to
147
<filename> /etc/modprobe.d/blacklist </filename>:<screen><command>echo blacklist b43 | sudo tee -a /etc/modprobe.d/blacklist
68
148
echo blacklist b43legacy | sudo tee -a /etc/modprobe.d/blacklist</command></screen></para>
69
<tip>You can do this with any text editor. I like the fancy way, because it means you can copy and paste just one command and removes the chance of typos.</tip>
71
<para>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. 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 <filename>/etc/rc.local</filename>. To do this we need to edit the file:<screen><command>gksudo gedit /etc/rc.local</command></screen></para>
72
<para>Feel free to replace <application>gedit</application> with the text editor of your choice (<application>kate, mousepad, emacs, nano, vi, bluefish</application>, etc), then add the following to lines to the end of the script, just before the "exit 0":<screen><command>modprobe -r b44
151
You can do this with any text editor. I like the fancy way, because it means you can copy and paste just one command and removes the chance of typos.
154
<para>We also need to add a bootscript to load a couple of modules in an
155
order that suits us. The reason being that the ssb module takes control
156
of our card, thus preventing ndiswrapper from controlling it. Ssb is
157
required by the b44 driver, which handles wired broadcom cards, so we
158
can't just blacklist it. If you would like (and know how to), you can
159
easily use a new script to do this, however the easiest way I find is to
160
add it to <filename>/etc/rc.local</filename>. To do this we need to edit
161
the file:<screen><command>gksudo gedit /etc/rc.local</command></screen></para>
163
<para>Feel free to replace <application>gedit</application> with the
164
text editor of your choice (<application>kate, mousepad, emacs, nano,
165
vi, bluefish</application>, etc), then add the following to lines to the
166
end of the script, just before the "exit 0":<screen><command>modprobe -r b44
74
168
modprobe ndiswrapper
75
169
modprobe b44</command></screen></para>
76
<para>To give you an idea, my /etc/rc.local now looks like this:<screen>
171
<para>To give you an idea, my /etc/rc.local now looks like this:<screen>
100
<sect2 id="wireless-broadcomm-step3" status="review">
101
<title>Installing the driver with ndiswrapper</title>
102
<para>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:<screen><command>cd ~/wireless-install/
195
<sect2 id="wireless-broadcomm-step3" status="review">
196
<title>Installing the driver with ndiswrapper</title>
198
<para>Now we're going to use the driver we downloaded from the Dell
199
website (note that it doesn't matter if your laptop is not a Dell, this
200
driver should still work if you have the same chipset) to give
201
ndiswrapper all it needs to access our card:<screen><command>cd ~/wireless-install/
103
202
unzip -a R151519.EXE -d R151519/
104
203
cd R151519/DRIVER/
105
sudo ndiswrapper -i bcmwl5.inf</command></screen>
107
<para>You should be just a reboot away from having a working wireless card:<screen><command>sudo shutdown -r now</command></screen></para>
108
<para>If you'd like to verify it's working properly without the need for a reboot, try the following series of commands. If your laptop has a wifi-light it should light up after you <command>modprobe ndiswrapper</command>.
109
<screen><command>sudo rmmod b43 b44 ssb
204
sudo ndiswrapper -i bcmwl5.inf</command></screen></para>
206
<para>You should be just a reboot away from having a working wireless
207
card:<screen><command>sudo shutdown -r now</command></screen></para>
209
<para>If you'd like to verify it's working properly without the need for
210
a reboot, try the following series of commands. If your laptop has a
211
wifi-light it should light up after you <command>modprobe
212
ndiswrapper</command>. <screen><command>sudo rmmod b43 b44 ssb
110
213
sudo modprobe ndiswrapper
111
214
sudo modprobe b44</command></screen></para>
112
<note>This is essentially what the script we added to /etc/rc.local does, only that script doesn't need to remove the b43 module as it is blacklisted and will not be loaded.</note>
114
<sect2 id="wireless-broadcomm-step3">
115
<title>Cleaning up</title>
116
<para>Once you're happy everything is working well, you can safely remove the working directory:<screen><command>rm -r ~/wireless-install</command></screen></para>
117
<para>Or you could keep it on hand for future reference!</para>
119
<sect2 id="wireless-broadcomm-step4" status="review">
120
<title>Troubleshooting</title>
121
<para>If you have any trouble with the How-To or it doesn't work as expected please post in the <ulink type="http" url="http://ubuntuforums.org/showthread.php?t=760568">thread</ulink>. 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:<screen><command>lspci -nn | grep 14e4
217
This is essentially what the script we added to /etc/rc.local does, only that script doesn't need to remove the b43 module as it is blacklisted and will not be loaded.
221
<sect2 id="wireless-broadcomm-step3">
222
<title>Cleaning up</title>
224
<para>Once you're happy everything is working well, you can safely
225
remove the working directory:<screen><command>rm -r ~/wireless-install</command></screen></para>
227
<para>Or you could keep it on hand for future reference!</para>
230
<sect2 id="wireless-broadcomm-step4" status="review">
231
<title>Troubleshooting</title>
233
<para>If you have any trouble with the How-To or it doesn't work as
234
expected please post in the <ulink type="http"
235
url="http://ubuntuforums.org/showthread.php?t=760568">thread</ulink>. I
236
check the thread quite often and I'm always happy to help. It's also
237
possible there's something I've missed which I can then incorporate into
238
the How-To for everyone else to benefit from. If you're posting seeking
239
help, please include the outputs of the following commands:<screen><command>lspci -nn | grep 14e4
124
242
lsmod | grep ndiswrapper
125
243
ls -l /etc/rc.local</command></screen></para>
126
<para>Include anything else you think is relevant. Please include long code outputs in <emphasis role="bold">[code]</emphasis> tags (the # button in the advanced edit view) so they're easier to read.</para>
128
<sect2 id="wireless-broadcomm-step5" status="review">
129
<title>Uninstalling</title>
130
<para>If for some reason you'd like to remove everything that this how-to has done, it's rather simple.
131
To undo the file changes we made:<screen><command>gksudo gedit /etc/modprobe.d/blacklist
245
<para>Include anything else you think is relevant. Please include long
246
code outputs in <emphasis role="bold">[code]</emphasis> tags (the #
247
button in the advanced edit view) so they're easier to read.</para>
250
<sect2 id="wireless-broadcomm-step5" status="review">
251
<title>Uninstalling</title>
253
<para>If for some reason you'd like to remove everything that this
254
how-to has done, it's rather simple. To undo the file changes we
255
made:<screen><command>gksudo gedit /etc/modprobe.d/blacklist
132
256
# Remove the line we added: "blacklist b43"
133
257
gksudo gedit /etc/rc.local
134
258
# Remove the four modprobe lines we added</command></screen></para>
135
<para>Remove the driver we told ndiswrapper to use:<screen><command>sudo modprobe -r ndiswrapper
260
<para>Remove the driver we told ndiswrapper to use:<screen><command>sudo modprobe -r ndiswrapper
136
261
sudo ndiswrapper -e bcmwl5</command></screen></para>
137
<para>Remove ndiswrapper:<screen><command>sudo apt-get remove ndiswrapper-common ndiswrapper-utils</command></screen></para>
139
<sect2 id="wireless-broadcomm-changelog">
140
<title>ChangeLog</title>
263
<para>Remove ndiswrapper:<screen><command>sudo apt-get remove ndiswrapper-common ndiswrapper-utils</command></screen></para>
266
<sect2 id="wireless-broadcomm-changelog">
267
<title>ChangeLog</title>
142
270
21/04/08: Made minor clarifications to layout
143
271
22/04/08: Added Troubleshooting section
144
272
26/04/08: Added redundancy for users with no broadcom wired card