# BCM94311 not working...

## iamwill

I am trying to get this new BCM43911 wireless card working on my new hp pavilion dv2418nr.  I am missing something, because it isn't working.  I was curious if this is different then the original BCM4311 card, and can I use the BCM43xx driver?  So far, I have tried following this guide using the bcm43xx-fwcutter, and the driver thats provided from my vista install doesn't work because the md5 doesn't match...

```
localhost roberts # bcm43xx-fwcutter -w /lib/firmware /wifi/bcmwl6.inf

Sorry, the input file is either wrong or not supported by bcm43xx-fwcutter.

This file has an unknown MD5sum 6601965175b92a03daaee7c6ac13cfa3.

```

So, my first question is, can I edit the bcm43xx-fwcutter file that governs the MD5 and add my factory drivers?  I tried using the standard drivers on the internet and they don't work.

I also tried using the ndiswrapper with that driver, and it doesn't see any networks, however the switch that powers the wifi card on and off works with ndis.  

I am not sure if I am not going about this the right way, so I posted a couple of things to hopefully get some help.

```
01:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02)
```

Kernel 2.6.23-r3

```

Networking  --->

     Wireless  ---> 

            --- Improved wireless configuration API                           

            --- Wireless extensions                                                   

           <*> Generic IEEE 802.11 Networking Stack (mac80211)    

           [ ]   Enable debugging output                                           

           <*> Generic IEEE 802.11 Networking Stack                      

           [ ]   Enable full debugging output                                      

           ---   IEEE 802.11 WEP encryption (802.1x)                         

           <*>   IEEE 802.11i CCMP support                                     

           <*>   IEEE 802.11i TKIP encryption                                   

           <*>   Software MAC add-on to the IEEE 802.11 networking stack                  

           [ ]     Enable full debugging output                                           

Device Drivers  --->      

     [*] Network device support  --->

          Wireless LAN  ---> 

               [*] Wireless LAN (IEEE 802.11)

               <*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)   

               [ ]   Support downloading firmware images with Host AP driver (NEW)   

               <*>   Host AP driver for Prism2/2.5/3 in PLX9052 PCI adaptors

               <*>   Host AP driver for Prism2.5 PCI adaptors       

               <*>   Host AP driver for Prism2/2.5/3 PC Cards   

               <*> Broadcom BCM43xx wireless support   

               [*]   Broadcom BCM43xx debugging (RECOMMENDED)

```

emerge --info

