Share your knowledge at the LQ Wiki.
Go Back > Forums > Linux Forums > Linux - Newbie
User Name
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!


  Search this Thread
Old 01-16-2009, 08:13 PM   #1
LQ Newbie
Registered: Jan 2006
Location: Pittsburgh
Distribution: Debian Etch
Posts: 4

Rep: Reputation: 0
Question Switching to Linux!!! Wireless PCMCIA Card Broadcom 4306 Kernel 2.6.18

Hi all!

Finally stepped into setting up a working Linux system after months of reading. My first project was a self built box AMD64 Dual Core with 2 HD's. One with XP MCE SP3 and the other with Debian Etch. Only thing left to do with it is the TV tuner card and XP will be blown.

Currently I am working on a older HP ze4600 with an AMD 32 bit processor. Runs like a dream with only one hitch - the PCMCIA Wireless card. The card worked without issue under the MS system but having all kinds of issues getting it up in Linux. I am using a newer Gateway FX to make this post - hopefully as I type the messages from the HP I will not leave anything out.

Ok, the environment:
I have a home network set up using a Microsoft Wireless Router MN-720 with 2 desktops wired, and 3 laptops using wireless and a desktop using wireless (large family at home!). Open authentication (no WEP or WPA) only rely on MAC filtering for now.

The specs:
Linux Kernel: uname -r = 2.6.18-6-486
The card: Microsoft Notebook Adapter MN-700
Chipset: Broadcom 4306

At first, out of the box installation the card's LEDs did not even light up. Did the research and investigation to discover the PCMCIA slot was recognized correctly but several issues have been identified with the Broadcom chipset related to proprietary drivers. So...

I downloaded bcm43xx-fwcutter and compiled it. Then extracted the .sys file from the manufacturer's CD and ran the cutter on it to extract the firmware and rebooted. Viola! LED's are lighting! Power light is steady and occasionally I can see the activity light blinking.

However, now comes the issue I have been trying to resolve for over 4 days now. I cannot get connected to my home network! I have tried several configurations in the /etc/network/interfaces file to no avail.

iwlist scan finds my router with correct Address (validated by checking MAC address of router), correct ESSID, Protocol:IEEE 802.11g, Mode:Master, correct channel, Encryption keyff, multiple bitrates, Quality=100/100, Signal Level=-176 dBm

iwconfig reports IEEE 802.11b/g ESSID=off/any Nickname:"Broadcom 4306" Mode:Managed Frequency=2.484 GHz Access Point:Invalid Bit Rate=1 Mb/s Tx-Power=15dBm RTS thrff Fragment thrff Encryption keyff Link Quality:0 Signal level:0 Noise level:0 and a few other stats.

So, I do a iwconfig ESSID to set the proper ESSID and the ESSID updates yet I still have an Access Point:Invalid. I then tried iwconfig ap 00:00:00:00:00:00 (with the correct hardware address as reported with iwlist) and it remains Access Point:Invalid.

I checked dhclient and it sends DHCPREQUEST on eth0 to port 67 and several DHCPDISCOVER on eth0 to port 67 interval 17 (intervals 12, 16,3) only to exit with No DHCPOFFERS received.

Needless to say, I am stumped. I write this post while connected to my wireless network on my Gateway FX laptop, sitting right next to my Linux Laptop so I know my network is up and running - just cannot seem to get the card to connect. One thing to note, during boot up I do see a lot of messages regard bcm43xx: TODO Incomplete code in keymac_write() at drivers/net/wireless/bcm43xx/bcm43xx_main.c:1128 (and additional lines ending with 1130). I know a little C from programming days however I can not find this path/file in my file system to investigate.

Any help or guidance you can provide a Linux newbie will be greatly appreciated!
Old 01-17-2009, 08:09 AM   #2
LQ Veteran
Registered: Feb 2003
Location: Maryland
Distribution: Slackware
Posts: 7,803
Blog Entries: 1

Rep: Reputation: 416Reputation: 416Reputation: 416Reputation: 416Reputation: 416
Welcome to LQ!

