gpt4 book ai didi

gcc - Linux Mint 19.1 XFCE下无法编译TPLINK TL-WN822N驱动

转载 作者:行者123 更新时间:2023-12-04 14:20:34 24 4
gpt4 key购买 nike

我有一个 USB wifi 适配器 (TPLINK TL-WN822N。我从制造商那里下载了 linux 驱动程序 download page 并尝试编译它,但是当我尝试运行 make 命令时总是出错。

我有一个带有 XFCE 桌面的 Linux Mint 19.1。 uname -a 给出以下内容:

  • Linux user-HomePC 4.15.0-47-generic#50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

我的看法是gcc版本问题。

我也有一个LXLE linux安装在一台旧PC上,驱动编译可以没有任何错误地完成。安装的驱动程序运行良好。

  • Linux Mint 有一个gcc版本:gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)制作版本:GNU Make 4.1

  • Linux LXLE 有一个gcc版本:gcc version 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11)制作版本:GNU Make 4.1

当我启动 make 命令时,我收到以下消息:


make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.15.0-47-generic/build M=/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047  modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-47-generic'
CC [M] /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o
In file included from /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service.h:47:0,
from /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/drv_types.h:27,
from /home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.c:17:
/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h: In function ‘_init_timer’:
/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h:299:8: error: ‘_timer {aka struct timer_list}’ has no member named ‘data’
ptimer->data = (unsigned long)cntx;
^~
/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/include/osdep_service_linux.h:300:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
init_timer(ptimer);
^~~~~~~~~~
_init_timer
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o' failed
make[2]: *** [/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047/core/rtw_cmd.o] Error 1
Makefile:1552: recipe for target '_module_/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047' failed
make[1]: *** [_module_/home/user/Asztal/rtl8192EU_WiFi_linux_v5.2.19.1_25633.20171222_COEX20171113-0047] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-47-generic'
Makefile:1828: recipe for target 'modules' failed
make: *** [modules] Error 2

如果我是对的,问题是新版本的gcc引起的,那么有没有办法使用其他版本的gcc进行随意编译?

如果是其他问题,那可能是什么?

我是 Linux 平台的新手,可能答案太粗俗了,但如果能提供一些帮助,我们将不胜感激。

附言。抱歉我的英语不是我的母语;

最佳答案

至少我在一点帮助下找到了解决方案。这是我在系统重启后让我的 USB wifi 适配器工作的方法:

  1. 检查更新:sudo apt update
  2. 安装git:sudo apt install git
  3. 从github下载驱动:git clone https://github.com/jeremyb31/rtl8192eu-linux-driver
  4. 切换到驱动目录:cd rtl8192eu-linux-driver
  5. 为您的内核编译驱动程序:make
  6. 将驱动安装到系统中:sudo make install
  7. 加载驱动:sudo modprobe 8192eu

但是程序到这里还没有结束,因为系统会用到原来安装的驱动,所以我们要把它列入黑名单:

  1. 打开对应文件:sudo nano/etc/modprobe.d/realtek.conf
  2. 将黑名单选项插入文件:blacklist rtl8xxxu
  3. 保存文件并退出
  4. 重启系统

现在它应该以正确的方式工作。对我来说它奏效了。

希望对某人有所帮助...

关于gcc - Linux Mint 19.1 XFCE下无法编译TPLINK TL-WN822N驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55628185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com