[sf-lug] Installing Void, C.E. Sign-in at SF-LUG mtg of 2017-11-05

Rick Moen rick at linuxmafia.com
Tue Nov 7 14:44:56 PST 2017


Quoting acohen36 (acohen36 at SDF.ORG):

> 
> Quoting Bobbie Sellers <bliss-sf4ever at dslextreme.com> from [01]:
> 
> >12:55 PM packed up the Dell and my pounds of
> >optical disks.  Aaron stayed behind to work on his
> >install of Void Linux on his 32-bit machine.
> 
> Void Linux uses runit as the default init system [02] instead of the
> prevalent systemd -- the latter which I don't myself prefer.

> On
> installing Void Linux on that 32-bit machine, I've been having great
> difficulty getting WiFi to work on the machine's internal Broadcom
> Wireless Adaper; a Broadcom Limited BCM4312 802.11b/g LP-PHY
> [14e4:4315] (rev 01) as listed by running 'lspci -nn -d 14e4:' and
> described at [03]. 

Disclaimer:  Unlike Steve Litt, I have zero experience with Void Linux.

You'll definitely need the B43xx firmware BLOB somehow installed.  If
it's not, 'dmesg | grep b43' will show lines like

 [...] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found
 [...] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not fond
 [...] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the current firmware for this driver version.  Please read all instructions on this website.


...as shown on
https://forum.voidlinux.eu/t/wireless-card-bcm4312-firmware-not-there/566

That same page says you do the 'firmware-cutter' routine to acquire the
firmware BLOB.  To explain:  There are companies like Broadcom and
Marvell that are too busy putting profits up their noses to cooperate
even minimally with the open source community, and thus fail to even put
out a super-brief statement saying 'We license firmware file $FOO with
sha1sum $BAR to be distributed without modification by anyone provided 
no reverse-engineering rights are granted.  

Lacking permission to redistribute such firmware files, the open source 
community exercised its ingenuity and created utilities calld 'cutter' 
utilities that:

1.  Reach across the Internet to fetch MS-Windows drivers for the 
    chipset in question.
2.  Extract the binary firmware file and place it in the correct
    subdirectory of /lib/firmware for Linux's use.  (This is the
    'cutting' step.)  (As we see below, somehow, Void Linux uses
    instead /usr/lib/firmware, it is claimed.)
3.  Discard the MS-Windows drivers.

Above-cited page says (May 2016 comment) you do this, as root:

xbps-install b43-fwcutter
export FIRMWARE_INSTALL_DIR="/usr/lib/firmware
wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
tar xjf broadcom-wl-5.100.138.tar.bz2
b43-fwcutter -w "$FIRMWARE_INSTALL_DIR"
broadcom-wl-5.100.138/linux/wl_apsta.o

Looking at http://www.lwfinger.com/b43-firmware/ today, I still see that 
file listed, so (if you are getting Firmware not found messages in dmesg
output) try that.



> Sure, I've also followed Void's Networking Configuration steps at
> [04].

OK.  I notice that that page doesn't address the specific problem of
missing firmware blobs.  Perhaps you can clarify:  Is _that_ the raw
symptom?  I.e., if you do 'dmesg | grep b43', do you see Firmware not
found errors?

The problem of firmware BLOBs that the open souce community is not yet
licensed to redistribute (requiring creative workarounds like 'cutter'
utilities) is one that plagues all Linux distributions in exactly the
same way, and the solutions are pretty nearly identical across
distributions.

If you're driving by Broadcom headquarters, it might help to fly a paper
airplane in the front door with, written on it, 'Hey, doofuses!  Try
expending the cost of a first-class stamp on permitting unmodified 
redistribution of your chips' firmware initialisation files.'  Love, the
open source community.'  (I'm not saying to attach the message to a
brick, because that would be rude.  Albeit satisfying.)




More information about the sf-lug mailing list