Broadcom BCM4322を使用するFedora 24では、akmod-wlモジュールを操作できません。

Broadcom BCM4322を使用するFedora 24では、akmod-wlモジュールを操作できません。

私のシステム:

DELL Latitude E6400のFedora 24 64ビット

BCM4322ワイヤレスインターフェイスがあります

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

akmod-wlをインストールし、システムを再起動しました。ただし、モジュールが署名されていないようであるため、ワイヤレスインターフェイスをまだ有効にすることはできません。

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

私はこれを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

この問題を解決する方法がわかりません。

答え1

セキュアブートを無効にする必要があります。 BIOS に移動してオプションを見つけて無効にし、wl を再インストールします。

答え2

私のシステム:

  • MacBookPro5,3のFedora 32 x86_64
  • BCM4322 14e4:432b ワイヤレスインターフェイス
  • rpmfusionでakmod-wlを使用する

akmmod-wlはb43とwlドライバを提供します。 b43を使用してカードを起動し、wlを実行します。

競合するドライバパッケージを削除して削除します。

dnf remove b43-openfwwf

起動時にwlドライバのみがロードされますが、BCM4322はデバイスを割り当てません。

# 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

実行中の wl ドライバーを削除します。 b43ドライバをロードおよびアンロードします。次に、wl ドライバーを再ロードします。 (wlはカードを起動できませんが、b43はカードを実行できません。)

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

これで、BCM4322にデバイスを割り当てる必要があります。

# 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

これでSSIDが利用可能になり、次に接続できます。

# 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    

上記のmodprobeコマンドを/usr/local/bin/wifi_drivers.shのスクリプトに入れると、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

関連情報