OpenWrt: 4G-/LTE-Router GL-X750 flashen und einrichten

Auf der Suche nach einem geeigneten 4G-/LTE-Router, der von OpenWrt unterstützt wird, bin ich auf den Router GL-X750 gestoßen.

Der GL-X750 erfüllt die Mindestanforderungen von OpenWrt und wird bereits von Haus aus mit OpenWrt ausgeliefert. Hierbei handelt es sich allerdings um eine vom Hersteller angepasste OpenWrt-Version. Diese enthält ein eigens vom Hersteller entwickeltes Web-UI zur Administration von OpenWrt als Alternative zu LuCI und Funktionen, wie z.B. VPN via Wireguard oder Datenaustausch via Samba, sind bereits installiert und vorkonfiguriert.

Wie bei Xubuntu bevorzuge ich auch bei OpenWrt eine minimale bzw. "clean" Installation. Aus diesem Grund habe ich die aktuelle Original-OpenWrt-Firmware auf den Router geflasht und OpenWrt für die mobile Internetverbindung via integriertem 4G-/LTE-Modem eingerichtet. Was ihr dafür tun müsst, erfahrt ihr in diesem Beitrag.

Folgende Geräte bzw. Software wurden verwendet:
  • Spitz 4G LTE Smart Router - GL-X750C6
  • Notebook mit Ubuntu v19.10
  • Ethernet-Kabel
  • gpg v2.2.12
  • OpenWrt v19.07.2

Vorbereitung - Firmware herunterladen & verifizieren

OpenWrt herunterladen

Im ersten Schritt müsst ihr für den GL-X750-Router die aktuelle OpenWrt-Firmware herunterladen. Dazu ruft die entsprechende OpenWrt-GL-X750-Seite auf. Auf dieser Seite klickt auf den Link für "Firmware OpenWrt Upgrade URL" und ladet die OpenWrt-Firmware herunter. Folgende Datei (ggf. abweichende Version) sollte sich nun in eurem Download-Ordner befinden:

openwrt-19.07.2-ath79-generic-glinet_gl-x750-squashfs-sysupgrade.bin

Image verifizieren

Es ist empfehlenswert, das heruntergeladene Image hinsichtlich Integrität und Authentizität zur Sicherheit zu verifizieren. Dadurch ist gewährleistet, dass ihr dem Image vertrauen könnt und es nicht manipuliert wurde.

Dazu kopiert als erstes die Download-URL des zuvor heruntergeladenen Images und fügt sie in die Adresszeile eures Webbrowsers ein. Entfernt den Dateinamen, so dass die Verzeichnisebene in dem die Datei liegt, aufgerufen wird und ruft die Seite in eurem Webbrowser auf. Zum Zeitpunkt dieses Beitrags wäre das z.B. folgende URL:

https://downloads.openwrt.org/releases/19.07.2/targets/ath79/generic/

Auf dieser Seite im Bereich "Supplementary Files" (am Ende der Seite) ladet ihr nun noch die folgenden zwei Dateien in euren Download-Ordner herunter:

  • sha256sums
  • sha256sums.asc

Öffnet nun eine Konsole und wechselt in euren Download-Ordner, in dem sich das Image und die zwei "sha"-Dateien befinden. Im ersten Schritt überprüfen wir die Signatur der sha256sums auf Korrektheit:

gpg --with-fingerprint --verify sha256sums.asc sha256sums
gpg: Signatur vom Sa 29 Feb 2020 16:47:30 CET
gpg:                mittels RSA-Schlüssel D9C6901F45C9B86858687DFF28A39BC32074BE7A
gpg: Signatur kann nicht geprüft werden: Kein öffentlicher Schlüssel
Terminal / Konsole

Habt ihr den verwendeten öffentlichen GPG-Schlüssel von OpenWrt noch nicht in eurem Schlüsselbund, erhaltet ihr o.a. Meldung. In diesem Fall ladet den Schlüssel wie folgt in euren Schlüsselbund:

gpg --with-fingerprint --keyserver keys.openpgp.org --recv-keys 0xD9C6901F45C9B86858687DFF28A39BC32074BE7A
gpg: Schlüssel 0x28A39BC32074BE7A: Öffentlicher Schlüssel "OpenWrt Build System (PGP key for 19.07 release builds)" importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg:               importiert: 1
Terminal / Konsole

Nun sollte die Verifizierung möglich sein:

