Can't get wifi Broadcom BCM4352 to work

Trying to get qubes going, but I can’t get wifi to work. Have Debian 11 as a template for sys-net

Kernel modules was just bcma which doesn’t work with BCM4352 so i manually transferred broadcom-sta-dkms_6.30.223.271-17_all.deb (and a ton of it’s dependencies) and installed them all dpks -i to the template Debian 11 (side not, thought exposure to network drivers should be limited to sys-net, but if i have to install them at Debian template won’t all qubes based on it will be compromised?)

dpks -I broadcom-sta-dkms_6.30.223.271-17_all.deb

 new Debian package, version 2.0.
 size 2207916 bytes: control archive=2828 bytes.
      39 bytes,     1 lines      conffiles            
    1106 bytes,    26 lines      control              
    4528 bytes,    49 lines      md5sums              
     916 bytes,    31 lines   *  postinst             #!/bin/sh
     337 bytes,    14 lines   *  prerm                #!/bin/sh
 Package: broadcom-sta-dkms
 Source: broadcom-sta
 Version: 6.30.223.271-17
 Architecture: all
 Maintainer: Eduard Bloch <blade@debian.org>
 Installed-Size: 14141
 Depends: dkms (>= 2.1.0.0)
 Recommends: wireless-tools
 Conflicts: broadcom-sta-modules
 Provides: broadcom-sta-modules
 >>>>>>>>Section: non-free/kernel
 Priority: optional
 Homepage: http://www.broadcom.com/support/802.11/linux_sta.php
 Description: dkms source for the Broadcom STA Wireless driver
  Broadcom STA is a binary-only device driver to support the following IEEE
  802.11a/b/g/n wireless network cards: BCM4311-, BCM4312-, BCM4313-,
  BCM4321-, BCM4322-, BCM43142-, BCM43224-, BCM43225-, BCM43227-, BCM43228-,
  BCM4331-, BCM4360-, and BCM4352-based hardware.
  .
  This package provides the source code for the wl kernel modules and makes use
  of the DKMS build utility to install them for the running kernel. The
  alternative package broadcom-sta-source can be used instead in case of build
  problems.
  .
  The wireless-tools package is also required in order to make use of these
  modules. Kernel source or headers are required to compile these modules.

so after installing wifi still is not found

(sys-net) lspci

00:06.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
...
	Capabilities: [ac] Express Endpoint, MSI 00
	Kernel modules: bcma, wl

and i’m seeing the following error

(sys-net) dmesg | grep wl

[    5.161137] wl: loading out-of-tree module taints kernel.
[    5.161164] wl: module license 'MIXED/Proprietary' taints kernel.
[    5.163795] wl: module verification failed: signature and/or required key missing - tainting kernel
[    5.185327] wl driver 6.30.223.271 (r587334) failed with code 1
[    5.185357] ERROR @wl_cfg80211_detach : 
[    5.185359] NULL ndev->ieee80211ptr, unable to deref wl

kind of makes sense that it’ll be tainting template kernel, so how should this be handled?

1 Like

Did you try fedora-36 based sys-net?

Nope, first time trying Qubes so went with the defaults. But as far as i know there are no open source drivers for this wifi card, so even in fedora i’d still have to install proprietary drivers

After wasting more time on this Debian wiki says i also need to
apt-get install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
but it fails because it cannot find qubes kernel version

Good question. Yes, they will.
That is why many people will clone the template:
qvm-clone debian-11 debian-11-broadcom
and then install those extras in to the cloned template.

You can adjust the kernel for a qube on the Advanced Tab in qube
settings.
If you set the kernel there to the same as dom0 you will get the headers
available.

In this sort of case you can set the qube to use the native kernel.
If you set that to “None” then the qube will boot with the native kernel
and you can install native headers.
This may be more what you need.

There’s advice in the docs

I never presume to speak for the Qubes team.


When I comment in the Forum or in the mailing lists I speak for myself.

1 Like

Hi @fwo7hwwv,
Did you mange to get this working? I’m also facing the same issue with release 4.1. I created a clone from debian-11 template and installed the broadcom-sta-dkms as described in the wiki here wl - Debian Wiki

I’m using the debian linux headers

linux-headers-amd64 is already the newest version (5.10.140-1).
linux-image-amd64 is already the newest version (5.10.140-1).
broadcom-sta-dkms is already the newest version (6.30.223.271-17).

After the installation the bcma still shows up. Running lspci -v returns

00:06.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
	Subsystem: ASUSTeK Computer Inc. BCM4352 802.11ac Wireless Network Adapter
	Physical Slot: 6
	Flags: bus master, fast devsel, latency 0, IRQ 40
	Memory at f2230000 (64-bit, non-prefetchable) [size=32K]
	Memory at f2000000 (64-bit, non-prefetchable) [size=2M]
	Capabilities: [48] Power Management version 3
	Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [68] Vendor Specific Information: Len=44 <?>
	Capabilities: [ac] Express Endpoint, MSI 00
	Kernel modules: bcma, wl

The output of lsmod is

