Installing Broadcom Wireless on a HP zv5340us laptop

Important: All of the information here pertains to installing 32-bit broadcom XP drivers for Linux.
If you need the 64-bit drivers, you may need to go to a different forum.



I recently purchased a HP Pavilion zv5340us laptop computer which I am using on a work project to convert a medical device's software from Solaris to Linux. To get accustomed to the new Linux environment, I converted my laptop from its native XP to a dual-boot XP/FEDORA CORE 3 distro of Linux. I purchased a Linux book with the distro included on 4 CDs.

The actual installation of Fedora on to this system went surprisingly well, except for the 1280x800 video and the Broadcom wireless features of the laptop- both which didn't seem to work. (actually, I didn't have the touch pad either, but that was later fixed by upgrading to a newer kernel...). After much aggravation, I now have everything on the laptop working, including the 1280 x 800 resolution on the video screen.

Since I have visited many, many threads with users having trouble getting their Broadcom wireless devices working, I decided to put this on my Web to help those that haven't been able to get theirs to work.

PLEASE NOTE:

Considering the amount of potential problems with different machines, distro versions, installation types, lack of developer tools, etc., this information in no way guarantees that you will succeed in getting your system to work, but it will show how I was able to get mine to work. It is strictly meant as a guide in getting your version working.  I have found a lot of information on the Web on how to get the ndiswrapper to work, and have eliminated un-needed steps, and condensed the rest down to this. I hope that this can help you.
 

Prerequisites:
 
You need to download two files located here, and get the latest version of ndiswrapper. The only other prerequisite that I know of is that you have to have the Linux developers tools installed on your laptop, including the GCC and G++ compilers. See the installation details of your version of Fedora to load these onto your system.


Kernel version:

I started out with a Fedora 2.6.9 kernel, then updated my core to 2.6.10, and it is running perfectly on the zv5340us. The laptop ran very well on the 2.6.9, though I had some problems with the X functionality which has been fixed on the 2.6.10 build. There are a lot of people telling you that you have to have the kernel source on the system, and will have to build a custom kernel to run the wireless. Others might tell you that ndiswrapper doesn't work on the Fedora; both of these pieces of information are wrong- I got it working, and didn't have to build a custom kernel and ndiswrapper worked perfectly. I would recommend, though that you download the files here to have the same success that I did. Don't get me wrong; getting the thing working was a pain, but now that it is working, I absolutely LOVE this laptop; and so does everyone else that sees it!
 

Downloading:
 
In Linux, from your home directory, create a new directory, by typing
 
mkdir Broadcom
 
Get the latest version of ndiswrapper from http://sourceforge.net/projects/ndiswrapper , then copy these files into your Broadcom directory. I chose to download the 1.1 version instead of the 1.2 beta- it works just fine.
 
Here are two files that work with my Broadcom wlan; download these files, then copy them into your Broadcom directory too. The following two files have bcmw'l'5 as in 'Larry', not '1' as in 'one'.
 

Open a terminal window, type 'su' and type your password (important; this must be done a super user level).

Change to the Broadcom directory by typing 'cd /Broadcom'. Extract the download with

tar zxvf ndiswrapper-1.1.tar.gz

This will create ndiswrapper-version directory. Change to that directory with
 
cd ndiswrapper-1.1


Installation

Once in this directory, type

make install

This step should compile and install both the kernel module and the user space utilities. Next, we have to install your Windows driver; we will use "ndiswrapper" tool to install the driver. In the following directions, replace (your home) with your home directory.

Start off by changing to the utils directory with 

cd /home/(your home)/Broadcom/ndiswrapper-1.1/utils

then direct ndiswrapper to install (-i) the inf file you put in your Broadcom directory:
  

ndiswrapper -i /home/(yourhome)/Broadcom/bcmwl5.inf

This copies all necessary files to /etc/ndiswrapper and creates the config files for your card.

After this install, you can run

ndiswrapper -l

to see the status of your installed drivers. If you have installed the correct driver you should see something like this:


Installed ndis drivers

bcmwl5 driver present, hardware present
 
Where "present" means that you have a card that can be used with the driver installed. In this case, Broadcom driver bcmwl5 is used.
 
then
ndiswrapper -m

to create an alias for wlan0, and save the settings.
 

 
Load the module
 
To load the ndiswrapper module type
 
 
/sbin/modprobe ndiswrapper
 
The command should load with no errors, in which case, the driver should now be loaded. Then type
 
/sbin/ifconfig -a
 
to see the list of devices. If the installation went OK, you should have a wlan device showing. At the end of the list, it will look something like:
wlan0 Link encap:Ethernet HWaddr nn:nn:nn:nn:nn:nn
inet addr:nnn.nn.nnn.nnn Bcast:nnn.nn.nnn.nnn Mask:nnn.nnn.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3147 errors:0 dropped:0 overruns:0 frame:0
TX packets:2855 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1955784 (1.8 MiB) TX bytes:411535 (401.8 KiB)
Memory:e0104000-e0105fff

Configure the interface


If you are in KDE, go to the system tools, and click on the Internet Configuration Wizard. Click on the 'add device', click the 'forward' button, then select the ndiswrapper (wlan0) device as your connection. Follow the instructions to complete the connection.

Once this was done, I was up and running.
 
Good luck!
 


Update, 8/12/05

1) Even though this worked on an un-encoded wireless network, I was uneasy about having an unsecured network running. So I turned on encryption on my network. My Windows XP boot was a slam-dunk getting the network to recognize the encryption settings, but the Linux laptop was another thing. It took a lot of fiddling around, but I was eventually able to get the network up and running, and it didn't require any changes from the above steps. You have to go into the System Settings panel, 'Recommendation: get your network running without encryption first, then once the system is solid, prepare for some new fun.
 
2) Now, I am back home, and set about getting another system up and running with Fedora Core 3. I will attach to a wireless network using a Linksys WDM54G card running RealTek wireless chips. It is a 450MHz system, definitely older technology. The Fedora installation went without a hitch. Now for the wireless. The steps above got me all the way to the new system recognizing the card as wlan0, but the network doesn't connect, even though the card is recognized. It Figures. I will keep working to get this system up, and will post the results here once I have it running- IF I get it running..
 

Update: 11/11/05

Was away for a few weeks, but am back home now, and I finally got time to tackle the 450MHz system. Tonight I got it working with the WDM54G PCI card. This card is based on the RealTek chipsets, and it comes with the rt2500.inf and rt2500.sys files; these files should be used in place of the bcmwl5 files for installation of this card!
These files are included on the Linksys Windows disk.
 
To get it to work: I temporarily installed a NIC card into the 450MHz system, and, over an Ethernet link, performed a complete update of FC3 to version 2.6.12. I then re-installed ndiswrapper. The only difference in the setup is that I used the rt2500 files, instead of the bcmwl files.  The ndiswrapper module was re-installed according to the instructions above. Once I was finished, I logged on as root, went into the 'system settings','network', activated wlan0, then exited with the 'save changes' checkbox checked.
 
Then I rebooted. Once I logged into the new system, I could activate the wlan0 in the network settings, and I was up and running.