更新至新内核 5.19 后,Realktek 驱动程序 rtl8192eu 停止工作

更新至新内核 5.19 后,Realktek 驱动程序 rtl8192eu 停止工作

在 Ubuntu 22.04 上,内核升级到 5.19 后,WiFi 停止工作。升级内核后,我通常会运行

cd rtl8192eu-linux-driver
make clean
make
sudo make install
sudo modprobe 8192eu

基于此邮政,这样就可以重新启动驱动程序,WiFi 也会重新开始工作。但是,这次,我遇到了一些错误

xander@xander:~/rtl8192eu-linux-driver/rtl8192eu-linux-driver$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.19.0-051900-generic/build M=/home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver  modules
make[1]: Entering directory '/usr/src/linux-headers-5.19.0-051900-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-11 (Ubuntu 11.3.0-5ubuntu1) 11.3.0
  You are using:           gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
  CC [M]  /home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/core/rtw_cmd.o
In file included from /home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/include/osdep_service.h:45,
                 from /home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/include/drv_types.h:32,
                 from /home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/core/rtw_cmd.c:22:
/home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/core/rtw_cmd.c: In function ‘rtw_cmd_thread’:
/home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/include/osdep_service_linux.h:165:31: error: implicit declaration of function ‘complete_and_exit’ [-Werror=implicit-function-declaration]
  165 |         #define thread_exit() complete_and_exit(NULL, 0)
      |                               ^~~~~~~~~~~~~~~~~
/home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/core/rtw_cmd.c:759:9: note: in expansion of macro ‘thread_exit’
  759 |         thread_exit();
      |         ^~~~~~~~~~~
/home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/core/rtw_cmd.c:761:1: error: control reaches end of non-void function [-Werror=return-type]
  761 | }
      | ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:249: /home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver/core/rtw_cmd.o] Error 1
make[1]: *** [Makefile:1849: /home/xander/rtl8192eu-linux-driver/rtl8192eu-linux-driver] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.19.0-051900-generic'
make: *** [Makefile:1700: modules] Error 2

这是基于 5.19 中的新网络更新吗?有没有办法让 wifi 重新工作?

以下是更多信息:

xander@xander:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 2357:0109 TP-Link TL-WN823N v2/v3 [Realtek RTL8192EU]
Bus 003 Device 004: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 003 Device 003: ID 8086:0808 Intel Corp. USB PnP Sound Device
Bus 003 Device 006: ID 05ac:12a8 Apple, Inc. iPhone 5/5C/5S/6/SE
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

xander@xander:~$ sudo modprobe rtl8xxxu && sudo dmesg | grep -i rtl
[sudo] password for xander: 
[  156.327410] usb 3-4: rtl8192eu_parse_efuse: dumping efuse (0x200 bytes):
[  156.327466] usb 3-4: RTL8192EU rev B (SMIC) 2T2R, TX queues 3, WiFi=1, BT=0, GPS=0, HI PA=0
[  156.327468] usb 3-4: RTL8192EU MAC: 7c:c2:c6:09:79:0f
[  156.327470] usb 3-4: rtl8xxxu: Loading firmware rtlwifi/rtl8192eu_nic.bin
[  157.136472] usb 3-4: rtl8192eu_rx_iqk_path_b: Path B RX IQK failed!
[  157.161142] usb 3-4: rtl8192eu_rx_iqk_path_b: Path B RX IQK failed!
[  157.224386] usb 3-4: rtl8192eu_rx_iqk_path_b: Path B RX IQK failed!
[  157.248480] usb 3-4: rtl8192eu_rx_iqk_path_b: Path B RX IQK failed!
[  157.253666] usbcore: registered new interface driver rtl8xxxu
[  157.266091] rtl8xxxu 3-4:1.0 wlx7cc2c609790f: renamed from wlan0

将内核降级到 5.16.20 后我得到:

xander@xander:~$ sudo dmesg | grep wlx
[sudo] password for xander: 
[    4.654790] rtl8192eu 3-4:1.0 wlx7cc2c609790f: renamed from wlan0
[    9.618667] IPv6: ADDRCONF(NETDEV_CHANGE): wlx7cc2c609790f: link becomes ready

在 5.19 上,此命令的输出为空白。

答案1

这意味着您使用的驱动程序与5.19内核不兼容。

您有以下选择:

  1. 修补驱动程序以使其兼容。
  2. 等待其他人做 p.1。
  3. 使用兼容的内核。

相关内容