Module                  Size  Used by
nf_conntrack_netlink    57344  0
nft_reject_ipv4        16384  1
nft_reject             16384  1 nft_reject_ipv4
xt_nat                 16384  4
xen_netback            69632  2
nft_ct                 20480  2
ipt_REJECT             16384  1
nf_reject_ipv4         16384  2 nft_reject_ipv4,ipt_REJECT
xt_tcpudp              20480  5
xt_state               16384  0
xt_conntrack           16384  4
nft_counter            16384  31
nft_chain_nat          16384  3
xt_MASQUERADE          20480  1
nf_nat                 57344  3 xt_nat,nft_chain_nat,xt_MASQUERADE
nf_conntrack          176128  7 xt_conntrack,nf_nat,nft_ct,xt_state,xt_nat,nf_conntrack_netlink,xt_MASQUERADE
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
xenfs                  16384  1
nft_compat             20480  15
nf_tables             253952  107 nft_reject_ipv4,nft_ct,nft_compat,nft_counter,nft_chain_nat,nft_reject
libcrc32c              16384  3 nf_conntrack,nf_nat,nf_tables
nfnetlink              20480  3 nft_compat,nf_conntrack_netlink,nf_tables
intel_rapl_msr         20480  0
intel_rapl_common      28672  1 intel_rapl_msr
joydev                 28672  0
bochs_drm              16384  2
wl                   6471680  0
drm_vram_helper        24576  1 bochs_drm
drm_ttm_helper         16384  1 drm_vram_helper
ttm                   114688  2 drm_vram_helper,drm_ttm_helper
drm_kms_helper        278528  4 drm_vram_helper,bochs_drm
cfg80211              983040  1 wl
evdev                  28672  3
cec                    61440  1 drm_kms_helper
serio_raw              20480  0
pcspkr                 16384  0
rfkill                 32768  2 cfg80211
button                 24576  0
xen_privcmd            24576  49 xenfs
xen_gntdev             28672  1
xen_gntalloc           20480  6
xen_blkback            53248  0
xen_evtchn             16384  6
parport_pc             40960  0
ppdev                  24576  0
drm                   626688  8 drm_kms_helper,drm_vram_helper,bochs_drm,drm_ttm_helper,ttm
lp                     20480  0
parport                73728  3 parport_pc,lp,ppdev
fuse                  167936  3
configfs               57344  1
ip_tables              36864  0
x_tables               53248  8 xt_conntrack,nft_compat,xt_state,xt_tcpudp,xt_nat,ipt_REJECT,ip_tables,xt_MASQUERADE
autofs4                53248  2
ext4                  937984  2
crc16                  16384  1 ext4
mbcache                16384  1 ext4
jbd2                  151552  1 ext4
crc32c_generic         16384  0
dm_snapshot            53248  0
dm_bufio               36864  1 dm_snapshot
dm_mod                163840  2 dm_snapshot,dm_bufio
hid_generic            16384  0
usbhid                 65536  0
hid                   147456  2 usbhid,hid_generic
crct10dif_pclmul       16384  0
crct10dif_common       16384  1 crct10dif_pclmul
crc32_pclmul           16384  0
crc32c_intel           24576  5
ata_generic            16384  0
ghash_clmulni_intel    16384  0
ata_piix               36864  0
libata                294912  2 ata_piix,ata_generic
e1000e                311296  0
ehci_pci               20480  0
ehci_hcd               98304  1 ehci_pci
aesni_intel           372736  0
libaes                 16384  1 aesni_intel
usbcore               331776  3 ehci_pci,usbhid,ehci_hcd
xen_blkfront           49152  8
crypto_simd            16384  1 aesni_intel
ptp                    32768  1 e1000e
cryptd                 24576  2 crypto_simd,ghash_clmulni_intel
glue_helper            16384  1 aesni_intel
scsi_mod              270336  1 libata
i2c_piix4              28672  0
pps_core               24576  1 ptp
usb_common             16384  2 usbcore,ehci_hcd
psmouse               184320  0
floppy                 90112  0

I tried to follow the troubleshooting according to debian wiki. find /lib/modules/$(uname -r)/updates returns

/lib/modules/5.10.0-18-amd64/updates
/lib/modules/5.10.0-18-amd64/updates/dkms
/lib/modules/5.10.0-18-amd64/updates/dkms/wl.ko

I also executed

sudo modprobe -v -r b44 b43 b43legacy ssb brcmsmac bcma
sudo modprobe -v wl

After all that wifi is still not working. lspci -v still shows the same as above.

Thanks!

Hi @unman,
I’m facing the same issue. The card works fine in a Ubuntu installation and with windows 10 on the same hardware setup. So I tried to install Ubuntu Desktop in a standalone VM and installed the thirst party Broadcom drivers. But still wifi card is not recognized.
dmesg | grep wl

[    5.161137] wl: loading out-of-tree module taints kernel.
[    5.161164] wl: module license 'MIXED/Proprietary' taints kernel.
[    5.163795] wl: module verification failed: signature and/or required key missing - tainting kernel
[    5.185327] wl driver 6.30.223.271 (r587334) failed with code 1
[    5.185357] ERROR @wl_cfg80211_detach : 
[    5.185359] NULL ndev->ieee80211ptr, unable to deref wl

I also created a windows qube and installed the Broadcom windows driver. Still the card is not working in windows neither. Do you have any idea what can I do to fix this?

Thanks!

A wild guess this might help…
https://bbs.archlinux.org/viewtopic.php?id=226550

Hi @enmus, thanks for the suggestion. I’m running on a desktop setup with Asus i97z plus motherboard I don’t have TLP installed.

Hi,

did you managed to get it working?
I’m experiencing exactly the same issue.

Hi @digeat, unfortunately no. I had to use LAN connection.

Check this out. I finally came up with this solution.