AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1401475
Accepted
xtrchessreal
xtrchessreal
Asked: 2022-04-09 00:44:22 +0800 CST2022-04-09 00:44:22 +0800 CST 2022-04-09 00:44:22 +0800 CST

为什么在 20.04.4 LTS 内核更新期间删除 RTL8821CE 或 WIFI

  • 772

我的问题是两方面的。

  1. 为什么内核更新会破坏我的 WIFI?我对细节感兴趣,正在工作的机制将其淘汰。

  2. 有什么办法可以防止这种情况发生吗?再次详细说明,我没有计算机技能,我不知道脚本等。

背景资料

我曾经历过三次内核更新导致同一台计算机上的 wifi 中断。20.04 LTS

  1. 我第一次在 AU 上找到解决方案时,通过 Tomaspinho github 驱动程序页面和#that 找不到链接了。我手动下载了驱动程序 zip 文件,解压缩并将文件夹从 RTL8821CE-Master 重命名为 RTL8821CE 然后 cd Downloads/rtl8821ce/ 或右键单击文件夹打开终端

sudo apt install bc module-assistant build-essential dkms

sudo m-a prepare

sudo ./dkms-install.sh

reboot

  1. 第二次发生这种情况,第一个解决方案不起作用。我使用以下命令通过 AU 找到了另一个解决方案:

sudo apt remove rtl8821ce-dkms && sudo apt install rtl8821ce-dkms

reboot

  1. 第三次内核更新破坏了我的 WIFI,我再次使用了第二个解决方案,但它失败了,#did not work。我再次尝试了第一个解决方案 - #that 也失败了。

经过几个小时的研究以找到解决方案,但没有找到解决方案,我决定将手机永远拴在电脑上,而不是处理未来的情况。考虑到这个想法,我最后一次使用以下命令删除了驱动程序:

sudo apt remove rtl8821ce-dkms

reboot

WIFI现在正在工作......这是 怎么发生的?我不知道。

5.13.0.39 刚刚通过软件更新程序作为定期更新安装,发生在 22 年 4 月 7 日

安全启动已关闭

我在 AU 上发现了 299 个有关 RTL8821CE 的问题,其中许多问题与安装驱动程序的问题相同,但没有人回答为什么内核更新会破坏我机器上的 wifi。

在我尝试过的答案中,没有一个对我有用。但不知何故,驱动程序在删除它后工作 - 我不明白,这导致我在上面提出这个问题。

当然,如果您需要我的机器上的任何信息,请告诉我什么以及如何以您想要的格式获取它,我将很乐意为您服务。

也许是我一遍又一遍地使用命令的日记,以准确显示发生了什么。索取即可,请注明日志命令和格式。

Ubuntu 20.04.4 LTS

惠普笔记本电脑 15-ef1082nr

FCC ID:TX2-rtl8821ce

集成电路:6317A-rtl8821ce

**sudo lshw -C network
[sudo] password for x: 
  *-network                 
       description: Wireless interface
       product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlo1
       version: 00
       serial: UN:ID:EN:TI:FI:ED
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtw_8821ce driverversion=5.13.0-39-generic firmware=N/A ip=192.168.0.161 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:56 ioport:f000(size=256) memory:fce00000-fce0ffff

lspci -nnk | grep 0280 -A3
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
    DeviceName: Realtek Chopard RTL8821CE 802.11ac 1x1 +BT 4.2 M.2 2230 PCI-e+USB WW
    Subsystem: Hewlett-Packard Company RTL8821CE 802.11ac PCIe Wireless Network Adapter [103c:831a]
    Kernel driver in use: rtw_8821ce

nmcli d
DEVICE  TYPE      STATE      CONNECTION 
wlo1    wifi      connected  my connection 
lo      loopback  unmanaged  --   

