New Post: Shipping new SparkLAN Wifi cards with Librem 5

I’m using the new SparcLan, so I was hoping it would work.

Basic HSP should work now on SparkLAN cards with recent updates installed. If HFP/HSP is not available, it means the device does not advertise it. I’d try to connect to that car radio with a GNU/Linux laptop first and see how it works there.

You may also want to try sudo hciconfig hci0 class 0x7e020C to make it advertise as a phone.


With the laptop it runs without any problems.
I only had to set it to headset head unit.
Current Arch Linux with KDE, Pipewire and Wireplumber.


Question I have is why these profiles do not show up in the Librem 5 sound menu?

Because thats profile are newer things, then GNU Pure OS still using old packages. So this nongnu archLinux OS it using newer libs.

So is it just a matter of waiting for those old packages to get ported to PureOS?

That profile will come in PureOS Octarine, now we are at Byzantium.
On Gnu+Lnx it very import stay in LTS for safety/stable like Purism PureOS.
ArchLnx does not LTS but rolling…
I never used archLnx so i guessing.

Ah ok thanks for the clarification.

Just installed my SparkLan. I just want to make sure before flashing. The folder
is empty, that is the folder brcm does not exist.

dmesg gives

[ 84.924481] mmc1: new ultra high speed SDR104 SDIO card at address 0001
[ 84.926981] brcmfmac: F1 signature read @0x18000000=0x1042aae8
[ 84.936820] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43752-sdio for chip BCM43752/2
[ 84.945727] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.purism,librem5r4.bin failed with error -2
[ 84.945764] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.bin failed with error -2
[ 85.942590] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

So I do need to flash right? My system is uptodate byzantium.

(I did not think it would be so hard, I already had a hard time with the short cable…)

I think you need to create the firmware jail.

Is this different from flashing? How to do it?

check Firmware Jail Link



However there are some similarities. Both involve putting the Librem 5 in serial download mode and running a script on a host computer to which the Librem 5 is connected via USB.

Some documentation here:

1 Like

Been using the sparklan card for a couple of weeks now, and I’m pretty happy with it. WIth the old card I had lots of studdering and 1-2 second hangs when sshed into it over wifi. I ended up buying the usb-c Hub from purism’s store and sshing in via ethernet. Stopped using the hub with the new card, and have seen no studdering or hangs when sshed in via it.

Also noticing much better signal strength to my wifi router. The indicator is always 2/3-3/3 bars on the top, where it was generally 1/3-2/3 on the redpine card. Connection to the router is 802.11ac (wifi 5).

Also web pages seem to load faster. Forgot to do any load timings on the redpine card though, so don’t have any numbers to show(and I’m not going to switch back and risk breaking connectors like others have).

This seems to be a major improvement for my user cases at least :smile:


I have also succesfully (I think) installed SparkLan. The card works and connects properly to the Internet. However, although it works I get some errors in dmesg and wonder if I have done something wrong on the software side. Could someone shed some light on this? The lines with ** show errors.

root@pureos:/home/purism# updatedb; locate brcmfmac43752

root@pureos:/home/purism# dmsg
[  149.603205] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43752-sdio for chip BCM43752/2
[  149.609490] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
**[  149.612091] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.purism,librem5r4.bin failed with error -2**
[  156.007979] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43752/2 wl0: Jul 13 2020 18:32:45 version 18.35.387.23.7 (b328500@shgit) (wlan=r880297) FWID 01-f50fdff0
[  157.080950] Bluetooth: Core ver 2.22
[  157.081126] NET: Registered PF_BLUETOOTH protocol family
[  157.081130] Bluetooth: HCI device and connection manager initialized
[  157.081148] Bluetooth: HCI socket layer initialized
[  157.081155] Bluetooth: L2CAP socket layer initialized
[  157.081168] Bluetooth: SCO socket layer initialized
[  157.088632] Bluetooth: HCI UART driver ver 2.3
[  157.088660] Bluetooth: HCI UART protocol H4 registered
[  157.088664] Bluetooth: HCI UART protocol BCSP registered
[  157.088668] Bluetooth: HCI UART protocol ATH3K registered
[  157.088750] Bluetooth: HCI UART protocol Three-wire (H5) registered
[  157.088791] Bluetooth: HCI UART protocol QCA registered
[  157.088825] Bluetooth: HCI UART protocol Marvell registered
[  157.231523] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  157.231558] Bluetooth: BNEP socket layer initialized
[  157.240704] Bluetooth: MGMT ver 1.22
[  157.250620] NET: Registered PF_ALG protocol family
[  157.296694] Bluetooth: RFCOMM TTY layer initialized
[  157.296745] Bluetooth: RFCOMM socket layer initialized
[  157.296768] Bluetooth: RFCOMM ver 1.11
**[  158.453751] ieee80211 phy0: brcmf_p2p_create_p2pdev: timeout occurred**
**[  158.460241] ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev wlan0 type 10 failed: err=-5**

Bluetooth connects to my (harware) mixer but music pulsates (short interuptions). The redpine was playing music OK.

Nothing unusual there.

Ah, that is good then. Thank you @dos !

Is bluetooth problem also typical? I tried with a PC and again music has interrupts.

@dos I have found that bluetooth is much more stable but still encounter stuttering occasionally with no idea why, disabling wifi tends to fix it. I have found one consistent issue though, when a bluetooth device connects initially it shows it connected but the audio path does not get established. To fix I go into bluetooth and toggle the device itself on and off and it corrects the audio path. Not sure what’s going on there, maybe a timing thing?

1 Like

I had the same result by disabling and enabling the wifi in quick succession. So, no need to leave wifi disabled.