ac600 驱动程序无法编译

ac600 驱动程序无法编译

我需要获取 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];

相关内容