* LTE-Stick
* funktioniert unter Linux
* das Gerät kann in 2 Modi arbeiten (jeweils einer ist zu einem Zeitpunkt nur aktiv)
* als Speicher (darauf sind die Treiber für Windows zu finden)
* oder als Netzwerkkarte (das ist das was man will)
* umgeschaltet werden kann per usb_modeswitch
* viele Linux-Distributionen haben eingebaute udev-Regeln die das automatisch machen
* das Gerät funktioniert als Netzwerkkarte und simuliert einen NAT-Router zum Mobilfunknetz
* es agiert also NICHT als Modem
* wenn es im richtigen Modus ist (lsusb listet es als 12d1:14dc -> ansonsten muss man modeswitch nutzen)
* Treiber ist cdc_ether
* es erscheint eine Netzwerkkarte per Default mit einer IP im Bereich 192.168.8.x (in der Regel 100)
* die IP des "Gateways" ist per Default 192.168.8.1
* wird standardmäßig als Default-Gateway automatisch eingetragen
* die Konfigurationsoberfläche ist per 192.168.8.1 erreichbar
* der Stick kann auch noch mehr IP-Adressen vergeben (und damit ein ganzes Netzwerk mit dem Mobilfunk verbinden)
* der Adressbereich ist anpassbar (192.168.x.x - die ersten beiden Oktets sind fix)
===== Troubleshooting =====
^Problem ^Lösung ^
|Verbindung wird ohne Datenübertragung nach kurzer Zeit getrennt | Der Stick hat ein Timeout nach dem er sich (wenn keine Daten übertragen werden) vom Mobilfunknetz trennt. \\ Bei einigen Versionen? lässt sich dieser unter Settings -> Mobile Connection erhöhen, bei anderen Versionen? gibt es diese Schaltfläche nicht. \\ Grundsätzlich lässt er sich aber bis auf 24 Stunden erhöhen, in dem man das über die Web-API des Sticks macht, mit folgendem Script:
#!/bin/bash
DATA=`curl http://192.168.8.1/api/webserver/SesTokInfo`
SESSION_ID=`echo "$DATA" | grep "SessionID=" | cut -b 10-147`
TOKEN=`echo "$DATA" | grep "TokInfo" | cut -b 10-41`
curl http://192.168.8.1/api/dialup/connection -H "Cookie: $SESSION_ID" -H "__RequestVerificationToken: $TOKEN" --data '0864000150010'
Das Script ist von hier geklaut: https://blog.idorobots.org/entries/hacking-huawei-e3372-hilink..html
|
===== Web-API =====
* Nicht alle Einstellungen sind über die Weboberfläche erreichbar
* außerdem ist die Weboberfläche nicht einfach scriptbar
* man benötigt eine Session-ID und einen Token
* hier findet man eine Dokumentation zur API: https://blog.hqcodeshop.fi/archives/259-Huawei-E5186-AJAX-API.html
* und hier noch etwas mehr: https://blog.idorobots.org/entries/hacking-huawei-e3372-hilink..html
Über diesen Call + folgende Befehle bekommt man die notwendige Session-ID und das Token:
DATA=`curl http://192.168.8.1/api/webserver/SesTokInfo`
SESSION_ID=`echo "$DATA" | grep "SessionID=" | cut -b 10-147`
TOKEN=`echo "$DATA" | grep "TokInfo" | cut -b 10-41`
Hier ein Beispiel für einen Call:
curl http://192.168.8.1/api/dialup/connection -H "Cookie: $SESSION_ID" -H "__RequestVerificationToken: $TOKEN" --data '0864000150010'
* per http://192.168.8.1/config/global/config.xml bekommt man die Config angezeigt