sudo dmesg | grep 8821
[    4.089669] Bluetooth: hci0: RTL: examining hci_ver=08 hci_rev=000c lmp_ver=08 lmp_subver=8821
[    4.096760] Bluetooth: hci0: RTL: loading rtl_bt/rtl8821c_fw.bin
[    4.097817] Bluetooth: hci0: RTL: loading rtl_bt/rtl8821c_config.bin
[    4.166208] rtw_8821ce 0000:02:00.0: enabling device (0000 -> 0003)
[    4.167688] rtw_8821ce 0000:02:00.0: Firmware version 24.8.0, H2C version 12
[    4.399449] 8821ce: loading out-of-tree module taints kernel.
[    4.414707] 8821ce: module verification failed: signature and/or required key missing - tainting kernel
[    4.519533] proc_dir_entry 'net/rtl8821ce' already registered
[    4.519561] Modules linked in: rtl8821ce(OE+) snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core 8821ce(OE) snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event amdgpu(+) intel_rapl_msr snd_rawmidi intel_rapl_common iommu_v2 rtw88_8821ce gpu_sched drm_ttm_helper rtw88_8821c ttm edac_mce_amd rtw88_pci btusb snd_seq drm_kms_helper btrtl btbcm snd_seq_device cec btintel snd_timer rtw88_core rc_core bluetooth kvm snd_rn_pci_acp3x i2c_algo_bit fb_sys_fops snd snd_pci_acp3x syscopyarea ecdh_generic sysfillrect ecc sysimgblt ccp joydev soundcore mac80211 crct10dif_pclmul ghash_clmulni_intel aesni_intel hp_wmi crypto_simd platform_profile sparse_keymap cryptd cfg80211 rapl input_leds uvcvideo libarc4 serio_raw hid_multitouch k10temp efi_pstore wmi_bmof videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc hp_wireless mac_hid acpi_tad sch_fq_codel ipmi_devintf ipmi_msghandler msr parport_pc ppdev lp parport drm ip_tables x_tables autofs4
[    4.519748]  rtw_drv_proc_init+0x3b/0xc8 [rtl8821ce]
[    4.519884]  rtw_drv_entry+0x28/0x1000 [rtl8821ce]
[    4.520104] WARNING: CPU: 1 PID: 337 at /var/lib/dkms/rtl8821ce/5.5.2.1/build/os_dep/linux/rtw_proc.c:296 rtw_drv_proc_init+0x54/0xc8 [rtl8821ce]
[    4.520220] Modules linked in: rtl8821ce(OE+) snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core 8821ce(OE) snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event amdgpu(+) intel_rapl_msr snd_rawmidi intel_rapl_common iommu_v2 rtw88_8821ce gpu_sched drm_ttm_helper rtw88_8821c ttm edac_mce_amd rtw88_pci btusb snd_seq drm_kms_helper btrtl btbcm snd_seq_device cec btintel snd_timer rtw88_core rc_core bluetooth kvm snd_rn_pci_acp3x i2c_algo_bit fb_sys_fops snd snd_pci_acp3x syscopyarea ecdh_generic sysfillrect ecc sysimgblt ccp joydev soundcore mac80211 crct10dif_pclmul ghash_clmulni_intel aesni_intel hp_wmi crypto_simd platform_profile sparse_keymap cryptd cfg80211 rapl input_leds uvcvideo libarc4 serio_raw hid_multitouch k10temp efi_pstore wmi_bmof videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc hp_wireless mac_hid acpi_tad sch_fq_codel ipmi_devintf ipmi_msghandler msr parport_pc ppdev lp parport drm ip_tables x_tables autofs4
[    4.520313] RIP: 0010:rtw_drv_proc_init+0x54/0xc8 [rtl8821ce]
[    4.520453]  rtw_drv_entry+0x28/0x1000 [rtl8821ce]
[    4.520667] Error: Driver 'rtl8821ce' is already registered, aborting...
[    4.608104] rtw_8821ce 0000:02:00.0 wlo1: renamed from wlan0
[    6.682777] rtw_8821ce 0000:02:00.0: start vif UN:ID:EN:TI:FI:ED on port 0
[   11.754652] rtw_8821ce 0000:02:00.0: sta UN:ID:EN:TI:FI:ED joined with macid 0 

uname -r
5.13.0-39-generic**

lsmod | grep 8821
8821ce               1794048  0
rtw88_8821ce           16384  0
rtw88_8821c            94208  1 rtw88_8821ce
rtw88_pci              24576  1 rtw88_8821ce
rtw88_core            200704  2 rtw88_pci,rtw88_8821c
cfg80211              888832  3 rtw88_core,mac80211,8821ce

sudo dkms status
[sudo] password for x: 
rtl8821ce, v5.5.2_34066.20200325, 5.13.0-39-generic, x86_64: built

编辑:我只是想填补一些导致我陷入这个不幸职位的难题,以便其他人可以从我的错误中吸取教训。

当这台计算机是开箱即用的新计算机时,我取出了带有 Windows 版本“n”的 SSD,并在打开设备电源之前用另一个空的新开箱即用 SSD 替换它。在安装 Ubuntu 20.04.3 LTS 之前,我从 USB Live 运行 Ubuntu 以确保它处于正常工作状态。在这次 Ubuntu Live 测试期间,WIFI 工作正常。

安装后WIFI不可用。我用手机连接起来,匆忙使用了满足明显条件的第一个答案。我安装了 rtl8821ce 驱动程序并重新启动。这让我的 WIFI 工作。但是,如上所述,这最终导致了后来的冲突。

在安装驱动程序之前请谨慎和耐心,寻求帮助并等待这个社区的好人来帮助你。:)

通过下面的步骤和答案,我有一个工作良好的 Wifi,包括最新的内核更新:5.15.0-41。

networking
  • 1 1 个回答
  • 1259 Views

1 个回答

  • Voted
  1. Best Answer
    chili555
    2022-04-09T04:35:20+08:002022-04-09T04:35:20+08:00

    您的 wifi 在内核更新后不再工作,因为最新的内核包含一个不能很好工作的内置模块 rtw88_8821ce,此外,与您之前下载和安装的驱动程序冲突。让我们将其删除并将其列入黑名单:

    sudo -i
    modprobe -r rtw88_8821ce
    modprobe 8821ce
    echo “blacklist rtw88_8821ce”  >>  /etc/modprobe.d/blacklist.conf
    exit
    

    您的 wifi 现在应该可以正常工作了,尽管它可能需要重新启动。

    编辑:您可以通过列出正在使用的模块并过滤 8821 来验证正在使用的驱动程序:

    lsmod | grep 8821
    

    您可以查看 dkms 安装了哪些驱动程序:

    sudo dkms status
    

    根据这些读数的结果,我将在另一个编辑中建议进一步的步骤。

    您的 dmesg 中的这一行表明两个驱动程序存在冲突:

    错误:驱动程序“rtl8821ce”已注册,正在中止...

    编辑 2:在我们的聊天中,我们发现存在三个冲突的驱动程序:8821ce、rtl8821ce 和本机内核驱动程序 rtw88_8821ce。

    我们将其中两个列入黑名单,看看这三个中的哪一个可以正确驱动您的无线设备。我们继续列入黑名单并重新启动,直到我们发现最好的工作驱动程序是 rtw88_8821ce。我们将 blacklist.conf 文件保留在该状态。

    然后我们从 dkms 中删除了其他驱动程序。最后,您的无线工作正常。

    • 3

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve