TP-Link Archer T2U AC600 unter Linux nutzen

TP-Link-Archer-T2U-AC600

Der WLAN-Adapter TP-Link Archer T2U AC600 (TL-WDN5200) ist mit dem MediaTek-Chipsatz MT7610U ausgestattet. Ein passendes Linux-Kernel-Modul (Treiber) können Sie selbst erstellen.

Von Haus aus unterstützen die Kernel der aktuellen Linux-Distributionen den WLAN-Stick TP-Link Archer T2U AC600 nicht. Das gleiche gilt auch für andere WLAN-Adapter, die mit dem gleichen Chipsatz (MediaTek MT7610U) ausgestattet sind, beispielsweise dem AVM FRITZ!WLAN USB Stick AC 430, Sitecom WLA-3100 und Linksys AC580.

Update 04.04.2016: Ich habe den Treiber-Quellcode bei Github aktualisiert und Änderungen aus verschiedenen Quellen einfließen lassen. Das erzeugte Kernel-Modul heißt jetzt mt7610u_sta.ko. Die Konfigurationsdatei /etc/Wireless/RT2870STA.dat wird jetzt auch unter neueren Kerneln korrekt eingelesen. Hier ist jetzt „WirelessMode=13“ konfiguriert. Nach meinen Tests funktionieren damit jetzt 2,4 und 5 GHz. Bei 5 GHz wird jedoch die erwartete Geschwindigkeit nicht erreicht

Von MediaTek gibt es einen Open-Source-Treiber für den Chipsatz MT7610U zum Download. Dieser funktioniert aber erst nach einigen Anpassungen zusammen mit dem WLAN-Sticks der genannten Hersteller. Dieser Artikel bezieht sich auf Ubuntu 14.04.2 LTS mit Kernel 3.13.0.49, gcc 4.8.2 sowie Ubuntu 15.04 mit Kernel 3.19.0-15 und gcc 4.9.2 mit dem WLAN-Adapter TP-Link Archer T2U AC600. Mit den anderen Modellen habe ich es nicht ausprobiert, weil mir diese nicht zur Verfügung stehen. Infos zu Geräten mit diesem Chipsatz gibt es unter List of 802.11ac Hardware.

Hinweis: In diesem Artikel erfahren Sie, wie Sie das Kernel-Modul für den Chipsatz MT7610U beispielsweise unter Ubuntu erstellen. Wenn Sie das Modul für den Raspberry Pi benötigen, lesen Sie den Artikel Neue Kernel-Module für den Raspberry Pi erstellen.

Gerät identifizieren

Der WLAN-Stick TP-Link Archer T2U AC600 trägt den Aufdruck „FCC ID: TE7T2U“ auf dem USB-Stecker. Der Befehl lsusb in einem Terminalfenster gibt beispielsweise folgendes aus:

Bus 003 Device 002: ID 148f:761a Ralink Technology, Corp

Die USB-ID ist also 148f:761a. Beim Linksys Stick lautet die ID 13B1:003E.

Kernel-Modul compilieren

Die USB-IDs in der Datei common/rtusb_dev_id.c müssen zum Gerät passen. Die IDs für TP-Link Archer T2U AC600 und Linksys AC580 sind bereits enthalten. Wenn Sie ein anderes Gerät hinzufügen möchten, müssen Sie den passenden Wert nach dem Befehl „git clone …“ in die Datei eintragen.

Um das Kernel-Modul zu erstellen, öffnen Sie ein Terminalfenster und geben folgende Befehlszeilen ein:

mkdir ~/src
cd ~/src
git clone https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916.git
cd mt7610u_wifi_sta_v3002_dpo_20130916
make clean
make
sudo make install

Sie erstellen damit das Verzeichnis „src“ in Ihrem Home-Verzeichnis und laden den Quellcode für den Treiber herunter. Mit „make“ starten Sie den Compiler. „sudo make install“ installiert den Treiber unter /lib/modules.

