![rtl8852be 上的驱动程序包问题](https://linux22.com/image/951222/rtl8852be%20%E4%B8%8A%E7%9A%84%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%8C%85%E9%97%AE%E9%A2%98.png)
我有一张 rtl8852be WiFi 卡。在软件无法与卡配合使用后,我遇到了一些初始问题,我偶然发现了这个帖子:在 ubuntu 22.04 中未找到 wifi 适配器 realtek RTL8852BE WiFi 6 802.11ax PCIe
这种方法在过去几个月一直有效,但在上次内核更新后,我重新编译后收到以下消息:
elli@elli-ThinkPad-E15-Gen-4:~/rtl8852be$ make
#rm -f .symvers.8852be
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.19.0-32-generic/build M=/home/elli/rtl8852be modules
make[1]: Verzeichnis „/usr/src/linux-headers-5.19.0-32-generic“ wird betreten
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
CC [M] /home/elli/rtl8852be/platform/platform_linux_pc_pci.o
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c: In function ‘pci_cache_wback’:
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c:21:17: error: implicit declaration of function ‘pci_dma_sync_single_for_device’; did you mean ‘dma_sync_single_for_device’? [-Werror=implicit-function-declaration]
21 | pci_dma_sync_single_for_device(hwdev, *bus_addr, size,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| dma_sync_single_for_device
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c: In function ‘pci_cache_inv’:
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c:30:17: error: implicit declaration of function ‘pci_dma_sync_single_for_cpu’; did you mean ‘dma_sync_single_for_cpu’? [-Werror=implicit-function-declaration]
30 | pci_dma_sync_single_for_cpu(hwdev, *bus_addr, size, direction);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| dma_sync_single_for_cpu
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c: In function ‘pci_get_bus_addr’:
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c:39:29: error: implicit declaration of function ‘pci_map_single’; did you mean ‘dma_map_single’? [-Werror=implicit-function-declaration]
39 | *bus_addr = pci_map_single(hwdev, vir_addr, size, direction);
| ^~~~~~~~~~~~~~
| dma_map_single
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c: In function ‘pci_unmap_bus_addr’:
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c:50:17: error: implicit declaration of function ‘pci_unmap_single’; did you mean ‘dma_unmap_single’? [-Werror=implicit-function-declaration]
50 | pci_unmap_single(hwdev, *bus_addr, size, direction);
| ^~~~~~~~~~~~~~~~
| dma_unmap_single
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c: In function ‘pci_free_noncache_mem’:
/home/elli/rtl8852be/platform/platform_linux_pc_pci.c:97:17: error: implicit declaration of function ‘pci_free_consistent’ [-Werror=implicit-function-declaration]
97 | pci_free_consistent(pdev, size, vir_addr, *bus_addr);
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:257: /home/elli/rtl8852be/platform/platform_linux_pc_pci.o] Fehler 1
make[1]: *** [Makefile:1850: /home/elli/rtl8852be] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-5.19.0-32-generic“ wird verlassen
make: *** [Makefile:637: modules] Fehler 2
抱歉,德语部分有点问题。提前致谢。
答案1
您的驱动程序不是为 5.19 内核构建的。
通过以下方式安装另一个
git clone https://github.com/HRex39/rtl8852be.git -b dev
cd rtl8852be
make
sudo make install
sudo modprobe 8852be
但是除非您创建 DKMS 模块,否则每次内核升级后您都必须重新编译它。