```
Portage 2.1.3.19 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 i686)

=================================================================

System uname: 2.6.23-gentoo-r3 i686 AMD Athlon(tm) 64 X2

Timestamp of tree: Wed, 26 Dec 2007 01:47:01 +0000

app-shells/bash:     3.2_p17

dev-java/java-config: 1.3.7, 2.0.33-r1

dev-lang/python:     2.4.4-r6

dev-python/pycrypto: 2.0.1-r6

sys-apps/baselayout: 1.12.10-r5

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.13, 2.61-r1

sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.18-r1

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.24

virtual/os-headers:  2.6.23-r2

ACCEPT_KEYWORDS="x86"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=k8 -mtune=k8 -O2 -mmmx -pipe -msse -msse2 -mfpmath=sse -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-march=k8 -mtune=k8 -O2 -mmmx -pipe -msse -msse2 -mfpmath=sse -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="buildpkg collision-protect digest distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LINGUAS="en en_US"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"

USE="X aac aalib acpi alsa apache2 apm arts audiofile avahi bash-completion berkdb bitmap-fonts branding bzip2 cairo cdr cli compizconfig-backend-kconfig cracklib crypt cups curl dbus dga dri dvd dvdr dvdread eds emboss encode evo expat fam fftw firefox flac gcc64 gdbm gif glitz gnutls gpm gstreamer hal iconv imlib imlib2 isdnlog ithreads java joystick jpeg kde kdeenablefinal lcms libcaca mad midi mikmod mmx mp3 mpeg mudflap ncurses network nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png pppd python q4 qt qt3 qt3support qt4 quicktime readline reflection samba scanner sdl session sndfile speex spell spl sse sse2 sse3 ssl svg svga theora threads tiff truetype truetype-fonts type1-fonts unicode usb vorbis win32codecs x86 xine xinerama xml xml2 xorg xscreensaver xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nv nvidia"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

Any help would be appreciated.  I would like to get wireless working soon.

----------

## rumburak

Hi,

I installed yesterday Gentoo on my Dell XPS 1330.

Had to make it from an ubuntu live cd since neither the wireless or wired eth were working... tg3 module seems to be crappy on 2007.0 live cd.

Anyway, eventually I configured wireles with bcm43xx.

Try to use this as a firmware source (instead of bcmwl16.inf): http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o

Read this for more details: http://linuxwireless.org/en/users/Drivers/b43#devicefirmware (also has the link above).

Cheers!

----------

## cyrius

Hello,

   i successed to use the BCM43xx with a BCM4311 using the firmware tool and so on. Finally, i came back to ndiswrapper cause i experienced a lack of performances, recurent lost of connections on downloads and other problems.

I advice you to use ndiswrapper.

Enjoy it.

----------

## JoseJX

A better choice is to follow the guide here:

https://forums.gentoo.org/viewtopic-t-547687.html

People report better throughput with b43 than with the windows driver.

----------

## pappy_mcfae

 *JoseJX wrote:*   

> A better choice is to follow the guide here:
> 
> https://forums.gentoo.org/viewtopic-t-547687.html
> 
> People report better throughput with b43 than with the windows driver.

 

I'm not so sure about that. I just completed some tests after reading this thread. I took part in fixing a bug with the 2.6.24.2 kernel and b43, so I just happen to have it, and 2.6.22.18, and 2.6.22-gentoo-r10 and ndiswrapper+wpa_supplicant sitting on the debug test machine. I like experiments, so I decided to do one.

I set up the experiment as follows:

I took three files of differing sizes (164.8 MB, 90.9 MB, and 62.4 MB), and copied them from the test machine to this machine. This machine is wired into my network, and the wireless interface is inactive. I booted the test machine, first with vanilla 2.6.22.18, then 2.6.22-gentoo-r10, and finally with 2.6.24.2. The first two kernels are set up to work with ndiswrapper, and the 2.6.24.2 was set up with the b43 module. 

Machines used:

test machine: Toshiba Satellite 1005-S157 (Celeron 1.06 GHz, 256MB RAM, 60 G PATA, PCMCIA BCM4318 (linksys WPC54G))

this machine: Compaq Presario C504US (Celeron 1.86GHz, 1G RAM, 120G SATA, BCM4311 (inactive ,not used for test) Realtek RTL-8139)

Wireless router: 

D-link WBR 1310 using WPA-PSK encryption.

Setup:

The file transfers were done with drag and drop via KDE. Files were transferred from test machine to this machine between two koqueror windows. Ktimer was set to 1500 seconds, and used as a countdown stopwatch. The files were dragged, which brought up the copy verification dialog box. I clicked on the "Copy Here Ctrl" option on said dialog box at the same time as I clicked the start button on ktimer. Ktimer was paused when the file transfer dialog box closed. The time remaining was subtracted from 1500, resulting in transfer times in seconds. The file size was then divided by the time, coming up with throughput readings in Megabytes per second MB/s. 

Due to the fact that the router is set up with WPA encryption, wpa_supplicant was required for the testing.

After each test, the machine was rebooted to bring up the different kernel versions. I tried the test several times, since it seemed to me that something was wrong with the results I received. 

Results:

```
ndiswrapper & 2.6.22.18:

Filesize=164.8 MB Time = 55 sec throughput = 3.1 MB/sec

Filesize=90.9  MB Time = 34 sec throughput = 2.7 MB/sec

Filesize=62.4  MB Time = 23 sec throughput = 2.7 MB/sec

ndiswrapper & 2.6.22-gentoo-r10

Filesize=164.8 MB Time = 59 sec throughput = 2.8 MB/sec

Filesize=90.9  MB Time = 34 sec throughput = 2.7 MB/sec

Filesize=62.4  MB Time = 23 sec throughput = 2.7 MB/sec

b43 & 2.6.24.2: *

Filesize=164.8 MB Time = 209 sec throughput = 0.8 MB/sec **

Filesize=90.9  MB Time = 50 sec  throughput = 1.8 MB/sec

Filesize=62.4  MB Time = 32 sec  throughput = 2.0 MB/sec
```

As you can plainly see, in all cases, the throughput with ndiswrapper was twenty-five to seventy-five percent better. If this is the case, and it is for my machine, I'd say you are still winning the performace race if you go with ndiswrapper.

I invite others to try this out for yourselves. My results were pretty amazing. I'm betting that said results are pretty representative of the truth; ndiswrapper wins in throughput performance over the Linux native drivers, hands down.

Blessed be!

Pappy

* When wpa_supplicant was invoked during boot time of the 2.6.24.2 + b43 configuration, there were two errors that showed up on the boot screen. They indicated some sort of problem with the way the b43 interface was reacting with wpa_supplicant. This may or may not have been the reason for the problem. I doubt that it is, but I have no proof one way or the other.

** During the large file test, the interface stalled after copying about fifteen Megs. It remained stalled for approximately forty-five seconds. While the adapter was stalled, the knemo interface status dialog box indicated a flow of between twenty and one hundred KB/s, however, the file copy dialog box indicated no motion in the file whatsoever. The test results were worse in the first round of testing, barely making it to 0.6 MB/s. These are the best case results.

----------