Starten Sie dann Linux neu. Der neue Treiber wird automatisch geladen und Sie können sich über das Icon des Netzwerk-Managers mit einem WLAN-Netz verbinden.

Zur Konfiguration des WLAN-Adapters dient die Datei /etc/Wireless/RT2870STA/RT2870STA.dat. Der Dateiname lautet abhängig vom Chipsatz auch anders. Die wichtigsten Parameter sind bereits voreingestellt. Eine Übersicht mit den möglichen Parametern gibt es unter RT2870.DAT Explained.

Soweit ich es zurzeit beurteilen kann, liefert der WLAN-Stick TP-Link Archer T2U AC600 unter Linux in etwa die gleiche Leistung wie unter Windows. Im Syslog gibt es allerdings ein paar Fehlermeldungen. Diese scheinen aber nicht kritisch zu sein.

Bitte beachten Sie: Der Treiber ist nicht ausreichend getestet und funktioniert auf einigen PCs möglicherweise nicht wie erwartet. Früher oder später wird der Linux-Kernel auch diese Geräte von Haus aus unterstützen. Wie lange das dauert, ist jedoch unbekannt.

Quellen

https://bitbucket.org/sanrath/mediatek_mt7610u_sta_driver_linux-64bit/src

http://hprath.com/2014/06/cisco-linksys-ae6000-ac580-media-tek-mt7610u-mt7630u-mt7650u-linux-x64-driver-patch/

http://blog.kdolph.in/1381

https://github.com/chenhaiq/mt7610u_wifi_sta_v3002_dpo_20130916

Be Sociable, Share!

