![Ubuntu 22.04:基于 RTL8821CE 的 wifi 无法正常工作](https://linux22.com/image/951199/Ubuntu%2022.04%EF%BC%9A%E5%9F%BA%E4%BA%8E%20RTL8821CE%20%E7%9A%84%20wifi%20%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
我从 20.04 LTS 升级到了 22.04 LTS。PC 上装有 RTL8821CE wifi 硬件。20.04 上 wifi 运行正常;22.04 上没有 wifi。
注意:我去年购买的 PC 预装了 20.04 版本,当时 wifi 无法使用。在 20.04 版本上,我通过许多帖子设法让它工作正常。现在使用 22.04 版本,我无法成功。
我浏览了许多有关 RTL8821CE 问题的帖子,但显然错过了纠正问题的命令键序列。有人可以深入研究我获取的信息(见附件)以尝试了解我可以尝试做什么来使 wifi 正常工作吗?
不知道是否以及如何附加包含我收集的信息的文件,所以我必须将它们包含在下面。
我不“喜欢”下面的第 15 点,其输出如下:[7.805121] 8821ce:不同意符号 __cfg80211_alloc_event_skb 的版本[7.805128] 8821ce:未知符号 __cfg80211_alloc_event_skb (err -22)[7.805140] 8821ce:不同意符号 wiphy_register 的版本[7.805142] 8821ce:未知符号 wiphy_register (err -22)
但我无法将这些消息链接到我可以尝试的具体操作。
非常感谢,很抱歉发了这么长的帖子:-) 问候 Fred
fred@fred-CoreBookLite:~$ lsb_release -a 没有可用的 LSB 模块。 分销商 ID:Ubuntu 描述:Ubuntu 22.04.1 LTS 发行版:22.04 代号:jammy fred@fred-CoreBookLite:~$
fred@fred-CoreBookLite:~$ uname -r 5.15.0-60-generic
这是我迄今为止获取的信息(我只报告与 RTL8821CE 相关的信息)。
- fred@fred-CoreBookLite:~$ sudo lshw
配置:启动=正常底盘=笔记本系列=默认字符串 sku=CBL15C
*-pci
description: PCI bridge
product: Gemini Lake PCI Express Root Port
vendor: Intel Corporation
physical id: 14
bus info: pci@0000:00:14.0
version: f6
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:122 ioport:e000(size=4096) memory:a1100000-a11fffff
*-network UNCLAIMED
description: Network controller
product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: Realtek Semiconductor Co., Ltd.
- fred@fred-CoreBookLite:~$ sudo lshw -short
/0/100/14/0 网络 RTL8821CE 802.11ac PCIe 无线网络适配器
fred@fred-CoreBookLite:~$ inxi -Fz 网络:设备 1:Realtek RTL8821CE 802.11ac PCIe 无线网络适配器驱动程序:N/A(在我看来没有 wifi 驱动程序!!!!!!?????)
fred@fred-CoreBookLite:~$ lspci -knn | grep -A 2 -i net 01:00.0 网络控制器 [0280]: 瑞昱半导体有限公司 RTL8821CE 802.11ac PCIe 无线网络适配器 [10ec:c821]
子系统: 瑞昱半导体有限公司 RTL8821CE 802.11ac PCIe 无线网络适配器 [10ec:c821] 内核模块: rtw88_8821ce、8821cefred@fred-CoreBookLite:~$ lspci -vvnn 01:00.0 网络控制器 [0280]: 瑞昱半导体有限公司 RTL8821CE 802.11ac PCIe 无线网络适配器 [10ec:c821] 子系统: 瑞昱半导体有限公司 RTL8821CE 802.11ac PCIe 无线网络适配器 [10ec:c821] 控制: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- 状态: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx- 中断: 引脚 A 路由至 IRQ 255 区域 0: e000 处的 I/O 端口 [已禁用] [size=256] 区域 2:位于 a1100000 的内存(64 位,不可预取)[已禁用] [size=64K] 功能:内核模块:rtw88_8821ce、8821ce
fred@fred-CoreBookLite:~$ nmcli general STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
连接完全启用已启用已启用已启用 fred@fred-CoreBookLite:~$fred@fred-CoreBookLite:~$ nmcli 连接 名称 UUID 类型 设备
有线连接 2 6caf9b67-1f13-31d3-aa8e-5c767b600758 以太网 enx00e04c534458 AC94-2.4GHz 1268664e-14fb-45d7-b5a4-125dde514150 wifi --
AC94-guest 49dfbe6e-52bb-4f6e-ad38-59692e24fcc1 wifi --
Fred Ulefone Note 9P a748d918-1d11-4273-ae06-40b0ae93b14c wifi --
H369A904462 67a7b8f9-ed9d-4a3a-a47d-a42c018ccfa5 wifi --
有线连接 1 7ff51297-d011-3d6a-ae55-975bafee5f5b 以太网 --
问题:如果 22.04 上的 wifi 卡无法工作,22.04 如何知道我拥有的 wifi 网络?信息取自旧的 20.04 安装?
- fred@fred-CoreBookLite:~$ ifconfig (= ifconfig -a) enx00e04c534458: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.95 网络掩码 255.255.255.0 广播 192.168.1.255 inet6 fe80::e7f4:a64e:41b4:6e76 prefixlen 64 scopeid 0x20 ether 00:e0:4c:53:44:58 txqueuelen 1000 (以太网) RX 数据包 3885 字节 2900350 (2.9 MB) RX 错误 30 丢弃 5 超限 6 帧 39 TX 数据包 3781 字节 1335914 (1.3 MB)TX 错误 0 丢失 0 超限 0 载波 0 冲突 0
enx1609010d2dc2:flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 16:09:01:0d:2d:c2 txqueuelen 1000(以太网)RX 数据包 0 字节 0(0.0 B)RX 错误 0 丢弃 0 超限 0 帧 0 TX 数据包 0 字节 0(0.0 B)TX 错误 0 丢弃 0 超限 0 载波 0 冲突 0
lo:标志=73 <UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 网络掩码 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000(本地环回) RX 数据包 13709 字节 1120093(1.1 MB) RX 错误 0 丢弃 0 超限 0 帧 0 TX 数据包 13709 字节 1120093(1.1 MB) TX 错误 0 丢弃 0 超限 0 载波 0 冲突 0
即:没有wifi接口(例如wlan0)
fred@fred-CoreBookLite:~$ rfkill list all 0: hci0: Bluetooth 软阻止:否 硬阻止:否
fred@fred-CoreBookLite:~$ lshw -C network 警告:您应该以超级用户身份运行此程序。 *-network UNCLAIMED
描述:网络控制器 产品:RTL8821CE 802.11ac PCIe 无线网络适配器 供应商:瑞昱半导体有限公司 物理 ID:0 总线信息:pci@0000:01:00.0 版本:00 宽度:64 位 时钟:33MHz 功能:cap_list 配置:延迟=0 资源:ioport:e000(size=256) 内存:a1100000-a110fffffred@fred-CoreBookLite:~$ dkms status backport-iwlwifi/9858, 5.15.0-58-generic, x86_64: mounted backport-iwlwifi/9858, 5.15.0-60-generic, x86_64: mounted rtl8821ce/5.5.2.1~ppa, 5.15.0-58-generic, x86_64: mounted (警告!构建模块与安装模块有差异!) rtl8821ce/5.5.2.1~ppa, 5.15.0-60-generic, x86_64:built rtl8821ce/v5.5.2_34066.20200325, 5.13.0-35-generic, x86_64:built rtl8821ce/v5.5.2_34066.20200325,5.13.0-37-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.13.0-39-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.13.0-40-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.13.0-41-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325, 5.13.0-44-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.13.0-48-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.13.0-51-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.13.0-52-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325,5.15.0-41-generic,x86_64:构建rtl8821ce/v5.5.2_34066.20200325, 5.15.0-46-generic, x86_64: 构建 rtl8821ce/v5.5.2_34066.20200325, 5.15.0-48-generic, x86_64: 构建 rtl8821ce/v5.5.2_34066.20200325, 5.15.0-50-generic, x86_64: 构建 rtl8821ce/v5.5.2_34066.20200325, 5.15.0-52-generic, x86_64: 构建 rtl8821ce/v5.5.2_34066.20200325, 5.15.0-53-generic,x86_64:构建了 rtl8821ce/v5.5.2_34066.20200325,5.15.0-56-generic,x86_64:构建了 rtl8821ce/v5.5.2_34066.20200325,5.15.0-57-generic,x86_64:构建了 rtl8821ce/v5.5.2_34066.20200325,5.15.0-58-generic,x86_64:构建了 rtl8821ce/v5.5.2_34066.20200325,5.15.0-60-generic,x86_64:已安装rtl8821ce/v5.5.2_34066.20200325,5.6.11-microtech,x86_64:已安装 fred@fred-CoreBookLite:~$
fred@fred-CoreBookLite:~$ sudo apt install --reinstall git dkms build-essential linux-headers-$(uname -r) 安装 linux-headers-5.15.0-60-generic (5.15.0-60.66) su (5.15.0-60.66).. 配置 linux-headers-5.15.0-60-generic (5.15.0-60.66)... /etc/kernel/header_postinst.d/dkms:
- dkms:正在运行针对内核 5.15.0-60-generic 的自动安装服务
8821ce.ko:正在运行模块版本完整性检查。!!!!!错误!8821ce.ko 的模块版本 v5.5.2_34066.20200325_COEX20180712-3232 并不比内核 5.15.0-60-generic 中已找到的版本(v5.5.2_3406 6.20200325_COEX20180712-3232)新。您可以通过指定 --force 进行覆盖。
depmod.... ...完成。 dkms 配置(2.8.7-2ubuntu2.1)... git 配置(1:2.34.1-1ubuntu1.8)... build-essential 配置(12.9ubuntu3)... 使用 man-db 触发器的详细说明(2.10.2-1)... 克隆到“rtl8821ce”... 远程:枚举对象:1777,完成。 远程:计数对象:100%(112/112),完成。 远程:压缩对象:100%(81/81),完成。 远程:总计 1777(增量 47),重用 67(增量 31),打包重用 1665 接收对象:100%(1777/1777),5.98 MiB | 654.00 KiB/s,已完成。正在解析增量:100% (976/976),已完成。即将运行 dkms 安装步骤... 错误!DKMS 树已包含:rtl8821ce-v5.5.2_34066.20200325 您不能多次添加相同的模块/版本组合。模块 rtl8821ce/v5.5.2_34066.20200325 已为内核 5.15.0-60-generic (x86_64) 构建。
8821ce.ko:正在运行模块版本健全性检查。
!!!!!好消息!8821ce.ko 的模块版本 v5.5.2_34066.20200325_COEX20180712-3232 与内核 5.15.0-60-generic 中已找到的模块完全匹配。DKMS 不会替换此模块。您可以通过指定 --force 来覆盖。
depmod... 已完成运行 dkms 安装步骤。
- fred@fred-CoreBookLite:~$ sudo apt install rtl8821ce-dkms 读取软件包... 生成附加文件... 读取有关状态的信息... rtl8821ce
-dkms 是较新的版本(2: 5.5.2.1~焦点10)。 0 更新,0 安装,0 卸载和 0 不更新。 fred@fred-CoreBookLite:~$
它说 rtl8821ce-dkms 已经是最新版本 (2:5.5.2.1~focal10)
fred@fred-CoreBookLite:~$ ls -al /lib/modules/$(uname -r)/updates/dkms 总计 9572 drwxr-xr-x 2 root root 4096 2 月 15 日 12:17 . drwxr-xr-x 3 root root 4096 2 月 10 日 11:08 .. -rw-r--r-- 1 root root 3844525 2 月 10 日 11:08 8821ce.ko
fred@fred-CoreBookLite:~$ sudo dmesg | grep 8821 [ 7.805121] 8821ce:不同意符号 __cfg80211_alloc_event_skb 的版本 [ 7.805128] 8821ce:未知符号 __cfg80211_alloc_event_skb(err -22)[ 7.805140] 8821ce:不同意符号 wiphy_register 的版本 [ 7.805142] 8821ce:未知符号 wiphy_register(err -22)[ 7.805154] 8821ce:不同意符号 cfg80211_remain_on_channel_expired 的版本 [ 7.805155] 8821ce:未知符号 cfg80211_remain_on_channel_expired(err -22)[ 7.805188] 8821ce:不同意符号 cfg80211_vendor_cmd_reply 的版本 [7.805189] 8821ce:未知符号 cfg80211_vendor_cmd_reply (err -22) [7.805206] 8821ce:不同意符号 cfg80211_del_sta_sinfo 的版本 [7.805207] 8821ce:未知符号 cfg80211_del_sta_sinfo (err -22) [7.805220] 8821ce:不同意符号 wiphy_unregister 的版本 [7.805221] 8821ce:未知符号 wiphy_unregister (err -22) [7.805265] 8821ce:不同意符号 cfg80211_ch_switch_notify 的版本 [7.805266] 8821ce:未知符号 cfg80211_ch_switch_notify (err -22) [7.805279] 8821ce:不同意符号 ieee80211_get_channel_khz 的版本 [7.805280] 8821ce:未知符号 ieee80211_get_channel_khz (err -22) [7.805298] 8821ce:不同意符号 cfg80211_ready_on_channel 的版本 [7.805299] 8821ce:未知符号 cfg80211_ready_on_channel (err -22) [7.805343] 8821ce:不同意符号 wiphy_free 的版本 [7.805344] 8821ce:未知符号 wiphy_free(err -22)[7.805350] 8821ce:不同意符号 wiphy_new_nm 的版本 [7.805351] 8821ce:未知符号 wiphy_new_nm(err -22)[7.805358] 8821ce:不同意符号 cfg80211_get_bss 的版本 [7.805359] 8821ce:未知符号 cfg80211_get_bss(err -22)[7.805385] 8821ce:不同意符号 __cfg80211_send_event_skb 的版本 [7.805387] 8821ce:未知符号 __cfg80211_send_event_skb(err -22)[7.805409] 8821ce:不同意符号 cfg80211_disconnected 的版本[7.805410] 8821ce:未知符号 cfg80211_disconnected(err -22)[7.805419] 8821ce:不同意符号 cfg80211_michael_mic_failure 的版本[7.805420] 8821ce:未知符号 cfg80211_michael_mic_failure(err -22)[7.805430] 8821ce:不同意符号 cfg80211_ibss_joined 的版本[7.805431] 8821ce:未知符号 cfg80211_ibss_joined(err -22)[7.805483] 8821ce:不同意符号 cfg80211_scan_done 的版本[7.805484] 8821ce:未知符号 cfg80211_scan_done(err -22)[7.805498] 8821ce:不同意符号 cfg80211_roamed 的版本[7.805499] 8821ce:未知符号 cfg80211_roamed(err -22)[7.805503] 8821ce:不同意符号 cfg80211_put_bss 的版本[7.805504] 8821ce:未知符号cfg80211_put_bss (err -22) [ 7.805521 ] 8821ce: 对符号 cfg80211_connect_done 的版本有不同意见 [ 7.805522 ] 8821ce:未知符号 cfg80211_connect_done (err -22) [ 7.805543 ] 8821ce:不同意符号 cfg80211_unlink_bss 的版本 [ 7.805545 ] 8821ce:未知符号 cfg80211_unlink_bss (err -22) [ 7.805560 ] 8821ce:不同意符号 cfg80211_inform_bss_frame_data 的版本 [ 7.805561 ] 8821ce:未知符号 cfg80211_inform_bss_frame_data (err -22) [ 7.805572 ] 8821ce:不同意符号 cfg80211_new_sta 的版本 [ 7.805573 ] 8821ce:未知符号cfg80211_new_sta (err -22) [ 7.805589] 8821ce: 对符号 __cfg80211_alloc_reply_skb 的版本有不同意见 [ 7.805590] 8821ce: 未知符号 __cfg80211_alloc_reply_skb (err -22) [ 7.805601] 8821ce: 对符号 wiphy_apply_custom_regulatory 的版本有不同意见 [ 7.805602] 8821ce: 未知符号 wiphy_apply_custom_regulatory (err -22) [ 7.805609] 8821ce: 对符号 cfg80211_mgmt_tx_status 的版本有不同意见 [ 7.805610] 8821ce: 未知符号cfg80211_mgmt_tx_status (err -22) [ 7.805615] 8821ce:对符号 cfg80211_rx_mgmt_khz 的版本有不同意见 [ 7.805616] 8821ce:未知符号 cfg80211_rx_mgmt_khz (err -22) [ 7.812602] 蓝牙:hci0:RTL:检查 hci_ver=08 hci_rev=000c lmp_ver=08 lmp_subver=8821 [ 7.813588] 蓝牙:hci0:RTL:加载 rtl_bt/rtl8821c_fw.bin [ 7.815764] 蓝牙:hci0:RTL:加载 rtl_bt/rtl8821c_config.bin fred@fred-CoreBookLite:~$
答案1
我们在您的 中注意到了这一点sudo dkms status
:
backport-iwlwifi/9858, 5.15.0-60-generic, x86_64: installed
我相信backport-iwlwifi-dkms
会安装其自己的自定义版本,cfg80211
也可能是其他版本。它与内核中通常找到的版本以及您安装的驱动程序冲突8821ce
是为了使用而建造的。
由于您没有使用 iwlwifi 的英特尔无线设备,我建议您删除冲突的驱动程序套件:
sudo apt purge backport-iwlwifi-dkms
重启。你的无线网络现在应该可以正常工作了。