![ac600 驱动程序无法编译](https://linux22.com/image/1163102/ac600%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%97%A0%E6%B3%95%E7%BC%96%E8%AF%91.png)
我需要获取 tp-link ac600 的驱动程序。我写下以下命令:
git clone https://github.com/ulli-kroll/mt7610u.git
cd mt7610u
make
执行命令后make
我收到以下错误:
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5723:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_TSFT’
IEEE80211_RADIOTAP_TSFT = 0,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:53:2: note: previous definition of ‘IEEE80211_RADIOTAP_TSFT’ was here
IEEE80211_RADIOTAP_TSFT = 0,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5724:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_FLAGS’
IEEE80211_RADIOTAP_FLAGS = 1,
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:54:2: note: previous definition of ‘IEEE80211_RADIOTAP_FLAGS’ was here
IEEE80211_RADIOTAP_FLAGS = 1,
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5725:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_RATE’
IEEE80211_RADIOTAP_RATE = 2,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:55:2: note: previous definition of ‘IEEE80211_RADIOTAP_RATE’ was here
IEEE80211_RADIOTAP_RATE = 2,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5726:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_CHANNEL’
IEEE80211_RADIOTAP_CHANNEL = 3,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:56:2: note: previous definition of ‘IEEE80211_RADIOTAP_CHANNEL’ was here
IEEE80211_RADIOTAP_CHANNEL = 3,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5727:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_FHSS’
IEEE80211_RADIOTAP_FHSS = 4,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:57:2: note: previous definition of ‘IEEE80211_RADIOTAP_FHSS’ was here
IEEE80211_RADIOTAP_FHSS = 4,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5728:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_DBM_ANTSIGNAL’
IEEE80211_RADIOTAP_DBM_ANTSIGNAL = 5,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:58:2: note: previous definition of ‘IEEE80211_RADIOTAP_DBM_ANTSIGNAL’ was here
IEEE80211_RADIOTAP_DBM_ANTSIGNAL = 5,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5729:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_DBM_ANTNOISE’
IEEE80211_RADIOTAP_DBM_ANTNOISE = 6,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:59:2: note: previous definition of ‘IEEE80211_RADIOTAP_DBM_ANTNOISE’ was here
IEEE80211_RADIOTAP_DBM_ANTNOISE = 6,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5730:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_LOCK_QUALITY’
IEEE80211_RADIOTAP_LOCK_QUALITY = 7,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:60:2: note: previous definition of ‘IEEE80211_RADIOTAP_LOCK_QUALITY’ was here
IEEE80211_RADIOTAP_LOCK_QUALITY = 7,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5731:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_TX_ATTENUATION’
IEEE80211_RADIOTAP_TX_ATTENUATION = 8,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:61:2: note: previous definition of ‘IEEE80211_RADIOTAP_TX_ATTENUATION’ was here
IEEE80211_RADIOTAP_TX_ATTENUATION = 8,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5732:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_DB_TX_ATTENUATION’
IEEE80211_RADIOTAP_DB_TX_ATTENUATION = 9,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:62:2: note: previous definition of ‘IEEE80211_RADIOTAP_DB_TX_ATTENUATION’ was here
IEEE80211_RADIOTAP_DB_TX_ATTENUATION = 9,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5733:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_DBM_TX_POWER’
IEEE80211_RADIOTAP_DBM_TX_POWER = 10,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:63:2: note: previous definition of ‘IEEE80211_RADIOTAP_DBM_TX_POWER’ was here
IEEE80211_RADIOTAP_DBM_TX_POWER = 10,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5734:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_ANTENNA’
IEEE80211_RADIOTAP_ANTENNA = 11,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:64:2: note: previous definition of ‘IEEE80211_RADIOTAP_ANTENNA’ was here
IEEE80211_RADIOTAP_ANTENNA = 11,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5735:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_DB_ANTSIGNAL’
IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:65:2: note: previous definition of ‘IEEE80211_RADIOTAP_DB_ANTSIGNAL’ was here
IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yalef/mt7610u/include/rt_config.h:55:0,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
/home/yalef/mt7610u/include/rtmp.h:5736:5: error: redeclaration of enumerator ‘IEEE80211_RADIOTAP_DB_ANTNOISE’
IEEE80211_RADIOTAP_DB_ANTNOISE = 13
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/net/mac80211.h:26:0,
from /home/yalef/mt7610u/include/os/rt_linux.h:66,
from /home/yalef/mt7610u/include/rtmp_os.h:43,
from /home/yalef/mt7610u/include/rtmp_comm.h:44,
from /home/yalef/mt7610u/include/rt_config.h:33,
from /home/yalef/mt7610u/os/linux/rt_profile.c:28:
./include/net/ieee80211_radiotap.h:66:2: note: previous definition of ‘IEEE80211_RADIOTAP_DB_ANTNOISE’ was here
IEEE80211_RADIOTAP_DB_ANTNOISE = 13,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scripts/Makefile.build:291: recipe for target '/home/yalef/mt7610u/os/linux/rt_profile.o' failed
make[2]: *** [/home/yalef/mt7610u/os/linux/rt_profile.o] Error 1
Makefile:1562: recipe for target '_module_/home/yalef/mt7610u' failed
make[1]: *** [_module_/home/yalef/mt7610u] Error 2
make[1]: выход из каталога «/usr/src/linux-headers-4.20.5-042005-generic»
Makefile:370: recipe for target 'modules' failed
make: *** [modules] Error 2
我有 Xubuntu 18.04 uname -r:
4.20.5-042005-generic
我该如何修复它?
答案1
我在使用 Parrot OS 时也遇到了同样的错误。我知道我的解决方案不太好,但对我来说还是有效的。
只需编辑文件
包括/rtmp.h
并取消注释 ieee80211_radiotap_type 枚举的声明。
/* enum ieee80211_radiotap_type {
IEEE80211_RADIOTAP_TSFT = 0,
IEEE80211_RADIOTAP_FLAGS = 1,
IEEE80211_RADIOTAP_RATE = 2,
IEEE80211_RADIOTAP_CHANNEL = 3,
IEEE80211_RADIOTAP_FHSS = 4,
IEEE80211_RADIOTAP_DBM_ANTSIGNAL = 5,
IEEE80211_RADIOTAP_DBM_ANTNOISE = 6,
IEEE80211_RADIOTAP_LOCK_QUALITY = 7,
IEEE80211_RADIOTAP_TX_ATTENUATION = 8,
IEEE80211_RADIOTAP_DB_TX_ATTENUATION = 9,
IEEE80211_RADIOTAP_DBM_TX_POWER = 10,
IEEE80211_RADIOTAP_ANTENNA = 11,
IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12,
IEEE80211_RADIOTAP_DB_ANTNOISE = 13
};*/
然后继续安装
答案2
菲尼豪雅的回答对我有用,但我还需要编辑:include/cfg80211.h
改变:
struct ieee80211_supported_band Cfg80211_bands[IEEE80211_NUM_BANDS];
到:
struct ieee80211_supported_band Cfg80211_bands[IEEE80211_NUM_ACS];