gpg --with-fingerprint --verify sha256sums.asc sha256sums
gpg: Signatur vom Sa 29 Feb 2020 16:47:30 CET
gpg:                mittels RSA-Schlüssel D9C6901F45C9B86858687DFF28A39BC32074BE7A
gpg: Korrekte Signatur von "OpenWrt Build System (PGP key for 19.07 release builds) <pgpsign-19.07@openwrt.org>" [unbekannt]
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck  = D9C6 901F 45C9 B868 5868  7DFF 28A3 9BC3 2074 BE7A
Terminal / Konsole

Achtet darauf, dass eine Korrekte Signatur vorhanden ist.

Nachdem ihr sichergestellt habt, dass die sha256sums vertrauenswürdig ist, prüft nun, ob die Prüfsumme der Image-Datei mit der Prüfsumme in der sha256sums übereinstimmt:

sha256sum -c sha256sums 2>&1 | grep OK
openwrt-19.07.2-ath79-generic-glinet_gl-x750-squashfs-sysupgrade.bin: OK
Terminal / Konsole

Erhaltet eine Ausgabe, wie o.a., mit dem Ergebnis OK, könnt ihr das Image ruhigen Gewissens auf euren Router flashen.

OpenWrt-Firmware flashen

Bevor ich den eigentlichen Flash-Vorgang beschreibe, bitte ich euch folgenden Hinweis zur Kenntnis zu nehmen:

Warnung Flashen erfolgt auf eigene Gefahr

Beim Flashen der Firmware eines Geräts - sei es Router, Smartphone usw. - besteht grundsätzlich die Gefahr das Gerät ungewollt zu bricken. Das Flashen eures Routers geschieht auf eigene Gefahr. Ich übernehme keine Haftung für etwaige Hardware-Schäden.

Ein Flashen über die Weboberfläche LuCI ist mit der aktuell ausgelieferten Hersteller-Firmware nicht möglich. Deshalb müsst ihr den Router im Recovery-Modus starten und per U-Boot-Web-Recovery die Firmware flashen.

Die folgende Beschreibung des Flash-Vorgangs folgt der Anleitung des Herstellers (siehe Using Uboot to Debrick Your Router).

Im Folgenden nun die einzelnen Schritte zum Flashen:

  1. verbindet den (ausgeschalteten) Router per Ethernet-Kabel mit eurem PC/Notebook
    • ob LAN- oder WAN-Port ist laut Herstellerangaben egal
    • ich selbst habe den LAN-Port verwendet
    • der nicht verwendete Port darf nicht mit einem anderen Gerät verbunden sein
  2. schaltet den Router bei gedrücktem Reset-Knopf (Router-Rückseite) ein
    • haltet den Reset-Knopf solange gedrückt bis neben der leuchtenden Power/Strom-LED die anderen LEDs 5x aufblinken und anschließend die WAN-LED dauerhaft leuchtet
  3. konfiguriert die Ethernet-Verbindung eures PC/Notebook, so dass euer Rechner die statische IP 192.168.1.2/24 erhält - Gateway-Adresse bleibt leer
  4. im Webbrowser ruft ihr nun die IP 192.168.1.1 auf und solltet folgende Seite sehen:
OpenWrt per U-Boot-Web-Recovery flashen
  1. klickt nun auf Durchsuchen und wählt das heruntergeladene OpenWrt-Image in eurem Download-Ordner aus und klickt anschließend auf Update gl-inet firmware
    • der Flash-Vorgang kann einige Minuten in Anspruch nehmen
    • sobald sich der Router neugestartet hat (siehe LEDs), ist der Flash-Vorgang beendet
    • bei mir war es komischerweise so, dass der Router sich erst neugestartet hatte, nachdem ich nach einigen Minuten die 192.168.1.1 im Webbrowser noch einmal aufgerufen habe

Hat sich der Router neugestartet und das Flashen war erfolgreich, so solltet ihr nun die Weboberfläsche LuCI im Webbrowser per 192.168.1.1 aufrufen können:

OpenWrt: LuCI aufrufen nach Flash-Vorgang

OpenWrt einrichten - erste Schritte nach dem Flashen

Auf die grundlegende Einrichtung von OpenWrt möchte ich in diesem Beitrag verzichten. Wie ihr nach dem Flashen Root-Passwort, SSH-Zugang und WLAN konfiguriert, könnt ihr der OpenWrt-Dokumentation und dem entsprechenden Quick-Start-Walkthrough entnehmen.

Mobiles Internet via 4G-/LTE-Modem einrichten

