Debian

網路無人認領的 Wifi 在新安裝的筆記型電腦 rtl8821ce 中不可用

  • December 2, 2021

我在筆記型電腦上安裝了新的 os debian Bullseye。我在網路管理器中找不到 wifi 選項。

sudo lshw -C network給,

...
 *-network UNCLAIMED
      description: Network controller
      product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
      vendor: Realtek Semiconductor Co., Ltd.
      physical id: 0
      bus info: pci@0000:02:00.0
      version: 00
      width: 64 bits
      clock: 33MHz
      capabilities: pm msi pciexpress cap_list
      configuration: latency=0
      resources: ioport:2000(size=256) memory:c0600000-c060ffff
...

lspci給出類似的輸出

...
Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter
...

lsmod

...
rtw88_8821ce           16384  0
rtw88_8821c            77824  1 rtw88_8821ce
rtw88_pci              28672  1 rtw88_8821ce
...

將反向埠添加到源列表後,我執行

sudo apt install -t bullseye-backports firmware-realtek,然後是節目firmware-realtek is already the newest version (20210315-3)

我可以看到這裡RTL8821C沒有反向埠可用。

的輸出sudo modprobe wl && dmesg | grep wlmodprobe: FATAL: Module wl not found in directory /lib/modules/5.10.0-9-amd64

的輸出ifconfig

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 10.42.0.2  netmask 255.255.255.0  broadcast 10.42.0.255
       inet6 xxxx::xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
       ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
       RX packets 16449  bytes 16751257 (15.9 MiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 13241  bytes 1848301 (1.7 MiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
       inet 127.0.0.1  netmask 255.0.0.0
       inet6 ::1  prefixlen 128  scopeid 0x10<host>
       loop  txqueuelen 1000  (Local Loopback)
       RX packets 129  bytes 11324 (11.0 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 129  bytes 11324 (11.0 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

重新安裝韌體時,我收到以下警告,

W: Possible missing firmware /lib/firmware/amdgpu/arcturus_gpu_info.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_vcn.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_vcn.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_dmcub.bin for module amdgpu

sudo journalctl | grep rtw返回

Nov 18 15:27:26 debian kernel: rtw_8821ce 0000:02:00.0: firmware: failed to load rtw88/rtw8821c_fw.bin (-2)
Nov 18 15:27:26 debian kernel: rtw_8821ce 0000:02:00.0: Direct firmware load for rtw88/rtw8821c_fw.bin failed with error -2
Nov 18 15:27:26 debian kernel: rtw_8821ce 0000:02:00.0: failed to request firmware
Nov 18 15:27:26 debian kernel: rtw_8821ce 0000:02:00.0: failed to load firmware
Nov 18 15:27:26 debian kernel: rtw_8821ce 0000:02:00.0: failed to setup chip efuse info
Nov 18 15:27:26 debian kernel: rtw_8821ce 0000:02:00.0: failed to setup chip information
Nov 18 15:27:26 debian kernel: rtw_8821ce: probe of 0000:02:00.0 failed with error -22
Nov 24 21:38:57 debian kernel: rtw_8821ce 0000:02:00.0: firmware: direct-loading firmware rtw88/rtw8821c_fw.bin
Nov 24 21:38:57 debian kernel: rtw_8821ce 0000:02:00.0: Firmware version 24.8.0, H2C version 12
Nov 24 21:38:57 debian kernel: rtw_8821ce 0000:02:00.0: rfe 2 isn't supported
Nov 24 21:38:57 debian kernel: rtw_8821ce 0000:02:00.0: failed to setup chip efuse info
Nov 24 21:38:57 debian kernel: rtw_8821ce 0000:02:00.0: failed to setup chip information
Nov 30 11:16:48 debian sudo[2358]: username : TTY=pts/0 ; PWD=/home/username ; USER=root ; COMMAND=/usr/sbin/modprobe rtw88_8821ce
Nov 30 11:23:31 debian sudo[2561]: username : TTY=pts/0 ; PWD=/home/username ; USER=root ; COMMAND=/usr/sbin/modprobe rtw88_8821ce

並且sudo dkms status什麼也不返回。

我禁用了安全啟動並重新安裝了驅動程序。但沒有奏效。

從此git 儲存庫安裝驅動程序。正如托馬斯皮尼奧所說:

Wi-Fi 不適用於核心 >= 5.9

Linux Kernel 5.9 版本帶有由 Realtek 開發的損壞的 rtw88 模組,該模組與大多數 8821ce 晶片版本的兼容性很差。

sudo apt install git bc module-assistant build-essential dkms
sudo m-a prepare
echo "blacklist rtw88_8821ce" |sudo tee -a /etc/modprobe.d/blacklist.conf
git clone https://github.com/tomaspinho/rtl8821ce.git
cd rtl8821ce
sudo ./dkms-install.sh

引用自:https://unix.stackexchange.com/questions/679595