[sf-lug] Installing Void and other systemd-free distroS onto BCM/b43 device

acohen36 acohen36 at SDF.ORG
Thu Nov 9 15:51:22 PST 2017

Rick Moen <rick at linuxmafia.com> wrote at [1]:

> Last line got accidentally split, should be:
> b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" 
> broadcom-wl-5.100.138/linux/wl_apsta.o
> Anyway, Aaron, please heed 
>, and not my regurgitation of what it said.

Thanks for the suggestions.
Had to wipe out the drive with Void Linux on it and Start From Scratch, 
this as opposed to Linux From Scratch[2] ;-)

I went ahead and formatted the drive with Void installed on it and am 
planning to install on it some of the non-systemd distros I've used 
before, in this order; Slackware 14.2 (like user 'bigbunny' at [3] on Apr 
'16), devuan gnu+linux, Void Linux, and then finally antiX-17.  So far, 
I've gotten Slackware 14.2 and devuan fully up and running, though w/o 
wireless activated on either yet. More on this below.

You all would be entirely accurate to say that I don't prefer using 
systemd. My reasoning for using these particular non-systemd distros in 
this order is that from my experience, the outliers Slackware 14.2 and 
antiX-17 using Debian's Stable/Stretch are the _most_ likely to recognize 
the 4312-->4315 adapter.

Akkana Peck <akkana at shallowsky.com> wrote at [4]:

> I've had to wrestle with too many Linux laptops
> with Broadcom wi-fi chips over the years. By far the
> best and easiest solution, if it's a laptop that's
> relatively easy to open, is research what format the
> Broadcom card is in your laptop (or just open it and
> see), and then order an Intel wi-fi card of the same
> size. They typically cost maybe $20-30, which is
> well worth it versus the time and sweat and
> frustration you'll put into fighting with the
> Broadcom.

That's a good point, and is eerily similarly to problems myself and _many_ 
other people had in the late 1990's with getting ppp to run on certain 
desktop PCI modem-cards called "Winmodems", in Linux. IIRC, although most 
of those Winmodems were super-cheap, they were invraiably DSP 
software-optimized to work on Windows _only_ grrrrrrr >:[ ......
That typical cost of "maybe $20-30" for Intel wi-fi cards of the same size 
is what I eventually ended up paying for a cheap but decent 56K(max) 
external modem in the early post-millenial aught years.

Ken Shaffer <kenshaffer80 at gmail.com> wrote at [5]:

> I've been waiting for the answer to Rick's critical question about
> seeing if the firmware files are "not found" from the dmesg
> output.  The b43 driver should work with your chip, so all you
> should have to do is put the firmware files into the right
> directory (usually /lib/firmware/b43, not /usr/lib/firmware...).
> Your chip, the 4315  used to have a special fwcutter package
> with ...lpy... in its name -- don't know if the new fwcutter
> package had made that unnecessary.  Any distribution which
> can run the fwcutter will product the firmware files, so you
> can just put them on a USB and bring them to your system.

Thanks for the suggestion at the end.
Getting right to the first point keeping in mind reference [3];

-- current snippet of 'dmesg | grep b43' in Slackware --
[**] b43-phy0: Broadcom 4312 WLAN found (core revision 15)
[**] b43-phy0: Found PHY: Analog 6, Type 5 (LP), Revision 1
[**] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2062, Revision 2, Version 0
[**] b43 ssb0:0: Direct firmware load for b43/ucode15.fw failed with error 
[**] b43 ssb0:0: Direct firmware load for b43/ucode15.fw failed with error 
[**] b43 ssb0:0: Direct firmware load for b43-open/ucode15.fw failed with 
error -2
[**] b43 ssb0:0: Direct firmware load for b43-open/ucode15.fw failed with 
error -2
[**] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found
[**] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found
[ **] b43-phy0 ERROR: You must go to
and download the correct firmware for this driver version.
Please carefully read all instructions on this website.

I still find it awfully confusing -- even in Slackware -- which of the 
various b43 drivers I should use.

Quoting the b43-fwcutter SlackBuilds page at [6]:
b43-fwcutter is a tool to extract Broadcom's wireless chip(s) firmware.

Maintained by: Robby Workman
Keywords: broadcom,b43,bcm3xx,bcm,firmware,cutter,fwcutter

Seems simple enough, right?
Not exactly.

Now directly quoting the broadcom-sta SlackBuilds page at [7]:

The broadcom-sta package includes the kernel module 'wl', which contains 
the Broadcom-provided proprietary kernel driver that supports a number of 
their cards.  Known supported model numbers include the listed chipsets.

BCM4311 (PCI IDs 14e4:4311, 14e4:4312, 14e4:4313)
BCM4312 (PCI ID 14e4:4315)
BCM4313 (PCI ID 14e4:4727)
BCM4321 (PCI IDs 14e4:4328, 14e4:4329, 14e4:432a)
BCM4322 (PCI IDs 14e4:432b, 14e4:432c, 14e4:432d)
BCM43142 (PCI ID 14e4:4365)
BCM43224 (PCI ID 14e4:4353)
BCM43225 (PCI ID 14e4:4357)
BCM43227 (PCI ID 14e4:4358)
BCM43228 (PCI ID 14e4:4359)
BCM4331 (PCI ID 14e4:4331)
BCM4360 (PCI ID 14e4:43a0)
BCM4352 (PCI ID 14e4:43b1)

Some of these devices are also supported by the free b43 and brcm80211 
drivers.  In order to avoid conflicts /etc/modprobe.d/b43_blacklist.conf 
disables these drivers.

Read the included LICENSE.txt file (placed in /usr/doc) before using the 
proprietary driver.

If you would like to name your interface wlan0 instead of eth1, either 
rename the device in /etc/udev/rules.d/70-persistent-net.rules or build 
the package with:

     IFNAME=wlan ./broadcom-sta.SlackBuild

Maintained by: Andreas Voegele
Keywords: wireless,driver,network,wifi,broadcom

Since my exact WiFi card BCM4312 (PCI ID 14e4:4315) is specifically 
mentioned in the latter, it seems to me that this latter broadcom-sta 
method should be tried first _before_ using Ken's (and possibly others') 
b43-fwcutter method to extract the fitting driver.

In addition, the two-year-old 'Broadcom wireless' suggestions from one of 
the antiX developers at [8] seems similar enoug to the steps just 
described for Slackware's broadcom-sta driver-build SlackBuild, namely, 
disabling the b43 driver in /etc/modprobe.d/broadcom-sta-dkms.conf before 
running 'modprobe' for the [presumably] correct driver.





acohen36 at sdf.org
SDF Public Access UNIX System - http://sdf.org

More information about the sf-lug mailing list