Um das integrierte 4G-/LTE-Modem zu nutzen, gibt es verschiedene Schnittstellen bzw. Protokolle. Ich werden im Folgenden beschreiben, wie sich das Ganze unter Verwendung von QMI umsetzen lässt. Dabei nehme ich die OpenWrt-Dokumentation How To use LTE modem in QMI mode for WAN connection als Grundlage.

Hinweis Internetverbindung für Installation von Paketen benötigt

Zur Installation von zusätzlichen Paketen benötigt der Router eine Internetverbindung. Das könnt ihr entweder per Ethernet oder WLAN bewerkstelligen.

Zunächst müssen wir einige Pakete für die Verwendung von QMI installieren. Dazu verbindet euch per SSH mit eurem Router und installiert die Pakete wie folgt:

opkg update
opkg install usb-modeswitch kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi
Terminal / Konsole

Anschließend startet den Router neu.

Empfehlenswert ist es, die QMI-Schnittstelle über LuCI zu konfigurieren. Dazu installiert noch folgendes Paket:

opkg install luci-proto-qmi
Terminal / Konsole

Nachdem alle benötigten Pakete installiert sind, kann das QMI-Interface in LuCI angelegt werden. Ruft dazu LuCI im Webbrowser auf und wählt im Menü Network - Interfaces. Klickt anschließend auf Add new interface. In der sich öffnenden Eingabemaske vergebt ihr den Namen des Interfaces, wählt als Protokoll QMI celluar und klickt abschließend auf Create interface.

OpenWrt: QMI-Interface in LuCI erstellen

Als nächstes konfigurieren wir das gerade angelegte Interface namens 4G_LTE_MODEM. Dazu klickt auf Edit für das entsprechende Interface. In der Eingabemaske müsst ihr nun eure SIM-Karten-PIN sowie die APN-Zugangsdaten für euren Mobilfunk-Provider eintragen:

OpenWrt: QMI-Interface in LuCI konfigurieren

Die Option Bring up on boot könntet ihr auch bereits jetzt aktivieren. Zum Testen, bis sichergestellt ist, dass alles funktioniert, habe ich es erst einmal deaktiviert gelassen.

Wichtig - im Tab Firewall settings wählt als Firewall-Zone die "WAN"-Zone aus.

OpenWrt: QMI-Interface - Firewall - WAN-Zone

Falls nicht bereits der Fall, muss nun die SIM-Karte in den Router eingelegt werden. Dazu schaltet den Router aus, legt die SIM-Karte in den Steckplatz im Router und schaltet den Router wieder an.

Anschließend ruft wieder LuCI und die Interface-Seite auf. Wenn ihr die Option Bring up on boot bereits aktiviert hattet, dann sollte das LTE-Modem sich bereits ins Mobilfunk-Netz eingewählt haben. Falls dem nicht so ist, klickt für das LTE-Interface auf Restart.

Hat alles geklappt, sollte eurer Router nun mit dem Mobilfunknetz eures Providers verbunden sein und über eine aktive mobile Internetverbindung verfügen:

OpenWrt: 4G-/LTE-Modem verbunden mit Mobilfunknetz

Wundert euch nicht über das Interface 4G_LTE_MODEM_4. Dieses Interface wird vom QMI-Modul automatisch erzeugt.

Fazit

Mit dem GL-X750 habe ich einen kompakten 4G-/LTE-Router für meine mobile Internetverbindung (Congstar Homespot) für daheim gefunden. Das Flashen von OpenWrt auf den GL-X750-Router war dabei schnell und unkompliziert möglich. Da habe ich mit LineageOS auf meinem Smartphone schon viel schlimmere Dinge beim Flashen erlebt. ;)

Im nächsten Schritt könnten jetzt noch die LEDs konfiguriert werden, da nicht alle "out of the box" funktionieren.

Wer möchte könnte bei Bedarf auch noch weitere Pakete, wie z.B. Wireguard für VPN, Stubby für DNS-Verschlüsselung, Samba für Datenaustausch im LAN etc. installieren.

Aktualisierungshistorie:
  • 19. April 2020
    Import des öffentlichen GPG-Schlüssels von OpenWrt via Keyserver anstatt über Schlüsseldatei, die von der der OpenWrt-Public-Key-Seite herunterzuladen ist
Feedback

Für Feedback zum Beitrag, seien es Fragen, Korrigierungen und/oder Anregungen, könnt ihr mir gerne eine Nachricht per E-Mail oder Mastodon schreiben (siehe Kontakt).