Belkin 双频无线适配器 AC867 帮助

Belkin 双频无线适配器 AC867 帮助

我一直想让我的 Belkin AC867 双频 USB 适配器与 Ubuntu 15.04 配合使用,但没有成功。我按照这个教程操作http://blog.danielscrivano.com/installing-rtl8812au-on-linux-for-wireless-dual-band-usb-adapters/。我目前通过蓝牙网络共享上网。

我希望它能够起作用,但是当我在终端窗口中输入以下命令时收到错误消息:

    cd rtl8821AU_8821AU_linux
    make

在输入 make 之后,我在代码脚本的末尾收到一个错误

jonathan@pc:~/rtl8812AU_8821AU_linux$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.19.0-16-generic/build M=/home/jonathan/rtl8812AU_8821AU_linux  modules
make[1]: Entering directory '/usr/src/linux-headers-3.19.0-16-generic'
  CC [M]  /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_add_key’:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:1250:35: warning: passing argument 2 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type
   _rtw_memcpy(param->u.crypt.seq, params->seq, params->seq_len);
                                   ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:167:13: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
             ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:1256:35: warning: passing argument 2 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type
   _rtw_memcpy(param->u.crypt.key, params->key, params->key_len);
                                   ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:167:13: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
             ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_connect’:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2550:30: warning: passing argument 2 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type
  _rtw_memcpy(ndis_ssid.Ssid, sme->ssid, sme->ssid_len);
                              ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:167:13: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
             ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2587:49: warning: passing argument 2 of ‘_rtw_memcmp’ discards ‘const’ qualifier from pointer target type
    if(_rtw_memcmp(pnetwork->network.MacAddress, sme->bssid, ETH_ALEN) == _FALSE)
                                                 ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:168:12: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern int _rtw_memcmp(void *dst, void *src, u32 sz);
            ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2593:49: warning: passing argument 2 of ‘_rtw_memcmp’ discards ‘const’ qualifier from pointer target type
     || _rtw_memcmp(pnetwork->network.Ssid.Ssid, sme->ssid, sme->ssid_len) == _FALSE
                                                 ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:168:12: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern int _rtw_memcmp(void *dst, void *src, u32 sz);
            ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2601:14: warning: assignment discards ‘const’ qualifier from pointer target type
    src_bssid = sme->bssid;
              ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2682:42: warning: passing argument 2 of ‘rtw_cfg80211_set_wpa_ie’ discards ‘const’ qualifier from pointer target type
  ret = rtw_cfg80211_set_wpa_ie(padapter, sme->ie, sme->ie_len);
                                          ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2243:12: note: expected ‘u8 *’ but argument is of type ‘const u8 *’
 static int rtw_cfg80211_set_wpa_ie(_adapter *padapter, u8 *pie, size_t ielen)
            ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_set_pmksa’:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2913:20: warning: passing argument 1 of ‘_rtw_memcmp’ discards ‘const’ qualifier from pointer target type
  if ( _rtw_memcmp( pmksa->bssid, strZeroMacAddress, ETH_ALEN ) == _TRUE )
                    ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:168:12: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern int _rtw_memcmp(void *dst, void *src, u32 sz);
            ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2923:59: warning: passing argument 2 of ‘_rtw_memcmp’ discards ‘const’ qualifier from pointer target type
   if( _rtw_memcmp( psecuritypriv->PMKIDList[index].Bssid, pmksa->bssid, ETH_ALEN) ==_TRUE )
                                                           ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:168:12: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern int _rtw_memcmp(void *dst, void *src, u32 sz);
            ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2927:56: warning: passing argument 2 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type
    _rtw_memcpy( psecuritypriv->PMKIDList[index].PMKID, pmksa->pmkid, WLAN_PMKID_LEN);
                                                        ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:167:13: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
             ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2941:74: warning: passing argument 2 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type
   _rtw_memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid, pmksa->bssid, ETH_ALEN);
                                                                          ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:167:13: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
             ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2942:74: warning: passing argument 2 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type
   _rtw_memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID, pmksa->pmkid, WLAN_PMKID_LEN);
                                                                          ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:167:13: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
             ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_del_pmksa’:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:2967:59: warning: passing argument 2 of ‘_rtw_memcmp’ discards ‘const’ qualifier from pointer target type
   if( _rtw_memcmp( psecuritypriv->PMKIDList[index].Bssid, pmksa->bssid, ETH_ALEN) ==_TRUE )
                                                           ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:168:12: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern int _rtw_memcmp(void *dst, void *src, u32 sz);
            ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:141:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_rx_action_p2p’:
