0

My system:

Fedora 24 64 bit on a DELL Latitude E6400

I have a BCM4322 wireless interface

lspci -vnn -d 14e4:
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)
        Subsystem: Dell Wireless 1510 Wireless-N WLAN Mini-Card [1028:000d]
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at f69fc000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [58] Vendor Specific Information: Len=78 <?>
        Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [d0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [13c] Virtual Channel
        Capabilities: [160] Device Serial Number dd-c6-00-ff-ff-61-78-e4
        Capabilities: [16c] Power Budgeting <?>
        Kernel driver in use: b43-pci-bridge
        Kernel modules: ssb, wl

I installed akmod-wl and rebooted my system. But the wireless interface still can't be activated because it seems the module is unsigned:

$ lsmod | grep wl
wl                   6447104  0
cfg80211              565248  1 wl

I'm seeing this in dmesg:

[   14.847359] wl: module license 'MIXED/Proprietary' taints kernel.
[   14.847364] Disabling lock debugging due to kernel taint
[   14.856059] wl: module verification failed: signature and/or required key missing - tainting kernel

I'm not sure how to get past this problem?

techraf
  • 5,941
Aditya K
  • 2,060

2 Answers2

2

You need to disable secure boot. Go in bios and find that option, disable it and it and re-install wl

user333677
  • 21
  • 1
0

My system:

  • Fedora 32 x86_64 on a MacBookPro5,3
  • BCM4322 14e4:432b wireless interface
  • Using akmod-wl from rpmfusion

akmod-wl provides both b43 and wl drivers. Start the card with b43, then run wl.

Remove and unload conflicting driver packages:

dnf remove b43-openfwwf

On boot, only wl driver is loaded, but BCM4322 is not assigned a device.

# lsmod | grep -e "wl\|b43"
wl                   6471680  0
cfg80211              864256  1 wl

lshw -C network -short

H/W path Device Class Description

/0/100/a enpXXXX network MCP79 Ethernet /0/100/15/0 network BCM4322 802.11a/b/g/n

Unload running wl driver. Load and unload b43 driver. Then load wl driver again. (wl can't start the card, but b43 can't run the card.)

/usr/sbin/modprobe -r wl 
/usr/sbin/modprobe b43 
/usr/sbin/modprobe -r b43 
/usr/sbin/modprobe wl

BCM4322 should now have a device assigned:

# lshw -C network -short
H/W path                Device      Class          Description
==============================================================
/0/100/a                enpXXXX     network        MCP79 Ethernet
/0/100/15/0             wlpXXX      network        BCM4322 802.11a/b/g/n Wireless LAN Controller

SSIDs should now be available, which you can connect to from NetworkManager:

# nmcli dev wifi list
IN-USE  BSSID              SSID        MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
*       xx:xx:xx:xx:xx:xx  XXXXXXXXX   Infra  11    195 Mbit/s  45      ▂▄__  WPA2    

Put the modprobe commands above in a script at /usr/local/bin/wifi_drivers.sh and you can create a service to run the script before wpa_supplicant:

[Unit]
Description=Wifi Drivers for Broadcom BCM4322 14e4:432b
Before=wpa_supplicant.service

[Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/wifi_drivers.sh

[Install] WantedBy=multi-user.target

iii
  • 155