rtl8852be 上的驱动程序包问题

rtl8852be 上的驱动程序包问题

我有一张 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 模块,否则每次内核升级后您都必须重新编译它。

相关内容