RTL8852ce のネットワーク コントローラー ドライバーは 20.04 では動作しません

RTL8852ce のネットワーク コントローラー ドライバーは 20.04 では動作しません

新しい Ubuntu 20.04 (カーネル 5.15.0-76) では Wi-Fi が利用できません。ネットワーク ドライバーに問題があるのではないかと思います。

$ lspci

...
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c852 (rev 01)
...
$ sudo lshw -C network

  *-network                 
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: enp3s0
       version: 15
       serial: bc:0f:f3:67:d3:6a
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.15.0-76-generic duplex=full firmware=rtl8168h-2_0.0.2 02/26/15 ip=172.16.8.50 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:63 ioport:7000(size=256) memory:7dc04000-7dc04fff memory:7dc00000-7dc03fff
  *-network UNCLAIMED
       description: Network controller
       product: Realtek Semiconductor Co., Ltd.
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:04:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: ioport:6000(size=256) memory:7db00000-7dbfffff

私は次のステップに従いますhttps://github.com/juanro49/rtl88x2ce-dkmsしかし、再起動後に動作しません。Realtek 8852CE 用の指定されたドライバーがあるかどうか疑問に思います。

編集:

$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
(Only one device detected)

編集:

$ dkms status (has changed after rtw89 installed)
rtl88x2ce, 35403, 5.15.0-76-generic, x86_64: installed

$ lsmod | grep -i rtl (has changed after rtw89 installed)
rtl88x2ce            3149824  0
cfg80211              970752  2 rtl88x2ce,iwlwifi
btrtl                  24576  1 btusb
bluetooth             688128  31 btrtl,btintel,btbcm,bnep,btusb,rfcomm

編集:

$ lspci -nnk | grep 0280 -A3
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c852] (rev 01)
    Subsystem: Hewlett-Packard Company Device [103c:88e5]
05:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a80b] (rev 02)
    Subsystem: Samsung Electronics Co Ltd Device [144d:a80b]

編集: @chili555 に感謝します。適切なドライバーが見つかりました。ただし、rtw89 をインストールした後も Wi-Fi 接続はまだ利用できません。上記のコマンドの出力は次のとおりです。

$ rfkill (unchanged)
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked

$ dkms status (I installed an extra GPU driver, still no Wifi controller driver)
nvidia, 525.125.06, 5.15.0-76-generic, x86_64: installed

$ lsmod | grep -i 8852
rtw_8852ce             16384  0
rtw_8852c             843776  1 rtw_8852ce
rtw89pci               61440  1 rtw_8852ce
rtw89core             516096  2 rtw_8852c,rtw89pci
cfg80211              970752  3 rtw_8852c,rtw89core,mac80211

$ lspci -nnk | grep 0280 -A3
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c852] (rev 01)
    Subsystem: Hewlett-Packard Company Device [103c:88e5]
    Kernel modules: rtw_8852ce
05:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a80b] (rev 02)

$ lspci | grep -i realtek
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c852 (rev 01)

編集: rtw8852ce の読み込み中にエラーが発生しました

$ sudo dmesg | grep rtw
[    1.337824] rtw89core: loading out-of-tree module taints kernel.
[    1.337941] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    1.384238] rtw89_8852ce 0000:04:00.0: Direct firmware load for rtw89/rtw8852c_fw.bin failed with error -2
[    1.384240] rtw89_8852ce 0000:04:00.0: failed to early request firmware: -2
[    1.384294] rtw89_8852ce 0000:04:00.0: enabling device (0000 -> 0003)
[    1.384306] rtw89_8852ce 0000:04:00.0: Direct firmware load for rtw89/rtw8852c_fw.bin failed with error -2
[    1.385072] rtw89_8852ce 0000:04:00.0: failed to wait firmware completion
[    1.385096] rtw89_8852ce 0000:04:00.0: failed to setup chip information
[    1.385390] rtw89_8852ce: probe of 0000:04:00.0 failed with error -22

編集: .bin を /usr/lib/firmware/rtw89 にダウンロードした後:

$ sudo dmesg | grep rtw
[    1.660630] rtw89core: loading out-of-tree module taints kernel.
[    1.660756] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    1.675602] rtw89_8852ce 0000:04:00.0: loaded firmware rtw89/rtw8852c_fw.bin
[    1.675651] rtw89_8852ce 0000:04:00.0: enabling device (0000 -> 0003)
[    1.684467] rtw89_8852ce 0000:04:00.0: Firmware version 67.84.89.80, cmd version 62, type 1
[    1.684479] rtw89_8852ce 0000:04:00.0: MAC has already powered on
[    1.689998] rtw89_8852ce 0000:04:00.0: [ERR]invalid fw dynamic header len
[    1.690022] rtw89_8852ce 0000:04:00.0: parse fw header fail
[    1.690032] rtw89_8852ce 0000:04:00.0: [ERR]fwdl 0x1E0 = 0x1
[    1.690040] rtw89_8852ce 0000:04:00.0: [ERR]fwdl 0x83F2 = 0xdead
[    1.690056] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002aa
[    1.690085] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690109] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690133] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690155] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b2
[    1.690181] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690204] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b4
[    1.690230] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690258] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690284] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690311] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002be
[    1.690337] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690367] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690394] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690420] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690446] rtw89_8852ce 0000:04:00.0: failed to setup chip information
[    1.691038] rtw89_8852ce: probe of 0000:04:00.0 failed with error -22

編集: 最新版の #1 で @chili555 によって解決されました。

答え1

まず、効果のないドライバーを削除してください:

sudo dkms remove rtl88x2ce/35403 --all

次に、正しいドライバーをインストールします。

sudo apt install --reinstall git bc
git clone https://github.com/lwfinger/rtw89.git
cd rtw89
make
sudo make install

おそらくセキュアブートを無効にする必要があります。再起動してください。

カーネルのバージョンが変更された場合は、次の操作を行う必要があります。

cd ~/rtw89
git pull
make clean
make
sudo make install

編集: 必要なファームウェアをロードしましょう:

cd /usr/lib/firmware/
sudo mkdir rtw89
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rtw89/rtw8852c_fw.bin

リブート。

関連情報