在 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内核不兼容。
您有以下选择:
- 修补驱动程序以使其兼容。
- 等待其他人做 p.1。
- 使用兼容的内核。