Today's first lesson: Broadcom sucks. They suck less than they used to, but they still suck.

Now onto more constructive advice.

Fortunately the 4306 is one of the easier chipsets to get working, and you really have two choices. The first is using the native Linux driver, called b43, that is likely already loaded. Have a look at the output of lsmod and you'll probably see b43 in the list. The catch is that while b43 is there, the firmware needed to run the card almost certainly hasn't been installed since it is proprietary. To create the firmware files you need to install a program called fwcutter and run it against a Windows driver. There is an explanation here. That said, there may already be a Debian package with the firmware available. It won't be on the main Debian repositories, but some searching might help. If you're feeling really adventurous, there is a beta of open source firmware for the 4306 here.

The second option is to install ndsiwrapper and a Windows driver. Ndiswrapper is a kernel module that allows Windows wireless drivers to function in Linux. There are install instructions for ndiswrapper all over this site and the Internet, so you shouldn't have any trouble finding a good set. The catch here is that you need to blacklist b43 so that it doesn't load and cause a conflict.
Old 01-17-2009, 09:24 AM   #3
Registered: Dec 2007
Location: New England, USA
Distribution: Ubuntu 8.04 LTS, Slackware 12.2
Posts: 138
Blog Entries: 1

Rep: Reputation: 20
If you have already installed the firmware, then the last step is to verify the default gateway. At least that is usually where I have my problems.

Open a terminal an as root type in
route add default gw <IP of your router> <enter>
Old 01-17-2009, 12:50 PM   #4
Senior Member
Registered: Oct 2005
Location: New Mexico
Distribution: Slackware
Posts: 1,619

Rep: Reputation: Disabled
If you want to use the linux drivers, you should upgrade to a newer kernel. b43 did not exist, I don't think, in the kernel you are using. And anyway it's certainly been through a lot of changes. Also, with the 4306 it matters what revision you use as to whether you use b43 or b43legacy.

Having said that, personally I always found I needed to switch to ndiswrapper to get everything working well. Fortunately I no longer have a computer with that chip. Using ndiswrapper would also let you keep your current kernel.


Last edited by BCarey; 01-17-2009 at 12:51 PM.
Old 01-17-2009, 04:05 PM   #5
LQ Newbie
Registered: Jan 2006
Location: Pittsburgh
Distribution: Debian Etch
Posts: 4

Original Poster
Rep: Reputation: 0
Started fresh

Thanks all for the advice - unfortunately nothing has worked thus far so.... I reinstalled Debian Etch to "undo" all that I tried to eliminate the possibility of conflicts trying to use the different approaches.

HangDog42 - tried the native b43 drivers and got nothing - maybe I did something wrond. dmesg kept reporting: Error Microcode "bcm43xx_microcode4.fw" not available or load failed. So I tried to use the b43-fwcutter on bcmwl5.sys and got an error saying it was unsupported. After much research, I tried the bcn43xx_fwcutter and it provided me the .fw file. That at least lit my lights and got me to where I was when I posted. Thank you greatly for your input!

SkinnerC - didn't know about the route command - wish I would have attempted prior to wiping all my previous work with a fresh install.

BCarey - I attempted both the b43 and b43legacy and the b43 got me no whare but the b43legacy got the LEDs to light. Your suggestion regarding ndiswrapper (coupled with it being mentioned in quite a few other places uncovered in my search) led me to wipe my installation and begin from scratch again.

That being said, I am working off a fresh install. This time, I did the install without the PCMCIA card installed - thought it best to truly begin from scratch. I installed ndiswrapper via the Synaptic Package Manager (via a hardwired network in my office). In a root terminal, I verified its installation by typing ndiswrapper and it produced its help output. Next, I extracted the .inf and .sys files from the original CD that came with the card (and router) when received as a gift. I installed the driver via ndiswrapper then ran ndiswrapper -l which returned:

Installed ndis drivers:
mn720 driver present

Great! Step one complete and successful.

Next, I plugged in my PCMCIA Card, ran lspci to confirm it was recognized. The output provided a line:

