1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Broadcom BCM4306 + FC5

Hardware

Published on 16 April 2006 01:00 AM EDT
Written by Michael Larabel in Hardware
Comment On This Article

Back during COMDEX Las Vegas in 2002, Broadcom had shipped the industry's first 54Mb/s 2.4GHz wireless LAN solution, which was named the BCM4306. This 802.11g/b BCM4306 solution was accompanied by the BCM4309 dual-band, BCM2050, and BCM4702. While we haven't had much in the way of problems with some Linux distributions -- specifically Debian-based distros -- some others haven't faired quite as well with out-of-the-box support. The Broadcom BCM4306 solution that we have been using is PCI based and came from Minitar with a model number of MN54GPC. With a bit of tweaking, we have had no troubles getting the Minitar MN54GPC (BCM4306) working with Fedora Core 5 and the 2.6.16-1.2080_FC5 kernel.

lspci -v

03:04.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller
        Subsystem: Micro-Star International Co., Ltd. Unknown device 6825
        Flags: bus master, fast devsel, latency 32, IRQ 19
        Memory at fb028000 (32-bit, non-prefetchable) [size=8K]
        Capabilities: [40] Power Management version 2

While the Broadcom BCM4306 Linux support isn't comparable to the magnificent open-source capabilities with the Atheros 802.11g Chipsets and the use of MadWifi, the BCM4306 does have some Linux drivers available. The open-source Broadcom 43xx Linux driver is quite experimental as Broadcom has yet to publicly release the specifications for their WiFi chips. We had attempted to use these BC43XX drivers with the Minitar MN54GPC, however, the module would fail to work in our tests. We had used the bcm43xx-fwcutter RPM from the official Fedora 5 Extras repository, and had extracted the card's firmware out of the Windows wireless drivers. In fact, we had tried cutting multiple Windows drivers to attain the firmware but in all instances in combination with the Linux BCM43XX drivers, the card had failed to work. Below is an example of the bcm43xx-fwcutter at work.

bcm43xx-fwcutter -w /lib/firmware ~/Desktop/bcmwl5a/bcmwl5.sys

bcm43xx-fwcutter can cut the firmware out of /root/Desktop/bcmwl5a/bcmwl5.sys

  filename :  bcmwl5.sys
  version  :  3.40.25.3
  MD5      :  5e58a3148b98c9f356cde6049435cb21

extracting bcm43xx_microcode2.fw ...
extracting bcm43xx_microcode4.fw ...
extracting bcm43xx_microcode5.fw ...
*****: Sorry, it's not posible to extract "bcm43xx_microcode11.fw".
*****: Extracting firmware from an old driver is bad. Choose a more recent one.
*****: Luckily bcm43xx driver doesn't include microcode11 uploads at the moment.*****: 
But this can be added in the future...
extracting bcm43xx_pcm4.fw ...
extracting bcm43xx_pcm5.fw ...
extracting bcm43xx_initval01.fw ...
extracting bcm43xx_initval02.fw ...
extracting bcm43xx_initval03.fw ...
extracting bcm43xx_initval04.fw ...
extracting bcm43xx_initval05.fw ...
extracting bcm43xx_initval06.fw ...
extracting bcm43xx_initval07.fw ...
extracting bcm43xx_initval08.fw ...
extracting bcm43xx_initval09.fw ...
extracting bcm43xx_initval10.fw ...

The alternate option (which ultimately worked) was using ndiswrapper. After building ndiswrapper on Fedora Core 5, we simply had installed the Windows Broadcom display drivers (bcmwl5/bcmwl5a) following by creating a network-script entry for wlan0, and then loading the ndiswrapper module. With those steps (among a few other tweaks) accomplished, the Minitar MN54GPC (BCM4306) had no problems running under Fedora Core 5 with the 2.6.16 kernel. One little issue that we had faced though, was while running NetworkManager, we had experienced some connection issues with one of our wireless networks.

ndiswrapper -i bcmwl5.inf

ndiswrapper -l

Installed drivers:
bcmwl5          driver installed
bcmwl5a         driver installed, hardware present

ndiswrapper -v

utils version: 1.8
driver version:        1.13
vermagic:       2.6.16-1.2080_FC5 686 REGPARM 4KSTACKS gcc-4.1

cat /etc/sysconfig/network-scripts/ifcfg-wlan0

DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Wireless
NETMASK=
DHCP_HOSTNAME=
IPADDR=
DOMAIN=
HWADDR=
ESSID=phoronix
CHANNEL=1
MODE=Auto
RATE=Auto
USERCTL=no
IPV6INIT=no
PEERDNS=yes

With a bit of tweaking, it certainly wasn't difficult to get the Broadcom BCM4306 802.11g device working with Fedora Core 5 using ndiswrapper.

ifconfig

wlan0     Link encap:Ethernet  HWaddr 00:0C:76:71:4D:89
          inet addr:192.168.0.123  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:76ff:fe71:4d89/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3490 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4691 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:271196 (264.8 KiB)  TX bytes:4223349 (4.0 MiB)
          Interrupt:19 Memory:fb028000-fb02a000

iwconfig

wlan0     IEEE 802.11g  ESSID:"phoronix"  Nickname:"phortest"
          Mode:Auto  Frequency:2.437 GHz  Access Point: 00:11:95:BC:10:CF
          Bit Rate=24 Mb/s   Tx-Power:25 dBm
          RTS thr=2347 B   Fragment thr=2346 B
          Encryption key:off
          Power Management:off
          Link Quality:100/100  Signal level:-73 dBm  Noise level:-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


Latest Linux Hardware Reviews
  1. 13-Way Low-End GPU Comparison With AMD's AM1 Athlon
  2. ASUS AM1I-A: A Mini-ITX Board For Socketed Kabini APUs
  3. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  4. Overclocking The AMD AM1 Athlon & Sempron APUs
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. Wine 1.7.17 Works On Its Task Scheduler, C Run-Time
  2. The Improv ARM Board Still Isn't Shipping; Riding A Dead Horse?
  3. Debian To Maintain 6.0 Squeeze As An LTS Release
  4. Wasteland 2 Is Finally Released For Linux Gamers
  5. FreeBSD Advances For ARM, Bhyve, Clang
  6. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  7. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  8. QEMU 2.0 Released With ARM, x86 Enhancements
  9. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  10. R600 Gallium3D Disables LLVM Back-End By Default
  11. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  12. Fedora Workstation Is Making Me Quite Excited
Latest Forum Discussions
  1. Suggestions about how to make a Radeon HD 7790 work decently?
  2. The GNOME Foundation Is Running Short On Money
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. Radeon 8000M problematic on Linux?
  5. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  6. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  7. Suspected PHP Proxy Issue
  8. Change installation destination from home directory