39 Kommentare

  • Funktioniert perfekt auf Ubuntu 16.04 LTS mit tp-link t2u. Ich bin begeistert und dankbar!!

  • Hallo!

    Erstmal vielen Dank für deine/eure Arbeit, so kann ich tatsächlich den Stick mit Linux nutzen 🙂
    Allerdings haben eure neuen Commits einiges kaputt gemacht – der Commit
    4606187110b323c272aed504144ee759b31af8ac
    funktionierte noch bei mir (früher LMDE, jetzt Debian 8 mit ‚SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU/Linux‘, alter Laptop mit Intel Centrino…), die neueste Version (’33d969adb37bd27ca286c8b2e9c343cb03ff64e2′) hat zu viele Bugs:
    Zum Teil fror das System wegen des Moduls ein, dann wurde keine Signalstärke angezeigt und manchmal setzte das Modul einfach aus…

  • Ich bekomme einen Fehler bei make (Ubuntu 16.10).
    Ausgabe:

    In file included from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rtmp_os.h:44:0,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rtmp_comm.h:75,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rt_config.h:33,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c:28:
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/os/rt_linux.h:77:0: warning: „EXT_BUILD_CHANNEL_LIST“ redefined
    #define EXT_BUILD_CHANNEL_LIST /* must define with CRDA */

    :0:0: note: this is the location of the previous definition
    In file included from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/os/rt_linux.h:98:0,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rtmp_os.h:44,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rtmp_comm.h:75,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rt_config.h:33,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c:28:
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/cfg80211.h:35:49: error: ‘IEEE80211_NUM_BANDS’ undeclared here (not in a function)
    struct ieee80211_supported_band Cfg80211_bands[IEEE80211_NUM_BANDS];
    ^~~~~~~~~~~~~~~~~~~
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c: In function ‘announce_802_3_packet’:
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c:341:16: warning: unused variable ‘pAd’ [-Wunused-variable]
    RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)pAdSrc;
    ^~~
    In file included from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rtmp_os.h:44:0,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rtmp_comm.h:75,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/rt_config.h:33,
    from /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c:28:
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c: In function ‘STA_MonPktSend’:
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c:450:35: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
    DBGPRINT(RT_DEBUG_ERROR, („%s : Size is too large! (%d)\n“, __FUNCTION__, pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
    ^
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/include/os/rt_linux.h:669:16: note: in definition of macro ‘DBGPRINT_RAW’
    printk Fmt; \
    ^~~
    /home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.c:450:9: note: in expansion of macro ‘DBGPRINT’
    DBGPRINT(RT_DEBUG_ERROR, („%s : Size is too large! (%d)\n“, __FUNCTION__, pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
    ^~~~~~~~
    make[2]: *** [/home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/../../os/linux/rt_profile.o] Fehler 1
    make[1]: *** [_module_/home/jonathan/src/wifi/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux] Fehler 2
    make: *** [LINUX] Fehler 2

    Ich verstehe es leider nicht…

  • Hallo Herr Eggeling, vielen Dank dass Sie sich die Mühe machen, diesen Treiber zur Verfügung zu stellen. Bei mir hat das Kompilieren (openSuse Leap 42.1, Kernel 4.1.34-33) und Einbinden der Module funktioniert. Mit dem NetworkManager finde ich mein WLAN in der Liste und kann es mit dem TP-LINK Archer AC600 nutzen. Leider nur die 2.4 GHZ Kanäle. Mein Router funkt auch auf 5 GHZ aber dieses WLAN finde ich beim Scannen nicht. Obwohl ich in RT2870.DAT den Wireless-Mode auf 13 gesetzt habe. Hat jemand eine Idee?

    • Nach einem Hinweis im Netz habe im Router den Kanal auf 48 eingestellt (vorher 112). Dann funktionierte es. Der Treiber scheint mit Kanälen >= 100 nicht zu funktionieren.

  • Ich habe den T2UH AC600 und versuche diesen unter Ubuntu 16.04 zum Laufen zu bekommen. Leider wird dieser als „not managed“ im Netzwerkmanager angezeigt. Kann mir hierbei jemand weiterhelfen?

    • hi, also ich versuche auch vergeblich den Treiber zu installieren. Benutze Ubuntu 16.10 mit Kernel 4.1.0.22. Leider fragt er mich beim Clonen des Vz’s immer nach Password und Username.

  • Hallo!

    Seit kurzem besitze ich den WLAN-Stick „TP-Link Archer T2UH AC600 Dual Band WLAN Adapter“ (bitte das H in T2UH beachten), der leider unter meinem „Linux Mint 18 MATE 64Bit“ nicht laufen will.
    Da der Stick die gleiche ID hat wie der TP-Link Archer T2U AC600, nämlich

    ID 148f:761a Ralink Technology, Corp

    habe ich die obige Kompilier-Anleitung probiert, woraufhin der Stick aber leider auch nicht funktionierte.
    Gibt es evtl. eine Chance, diesen Stick doch noch zum Funktionieren „zu überreden“?

    Mit freundlichen Grüßen
    Centauri39

  • Hallo, hast du einen Tipp wie ich den Stick unter Ubuntu 14.04. mit Kernel 4.1 zum laufen bekommen kann?
    Das Modul lässt sich übersetzten, und laden. Es listet dann auch die Netzwerke, aber kann sich zu keinem verbinden.

  • Hallo,

    danke für den recht gut funktionierenden Treiber.

    Gibt es eine Möglichkeit, den auch mit access point Unterstützung zu kompilieren?
    Einfach „RT28xx_MODE = AP“ führt zu Compile-Fehlern…

  • Diese Anleitung war die einzige die funktionierte,danke! Der Stick läuft nun auf meinem RaspberryPi 2 (Kernel >4.0) . Leider läuft er aber nur unter 2.4GHz und die config Datei unter /etc scheint keinerlei Einfluss auf den Stick zu haben, etwa die SSID und der Key kommen bei mir in die wpa_supplicant.conf.
    Nun bin ich etwas unschlüssig ob ich den Stick wieder zurücksende und gegen einen tausche der wenigstens schon im Kernel eingeflossen ist oder ob ich warte bis die 5GHz irgendwann mal implementiert werden. Seitens TP-Link oder Mediathek scheint es da ja nicht gerade Ambitionen zu geben.

    • Leider schaffe ich es nur, eine 54MBit Verbindung im 2.4G Netz aufzubauen. Für mich sieht es so aus, dass der Treiber den 11N Modus überhaupt nicht beherrscht.
      Hat mich Stunden gekostet bis ich das Ding überhaupt zum Laufen gebracht habe, da ich normalerweise meinen AP auf 11N only eingestellt habe (das ist für mich ein Indiz dass er 11n nicht macht) und iwlist scanning etliche Funknetze ja gefunden hat. Da muss man dann auch erst einmal darauf kommen.
      Ein 5G Netz habe ich noch nicht, kann ich also nicht testen. Auch ein erstellter Treiber von hier https://github.com/xtknight/mt7610u-linksys-ae6000-wifi-fixes funktioniert nur mit 54MBit

      Kann das jemand bestätigen?

      • Hallo, ich hab den Treiber heute kompilieren können und er arbeitet auch mit 5Ghz. Es ging natürlich auf Anhieb. Toll oder? Vielleicht bringt bei allen die nur 2.4Ghz zum funken bekommen folgender Befehl etwas: „sudo iwpriv ra0 set WirelessMode=13“ und dann mit „sudo iwlist ra0 channel“ anzeigen lassen welche Kanäle/Frequenzen er dann macht. Hoffe ich konnte irgendjemandem helfen oder zum erneuten Ausprobieren bewegen, denn seit dem letzten Post und diesem wurde an dem Treiber weitergearbeitet.

        Testsystem RetroPie 3.6 mit Kernel 4.1.18-v7+

  • Had tried many different drivers but still no luck. This is the only one I found that worked flawelessly. It is very easy to install. Hope to help someone.
    http://askubuntu.com/questions/674116/how-to-install-tp-link-t2uh-wireless-adapter-driver-ralink-mt7610u

  • 15.10 erkennt den stick nun und wird auch angezeigt
    leider steht mir aber das 5ghz netzwerk nicht zur wahl
    eine idee?

  • Thanks for your work. I managed to compile and use the driver but apparently it does not support master mode. I know some guys added AP to mt7601 drivers; do you think it’s doable for mt7610?

  • Vielen lieben Dank für die tolle Anleitung. Ich hatte wenig Hoffnung, dass ich den WLAN-Adapter ans Laufen bekomme, zumal ich keine Ahnung von Linux habe. Aber mit diesem Script hat alles hervorragend funktioniert – meine Verbindung ist jetzt so gut wie mit Netzwerkkabel.

  • Bob van der Putten

    Suggested methode is not working for me.
    A second attempt: after ’sudo make install‘ I got:
    install -m 644 -c mt7650u_sta.ko /lib/modules/3.19.0-33-generic/kernel/drivers/net/wireless/
    install: cannot stat ‘mt7650u_sta.ko’: No such file or directory
    Any tips?

    • Which Linux and kernel version are you using?
      Are there any error messages after „make“?
      If compilaition fails then there is no file named „mt7650u_sta.ko“.

  • Hat das jemand mit OpenWRT gebaut? Ich würde gernen einen Freifunk Router mit 5Ghz Wifi „upgraden“ mit diesem USB-Adapter, bekomme das aber nicht hin. Das bauen von Sources die nicht schon eingepflegt sind übersteigt meine Fähigkeiten.

  • Danke sehr, es funktionierte sofort! (Ubuntu 14.04)

    Eine Frage noch, darf ich „~/src“ löschen? Oder wird das Probleme geben?

    • „~/src“ löschen? Im Prinzip ja.
      Allerdings muss dass Modul neu kompiliert werden, wenn sich die Kernel Version ändert.
      Daher würde ich das Verzeichnis behalten.

  • Hallo
    Danke für die detaillierte Anleitung. Die Installation hat an sich super funktioniert. Nach dem Neustart wurde der Archer T2U erkannt und ich konnte mich ohne Probleme mit meinem Router verbinden.
    Nach kurzer Zeit brach die Verbindung jedoch ab und die SSID wurde nicht mehr angezeigt.
    Auch die Anpassung der RT2870STA.bat ändert nichts. Woran könnte das liegen?

    • Schwer zu sagen. Ich habe bisher keine Probleme bei der Stabilität festgestellt. Grundsätzlich ist es so, dass der Treiber-Quellcode eine Qualität irgendwo zwischen Alpha- und Beta-Version hat. Zudem wurde er mit neueren Kerneln nicht ausführlich getestet. Wie immer bei Linux, gibt es mehr Stabilität erst, wenn der Quellcode offiziell in der Kernel eingeflossen ist. Das kann aber noch dauern…

  • Vielen Dank! Diese Anleitung hat bei mir ohne Probleme funktioniert und mir viel Arbeit und Geld gespart.

  • Alexander Rehbein

    Hat super funktioniert bei mir, obwohl mein Setup ein ganz anderes ist…
    LMDE, kernel 3.11. gcc 4.8.1-3
    Danke!

  • ……davvero grande: ho risolto prima di cestinare 20 euro………………

    ……………ho seguito passo passo i comandi del terminale e riavviato……………..
    s.o. ubuntu 14.04
    processore intel core i3-3240 cpu @ 3.40GHz
    GeForce GT 630/PCle/SSE232-bit………………………….

  • Pingback: TP-Link AC600 Archer T2UH funcionando en Linux: Impossible is Nothing | Salmorejo Geek

  • Hallo Herr Eggeling,

    vielen dank für die SUPER Anleitung, es hat auf Anhieb funktioniert ohne irgend welche Probleme.

    Weiter so!

  • Super Anleitung !

    Die WLAN – Verbindung funktioniert ohne Probleme , sofort nach dem Neustart!

    1000 x Dank @ myria.de – Team

  • Vielen dank, wirkt wie eine Sonne unter Ubuntu 15.04 für mich!

  • Thanks a million!

    This worked like a charm, and I don’t even speak German. 🙂

    Danke very schon!

  • Es hat bei mir perfekt funktioniert. Das hat extrem viel geholfen.

    Danke vielmals!

  • Hallo

    habe mal versucht den WLAN-Stick TP-Link Archer T2U AC600 auf meien raspi und Rasbian
    nach den vorgabe von euch zu installieren.

    nur ja

    mkdir ~/src = geht klar

    cd ~/src = geht klar

    git clone https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916.git = funktionierte

    cd mt7610u_wifi_sta_v3002_dpo_20130916 = +

    sudo make clean = ging auch

    sudo make

    ab hier ist ende
    root@hotspot:~/src/mt7610u_wifi_sta_v3002_dpo_20130916# sudo make
    make -C tools
    make[1]: Entering directory ‚/root/src/mt7610u_wifi_sta_v3002_dpo_20130916/tools‘
    gcc -g bin2h.c -o bin2h
    make[1]: Leaving directory ‚/root/src/mt7610u_wifi_sta_v3002_dpo_20130916/tools‘
    /root/src/mt7610u_wifi_sta_v3002_dpo_20130916/tools/bin2h
    chipset = mt7610u
    cp -f os/linux/Makefile.6 /root/src/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/Makefile
    make -C /lib/modules/3.18.14+/build SUBDIRS=/root/src/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux modules
    make[1]: *** /lib/modules/3.18.14+/build: No such file or directory. Stop.
    Makefile:393: recipe for target ‚LINUX‘ failed
    make: *** [LINUX] Error 2
    root@hotspot:~/src/mt7610u_wifi_sta_v3002_dpo_20130916#

    brauch ich nicht anfangen => sudo make install

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.