/home/jonathan/rtl8812AU_8821AU_linux/include/ioctl_cfg80211.h:114:71: error: too many arguments to function ‘cfg80211_rx_mgmt’
   #define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0, gfp)
                                                                       ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:3883:2: note: in expansion of macro ‘rtw_cfg80211_rx_mgmt’
  rtw_cfg80211_rx_mgmt(padapter, freq, 0, pmgmt_frame, frame_len, GFP_ATOMIC);
  ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service_linux.h:76:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:41,
                 from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:4612:6: note: declared here
 bool cfg80211_rx_mgmt(struct wireless_dev *wdev, int freq, int sig_dbm,
      ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:141:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_rx_p2p_action_public’:
/home/jonathan/rtl8812AU_8821AU_linux/include/ioctl_cfg80211.h:114:71: error: too many arguments to function ‘cfg80211_rx_mgmt’
   #define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0, gfp)
                                                                       ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:3921:2: note: in expansion of macro ‘rtw_cfg80211_rx_mgmt’
  rtw_cfg80211_rx_mgmt(padapter, freq, 0, pmgmt_frame, frame_len, GFP_ATOMIC);
  ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service_linux.h:76:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:41,
                 from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:4612:6: note: declared here
 bool cfg80211_rx_mgmt(struct wireless_dev *wdev, int freq, int sig_dbm,
      ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:141:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_rx_action’:
/home/jonathan/rtl8812AU_8821AU_linux/include/ioctl_cfg80211.h:114:71: error: too many arguments to function ‘cfg80211_rx_mgmt’
   #define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0, gfp)
                                                                       ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:3951:2: note: in expansion of macro ‘rtw_cfg80211_rx_mgmt’
  rtw_cfg80211_rx_mgmt(adapter, freq, 0, frame, frame_len, GFP_ATOMIC);
  ^
In file included from /home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service_linux.h:76:0,
                 from /home/jonathan/rtl8812AU_8821AU_linux/include/osdep_service.h:41,
                 from /home/jonathan/rtl8812AU_8821AU_linux/include/drv_types.h:32,
                 from /home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:4612:6: note: declared here
 bool cfg80211_rx_mgmt(struct wireless_dev *wdev, int freq, int sig_dbm,
      ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c: At top level:
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5041:2: warning: initialization from incompatible pointer type
  .get_station = cfg80211_rtw_get_station,
  ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5041:2: warning: (near initialization for ‘rtw_cfg80211_ops.get_station’)
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5069:2: warning: initialization from incompatible pointer type
  .add_station = cfg80211_rtw_add_station,
  ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5069:2: warning: (near initialization for ‘rtw_cfg80211_ops.add_station’)
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5070:2: warning: initialization from incompatible pointer type
  .del_station = cfg80211_rtw_del_station,
  ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5070:2: warning: (near initialization for ‘rtw_cfg80211_ops.del_station’)
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5071:2: warning: initialization from incompatible pointer type
  .change_station = cfg80211_rtw_change_station,
  ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5071:2: warning: (near initialization for ‘rtw_cfg80211_ops.change_station’)
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5087:2: warning: initialization from incompatible pointer type
  .mgmt_tx = cfg80211_rtw_mgmt_tx,
  ^
/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5087:2: warning: (near initialization for ‘rtw_cfg80211_ops.mgmt_tx’)
scripts/Makefile.build:257: recipe for target '/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o' failed
make[2]: *** [/home/jonathan/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o] Error 1
Makefile:1394: recipe for target '_module_/home/jonathan/rtl8812AU_8821AU_linux' failed
make[1]: *** [_module_/home/jonathan/rtl8812AU_8821AU_linux] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.19.0-16-generic'
Makefile:1040: recipe for target 'modules' failed
make: *** [modules] Error 2

这是我输入 lsusb(顶部的 belkin 组件)时的设备信息:

jonathan@pc:~$ lsusb
Bus 003 Device 006: ID 050d:1109 Belkin Components 
Bus 003 Device 002: ID 357d:7788  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 006 Device 002: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jonathan@pc:~$

另外,我目前正在运行 Ubuntu 15.04。我是 Linux 新手,如果我遗漏了重要信息或这篇文章的格式不可接受,请原谅。如果您需要更多信息,请告诉我。

答案1

请尝试这个包:

git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
cd rtl8812AU_8821AU_linux
make
sudo make install
sudo depmod -a
sudo modprobe 8812au

它使我的 3.19.0-16 内核出现警告但没有错误。

相关内容