Bcm43xx wireless support

I have a broadcom4306 wireless minipci card that is working with puppy linux flawlessly. Is there support for this in Haiku? I checked the wireless “how to” and it suggests that it is. Does it need the firmware “fw-cutter” to work properly? In linux there is a file “firmware” with all the bcm43xx files in it. Any possibility this wifi card to work?

Hi Snuhwolf!
Did you look at the topic “The firmware installer” about half-way down the wifi page? the script install-wifi-firmwares.sh shoud do the trick. If you can’t go online (by wire) under Haiku yet, there’s also a link to an offline-alternative.


Ok I made the zip file and extracted it to /boot So now there is a file “wifi-firmware”. Will Haiku see this driver now as it is or is there another step to install it?

I have never done that myself, but in the “download-data-for-wlan-firmwares” script it says at the end:

Extract $archiveName to your Haiku's /boot
Then run install-wifi-firmwares.sh

So it looks like you just have to run install-wifi-firmwares.sh to finally install the downloaded/unzipped firmwares.


Its a “catch-22” situation. If you download it to /boot the shell script is set to look for an active internet connection to download the file you already have. Unless of course I’m reading the ‘install-wifi-firmwares.sh’ wrong. Heres where I think it fails:

function DownloadFileIfNotCached()
# DownloadFileIfNotCached
local url=$1
local file=$2
local dir=$3

    mkdir -p "$dir" 
 if [ ! -e $dir/$file ] ; then
     echo "Downloading $url ..." 
         wget -nv -O $dir/$file $url

if [ $result -gt 0 ]; then
local error="Failed to download $url."
local msg="As a result, ${driver}'s firmware will not be installed."
alert --warning "$error $msg"

So it seems it looks for an active internet connection and when it cant use ‘wget’ it returns the error message “unable to download bcm43xx install aborted”.
I can click on the script in BeOS which is connected to the internet and run the script, unfortunately as I see it, it will install to this BeOS partition and not my Haiku one.
I’m not good with scripts so re-writing it for an “off-line install” is beyond me.

I’m not a big scripter myself, but I think the lines

if [ ! -e $dir/$file ] ; then

only tries to download the file if the folder/file isn’t there yet. But since you got all the data with that other script, ran under another OS and unpacking the thereby created zip to /boot, the file/folder already exists and nothing gets downloaded.

So: execute the download-data-for-wlan-firmwares script on another OS, unpack the cretated zip in Haiku to /boot/ and execute install-wifi-firmwares.sh once more to install the firmwares.

I think others have done it, so it should work…


It absolutely does not work. The script fails in exactly the same place regardless of where you unzip and save the files to. It returns a message complaining that wget couldnt download the files from the repos. So that script, as is, is only going to work to install the drivers on a system that already has internet connectivity.
Oh well, it was a nice experiment. Probably time to give that laptop away :slight_smile:

Which version of Haiku are you trying this in?

What OS did you try using the offline-alternative from? – that script needs a linux/unix-like shell that has wget & zip installed.

Here’s the contents of haiku-wifi-firmware-data.zip

        0  07-21-10 18:33   system/
        0  07-21-10 18:33   system/data/
        0  07-21-10 18:33   system/data/firmware/
        0  07-21-10 18:33   system/data/firmware/broadcom43xx/
        0  07-21-10 18:33   system/data/firmware/broadcom43xx/b43-fwcutter/
    14138  06-02-09 15:54   system/data/firmware/broadcom43xx/b43-fwcutter/b43-fwcutter-012.tar.bz2
     1489  10-19-09 22:42   system/data/firmware/broadcom43xx/b43-fwcutter/byteswap.h
        0  07-21-10 18:33   system/data/firmware/broadcom43xx/b43-fwcutter/bits/
     4592  10-19-09 22:42   system/data/firmware/broadcom43xx/b43-fwcutter/bits/byteswap.h
   652866  01-05-06 00:17   system/data/firmware/broadcom43xx/wl_apsta-
        0  07-21-10 18:33   system/data/firmware/marvell88w8335/
   139536  10-13-07 18:26   system/data/firmware/marvell88w8335/malo-firmware-1.4.tgz

You can even look in /boot/system/data/firmware/ to see if those files have been extracted.
If you unzip “haiku-wifi-firmware-data.zip” to ‘/boot’, then install-wifi-firmwares.sh will not attempt to download any files.

I used BeOS MAX to download and create the zip file. I then unzipped it to the /boot directory on the Haiku disk. Then I ran the install-wifi script. And it complained ( again) that there was no connection to the internet to download the files I’d downloaded and unzipped :slight_smile:
But the problem resolved itself: I’ve given the laptop away. So now I can get a different laptop. Maybe.