02:00.0 Network Controller: Broadcom Corporation BCM43xG 802.11b/g (rev 02)

Excellent! Step 2 completed successfully! Or at least I thought! No LEDs are lighting up ...hmmmmm. Now I am lost!

ndiswrapper -l reports:
Installed ndis drivers:
mn720 driver present, hardware present

Ok - then why no lights? I ran ifconfig and it only reports lo and eth0 (the hardwired Ethernet, although no longer connected) However iwconfig does report eth1. Obviously I must be missing something (probably something simple) due to my inexperience with the Linux OS but my quest continues......
Old 01-17-2009, 04:09 PM   #6
Registered: Mar 2008
Location: New Jersey
Distribution: CentOS, Debian, Kali, Ubuntu, OpenSuse
Posts: 620

Rep: Reputation: 40
as root on /var/log type # tail -f messages and then try to connect to your wireless network. see what error messages come up there. they might help. good luck!!!
Old 01-17-2009, 04:52 PM   #7
LQ Newbie
Registered: Jan 2006
Location: Pittsburgh
Distribution: Debian Etch
Posts: 4

Original Poster
Rep: Reputation: 0
ceantuco - Thanks for the input. Here is what I see:

cd /var/log
tail -f messages
<date time> debian kernel: bcm43xx: PHY disconnected
<date time> debian kernel: bcm43xx: PHY connected

Lines are repeated several times. Still no LEDs on card.
Old 01-17-2009, 04:53 PM   #8
Senior Member
Registered: Oct 2005
Location: New Mexico
Distribution: Slackware
Posts: 1,619

Rep: Reputation: Disabled
Odd thing about your driver, I would think that you would need the bcmwl5 driver, not mn720 for this chip. This may or may not be part of your problem.

Could you please post the output of "lsmod"?

Old 01-17-2009, 05:12 PM   #9
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,892
Blog Entries: 27

Rep: Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182Reputation: 2182

Along with the 'lsmod' post the output of 'ifconfig -a'.
Old 01-17-2009, 09:03 PM   #10
LQ Newbie
Registered: Jan 2006
Location: Pittsburgh
Distribution: Debian Etch
Posts: 4

Original Poster
Rep: Reputation: 0
Issue Resolved!!!

Finally got it working and am posting on the new config now!!
Disovered I had to update ndiswrapper from 1.1 to 1.9
Next, I had to use module-assistant to rebuild the module for my kernel.
Installed the module using the module-assistant.

Then just to insure everything is set for a reboot, I ran ndiswrapper -m to get it installed into the kernel when I reboot (not tested yet!)

One draw back I see is my panel says I am not connected but:

debian:/home/patti# ndiswrapper -l
installed drivers:
mn720           driver installed, hardware (14E4:4325) present (alternate driver: bcm43xx)

debian:/home/patti# iwconfig eth1
eth1      IEEE 802.11g  ESSID:"MSHOME"
          Mode:Managed  Frequency:2.432 GHz  Access Point: 00:0D:3A:28:27:91
          Bit Rate:54 Mb/s   Tx-Power:13 dBm
          RTS thr:2432 B   Fragment thr:2346 B
          Encryption key:off
          Power Management:off
          Link Quality:89/100  Signal level:-39 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
It has been a lot of work but a great satisfaction to finally see it can work! Now, let's see what happens on a reboot....

Thanks to all who have provided guidance!


broadcom, debian, wireless

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Broadcom 4306 Viablade Linux - Newbie 5 10-17-2008 12:19 PM
Broadcom 4306 Wireless Viablade Red Hat 3 10-09-2008 09:50 PM
WiFi - Broadcom 4306 on kernel 2.6.24 (b43 module) juchem Linux - Wireless Networking 4 02-07-2008 03:09 PM
FC5 Broadcom 4306 wireless card setup samBl Linux - Wireless Networking 1 09-19-2006 03:00 AM
broadcom bcm 4306 and linux drivers lovethepirk Linux - Software 7 11-21-2005 12:58 PM > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 03:35 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration