web-dev-qa-db-ja.com

ミント17にArcher T4U AC1300のドライバーをインストールする際の問題

元の質問

私の質問に対する具体的な答えは見つかりませんでした。T4Uで見つかったすべてのドライバーインストールの問題はカーネルバージョンに関連しており、回避策を提案できます。私のものは違うと思います...

TP LinkからArcher T4U AC1300を購入し、オープンソースドライバーを here からインストールしようとしました。

私はミント17を使用します。

beljs@beljs-Inspiron-580 ~ $ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.3
DISTRIB_CODENAME=rosa
DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: est un dossier

beljs@beljs-Inspiron-580 ~ $ uname -a
Linux beljs-Inspiron-580 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:37:25 UTC 2015 i686 i686 i686 GNU/Linux

ドライバーのインストール中に発生する問題は、コンパイルの問題またはコード自体のバグ(?).

さまざまなWebサイトで推奨されている基本的なドライバーインストール手順に従いました。

git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
cd rtl8812AU_8821AU_linux/
make
Sudo make install

ioctl_cfg80211.cでmakeプロセス中に常にエラーが発生します(フランス語では申し訳ありません):

beljs@beljs-Inspiron-580 ~ $ git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
Clonage dans 'rtl8812AU_8821AU_linux'...
remote: Counting objects: 1498, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 1498 (delta 1), reused 0 (delta 0), pack-reused 1492
Réception d'objets: 100% (1498/1498), 3.53 MiB | 692.00 KiB/s, done.
Résolution des deltas: 100% (909/909), done.
Vérification de la connectivité... fait.
beljs@beljs-Inspiron-580 ~ $ cd rtl8812AU_8821AU_linux/
beljs@beljs-Inspiron-580 ~/rtl8812AU_8821AU_linux $ make
make Arch=i386 CROSS_COMPILE= -C /lib/modules/3.19.0-32-generic/build M=/home/beljs/rtl8812AU_8821AU_linux  modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-3.19.0-32-generic »
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_cmd.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_security.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_debug.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_io.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ioctl_query.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ioctl_set.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ieee80211.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_mlme.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_mlme_ext.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_wlan_util.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_vht.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_pwrctrl.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_rf.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_recv.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_sta_mgt.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_ap.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_xmit.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_p2p.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_tdls.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_br_ext.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_iol.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_sreset.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_btcoex.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_beamforming.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/rtw_odm.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/core/efuse/rtw_efuse.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/osdep_service.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/os_intfs.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/usb_intf.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/usb_ops_linux.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_linux.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/xmit_linux.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/mlme_linux.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/recv_linux.o
  CC [M]  /home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o
/home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5971:2: error: initialization from incompatible pointer type [-Werror]
  .del_station = cfg80211_rtw_del_station,
  ^
/home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.c:5971:2: error: (near initialization for ‘rtw_cfg80211_ops.del_station’) [-Werror]
cc1: all warnings being treated as errors
make[2]: *** [/home/beljs/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o] Erreur 1
make[1]: *** [_module_/home/beljs/rtl8812AU_8821AU_linux] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-headers-3.19.0-32-generic »
make: *** [modules] Erreur 2

github.com/Grief/archer-t4uからもドライバーをインストールしようとしましたが、同様のエラーが発生しました(同じ場所ではなく、同じファイルにあります)

3
Popopom

ソリューション

要するに:

  1. git clone https://github.com/gnab/rtl8812au

  2. update /rtl8812au/os_dep/linux/usb_intf.c->アーチャーT4U AC1200(2357:0101)の元のバスIDを見つけ、直後にAC1300(2357:010d)のバスIDを含む行を追加します。

    {USB_DEVICE(0x2357, 0x0101),.driver_info = RTL8812},    
    **{USB_DEVICE(0x2357, 0x010d),.driver_info = RTL8812},**
    
  3. ./rtl8812auで提供されるreadmeファイルの指示に従ってください

ほら!

詳細説明:

問題は2つに分かれました。

  1. Driver

GAD3Rは link を使用して、正しくコンパイルできる私のカーネル用のドライバーの正しいバージョンを提供しました(感謝します!)。

  1. アーチャーT4U AC1200vsT4U AC1300

私が見つけた参照の99%にあるArcher T4UはT4U AC1200を指し、私が購入したものはT4U AC1300( -v2も)。地域の製品名だけなのか、実際のハードウェアの変更に対応しているのかはわかりません。 T4u AC1300も非常に最近のものかもしれません。私が見つけた唯一のリファレンスは Tp-Linkの公式Webサイト にあります。

とにかく、私をトリガーしたのは wikidevi で指定されたバスIDです。

スティックはUSB 3.0をサポートし、USB IDは2357:0101です。

lsusbが2357:010dをくれた

その後、解決策は明白でした:/rtl8812au/os_dep/linux/usb_intf.cに行を追加しました(上記の短い解決策を参照)

[〜#〜] nb [〜#〜]:チェックしたところ、AC1300 USB IDはすでに次の場所で入手できます

https://github.com/abperiasamy/rtl8812AU_8821AU_linux

3
Popopom

私は上記の解決策がうまくいったことを確認できます:

Worked on:
Ubuntu: 16.04.2, 
Kernel: 4.8.0-36-generic, 
gcc   : gcc version 5.4.0 20160609

私がしなければならない唯一の違いは、コマンド「lsusb」を実行したときでした。 「2357:010e」というデバイスが表示されました。新しい「usb_intf.cの行」を追加する必要がある場合、代わりに参照を「d」から「e」に変更する必要がありました。 :)

1
user1898552