Router einrichten Xiaomi: Unterschied zwischen den Versionen

Aus Freifunk Dresden - Anwender-Wiki
Zur Navigation springen Zur Suche springen
(→‎Im Fehlerfall: Darkmode)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Category:Router]]
 
[[Category:Router]]
 
= Xiaomi MI Router 4A Gigabit =
 
= Xiaomi MI Router 4A Gigabit =
 +
 +
=== Technische Daten ===
 +
{| class="wikitable sortable zebra toptextcells"
 +
|-
 +
! Geräte-Name
 +
! Hersteller
 +
! Preis
 +
! RAM in MB
 +
! Flash ROM in MB
 +
! Mhz/[https://de.wikipedia.org/wiki/System-on-a-Chip SoC] <br> ([[Router technische Details|CPU-Leistung]])
 +
! [https://www.elektronik-kompendium.de/sites/net/1004251.htm MIMO] 1x1:1
 +
! class="unsortable" | Version (<span style="color: green">tested</span>)
 +
! class="unsortable" | Beschreibung
 +
! LAN-Adresse OriginalFW (Nutzername<br>Password)
 +
! Wirkleistung
 +
|-
 +
| Xiaomi 4A Gigabit Edition [[Datei:Mi4Agigabit.jpg|100px|thumb|right]]
 +
| [https://www.mi.com/de/product/mi-router-4a-gigabit-edition/ Xiaomi]
 +
| style="text-align:right" | 30€
 +
| style="text-align:right" | 128
 +
| style="text-align:right" | 16
 +
| 880/MediaTek [[MT7621|MT7621AT]]<br>DualCore SMT<br> (2Cores/4Threads)
 +
| 2x2:2@2,4Ghz 2x2:2@5Ghz
 +
| Gigabit Edition
 +
| 2 LAN (1Gbit): 1 WAN, 2,4Ghz und 5Ghz (AC) WLAN, 4 feste Antennen [[Router einrichten Xiaomi]]
 +
| 192.168.31.1/24(W+LAN)
 +
| Originalnetzteil <br> 3W(Leerlauf) 4,2W(Vollast) <br>
 +
|-
 +
|}
  
 
== Voraussetzungen ==
 
== Voraussetzungen ==
Zeile 20: Zeile 49:
  
 
Der Vorgang erfolgt in in 3 Schritten:
 
Der Vorgang erfolgt in in 3 Schritten:
 +
=== Vorbereitung ===
 
* Router wie folgt anschließen: An den '''WAN Port''' kommt des normale Internet, was mit DHCP aus eurem Heimrouter fällt.<br/>Der Router '''benötigt''' während der Übernahme bis zu Schritt 3 zu jeder Zeit '''Internet''' und Kontakt ins Xiaomi-Reich.<br/>
 
* Router wie folgt anschließen: An den '''WAN Port''' kommt des normale Internet, was mit DHCP aus eurem Heimrouter fällt.<br/>Der Router '''benötigt''' während der Übernahme bis zu Schritt 3 zu jeder Zeit '''Internet''' und Kontakt ins Xiaomi-Reich.<br/>
 
* An einen der beiden LAN Ports kommt euer Computer, der bekommt vom Xiaomi Router eine Adresse aus 192.168.31.0/24.
 
* An einen der beiden LAN Ports kommt euer Computer, der bekommt vom Xiaomi Router eine Adresse aus 192.168.31.0/24.
* Via Linux-PC via Browser auf 192.168.31.1 zugreifen und Xiaomi normal einrichten (vorgeschlagen wird für Internet DHCP, bestätigen)<br/>Hier "Germany" wählen und ein einfaches Passwort ('test1234') setzen.
+
* Via '''Linux-PC via Browser auf 192.168.31.1''' zugreifen und Xiaomi normal einrichten (vorgeschlagen wird für Internet DHCP, bestätigen)<br/>Hier "Germany" wählen und ein einfaches '''Passwort''' ('test1234') setzen.
  
 
<pre>
 
<pre>
Zeile 29: Zeile 59:
  
 
=== 1. Invasion durchführen  ===
 
=== 1. Invasion durchführen  ===
 +
Auf Linux-PC Console öffnen und folgende Befehle ausführen:<br/>
 +
 +
* Tools zum 'Öffnen' des Routers für Freifunk-Firmware installieren
 
  git clone https://github.com/Freifunk-Dresden/OpenWRTInvasion
 
  git clone https://github.com/Freifunk-Dresden/OpenWRTInvasion
 
  cd OpenWRTInvasion
 
  cd OpenWRTInvasion
 
  pip3 install -r requirements.txt  
 
  pip3 install -r requirements.txt  
  
Bei 192.168.31.1 anmelden, Häkchen setzen, Passwort festlegen. Wenn es nicht mehr weiter geht zurück auf 192.168.31.1 und anmelden.
+
[[Datei:Xiaomi.png|mini|rechts]]
 
+
* Gerät per Tool öffnen
 
  python3 remote_command_execution_vulnerability.py
 
  python3 remote_command_execution_vulnerability.py
  
Zeile 48: Zeile 81:
  
 
Hinweis:
 
Hinweis:
 
 
Es müssen folgende beide Zeilen zu sehen sein.
 
Es müssen folgende beide Zeilen zu sehen sein.
  
Zeile 58: Zeile 90:
  
 
=== 2. Flash einleiten ===
 
=== 2. Flash einleiten ===
 +
[[Datei:Xiaomi-telnet.png|mini|rechts]]
  
 
Login mit Telnet und anmelden mit Benutzername "root" & Passwort "root"
 
Login mit Telnet und anmelden mit Benutzername "root" & Passwort "root"
  
 
  telnet 192.168.31.1
 
  telnet 192.168.31.1
 
+
[[Datei:Xiaomi-flashing.png|mini|rechts]]
 
  cd /tmp
 
  cd /tmp
  curl -4 -k https://download.freifunk-dresden.de/firmware/.nightly/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-initramfs-kernel.bin --output firmware.bin  
+
  curl -4 -k http://download.freifunk-dresden.de/firmware/latest/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-initramfs-kernel.bin --output firmware.bin  
 
  mtd -e OS1 -r write firmware.bin OS1
 
  mtd -e OS1 -r write firmware.bin OS1
  
Zeile 79: Zeile 112:
 
[https://192.168.1.1/admin/firmware.cgi Menü: Verwalten > Wartung > Firmware]
 
[https://192.168.1.1/admin/firmware.cgi Menü: Verwalten > Wartung > Firmware]
  
Nun das [https://download.freifunk-dresden.de/firmware/.nightly/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin Sysupgrade-Image] auswählen und "Firmware laden".
+
Nun das [http://download.freifunk-dresden.de/firmware/latest/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin Sysupgrade-Image] auswählen und "Firmware laden".
  
 
==== 2. via SSH ====
 
==== 2. via SSH ====
Zeile 86: Zeile 119:
  
 
  cd /tmp
 
  cd /tmp
  wget -4 https://download.freifunk-dresden.de/firmware/.nightly/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin -O sysupgrade.bin
+
  wget -4 http://download.freifunk-dresden.de/firmware/latest/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin -O sysupgrade.bin
 
  sysupgrade -n sysupgrade.bin
 
  sysupgrade -n sysupgrade.bin
  
Zeile 101: Zeile 134:
 
https://xiaomifirmware.net/firmware-mi-router-4a-gigabit/
 
https://xiaomifirmware.net/firmware-mi-router-4a-gigabit/
 
und dort das miwifi_r4a_firmware_51508_2.28.38.bin
 
und dort das miwifi_r4a_firmware_51508_2.28.38.bin
 +
 +
== Hinweis ==
 +
 +
=== Darkmode ===
 +
 +
Die LED des Routers sind recht leuchtstark, sodass sie unter Umständen im Dunklen stören könnten, es gibt Zwei davon:<br>
 +
Die Linke lässt sich über unser das Webinterface (Konfiguration:System->LEDs) ausschalten, die Rechte LED ist mit dem WAN Port leider festverdrahtet. Die WAN Port LED könnte man umgehen, in dem man das Internet über die LAN-Port holt, dazu sind die entsprechende LAN-Einstellungen (Konfiguration:LAN) vorzunehmen. Siehe [https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/issues/138 #138]

Aktuelle Version vom 25. Februar 2023, 13:15 Uhr

Xiaomi MI Router 4A Gigabit

Technische Daten

Geräte-Name Hersteller Preis RAM in MB Flash ROM in MB Mhz/SoC
(CPU-Leistung)
MIMO 1x1:1 Version (tested) Beschreibung LAN-Adresse OriginalFW (Nutzername
Password)
Wirkleistung
Xiaomi 4A Gigabit Edition
Mi4Agigabit.jpg
Xiaomi 30€ 128 16 880/MediaTek MT7621AT
DualCore SMT
(2Cores/4Threads)
2x2:2@2,4Ghz 2x2:2@5Ghz Gigabit Edition 2 LAN (1Gbit): 1 WAN, 2,4Ghz und 5Ghz (AC) WLAN, 4 feste Antennen Router einrichten Xiaomi 192.168.31.1/24(W+LAN) Originalnetzteil
3W(Leerlauf) 4,2W(Vollast)

Voraussetzungen

Xiaomi Mi 4A Gigabit Edition
  • Internet
  • ein Xiaomi Router
  • Strom und Netzwerkkabel
  • Linux-System (im Beispiel Debian, auch als VM Möglich)
    • Pakete (gegebenfalls mit sudo apt install nachinstallieren):
      • python3 pip3
      • git
      • telnet
sudo apt update && sudo apt upgrade
sudo apt install python3-pip git telnet 

Firmware flashen

Der Vorgang erfolgt in in 3 Schritten:

Vorbereitung

  • Router wie folgt anschließen: An den WAN Port kommt des normale Internet, was mit DHCP aus eurem Heimrouter fällt.
    Der Router benötigt während der Übernahme bis zu Schritt 3 zu jeder Zeit Internet und Kontakt ins Xiaomi-Reich.
  • An einen der beiden LAN Ports kommt euer Computer, der bekommt vom Xiaomi Router eine Adresse aus 192.168.31.0/24.
  • Via Linux-PC via Browser auf 192.168.31.1 zugreifen und Xiaomi normal einrichten (vorgeschlagen wird für Internet DHCP, bestätigen)
    Hier "Germany" wählen und ein einfaches Passwort ('test1234') setzen.
 Internetrouter (DHCP) -->  Xiaomie(WAN Port) --> Xiaomi(LAN Port) --> Linux-PC

1. Invasion durchführen

Auf Linux-PC Console öffnen und folgende Befehle ausführen:

  • Tools zum 'Öffnen' des Routers für Freifunk-Firmware installieren
git clone https://github.com/Freifunk-Dresden/OpenWRTInvasion
cd OpenWRTInvasion
pip3 install -r requirements.txt 
Xiaomi.png
  • Gerät per Tool öffnen
python3 remote_command_execution_vulnerability.py

Router IP eintippen, zuvor gewähltes Passwort Eingeben, default Option 1 wählen und warten bis das Script durchgelaufen ist.

Beispiel:

Router IP address [press enter for using the default 'miwifi.com']: 192.168.31.1
Enter router admin password: test1234
There two options to provide the files needed for invasion:
  1. Use a local TCP file server runing on random port to provide files in local directory `script_tools`.
  2. Download needed files from remote github repository. (choose this option only if github is accessable inside router device.)
Which option do you prefer? (default: 1)

Hinweis: Es müssen folgende beide Zeilen zu sehen sein.

local file server is getting 'busybox-mipsel' for 192.168.31.1.
local file server is getting 'dropbearStaticMipsel.tar.bz2' for 192.168.31.1.

Wenn nicht, ist wahrscheinlich eine lokale Firewall (Ubuntu -> ufw / Fedora -> firewalld etc.) aktiv, die Verbindungen blockiert. Diese muss dann temporär deaktiviert werden (sudo ufw disable / sudo systemctl stop firewalld).

2. Flash einleiten

Xiaomi-telnet.png

Login mit Telnet und anmelden mit Benutzername "root" & Passwort "root"

telnet 192.168.31.1
Xiaomi-flashing.png
cd /tmp
curl -4 -k http://download.freifunk-dresden.de/firmware/latest/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-initramfs-kernel.bin --output firmware.bin 
mtd -e OS1 -r write firmware.bin OS1

Nachdem schreiben der Firmware startet der Router neu und ist im Anschluss über die IP 192.168.1.1 wieder erreichbar. (benötigt statische IP Konfiguration)

3. Systemupgrade

Nun gibt es zwei Optionen das Sysupgrade auszuführen.

1. via Webinterface

Die Website auf http://192.168.1.1 aufrufen und in die Firmware Verwaltung wechseln.

Menü: Verwalten > Wartung > Firmware

Nun das Sysupgrade-Image auswählen und "Firmware laden".

2. via SSH

Mit SSH (ssh root@192.168.1.1) anmelden und Systemupgrade durchführen:

cd /tmp
wget -4 http://download.freifunk-dresden.de/firmware/latest/firmware/ramips.mt7621.generic/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin -O sysupgrade.bin
sysupgrade -n sysupgrade.bin


Dieser Vorgang dauert ca. 10 Minuten, es werden Neustarts durchgeführt.
Danach ist der Router fertig installiert und über die IP 192.168.222.1 erreichbar. (benötigt statische IP Konfiguration)

Im Fehlerfall

Nicht verzagen, das Tool TinyPXE Server unter https://hoddysguides.com/xiaomi-debrick-tools-all/ stellt eine Originalfirmware wieder her, dauert natürlich wieder seine Zeit. Der Bootloader wird nicht angefasst, also keine Angst.

Notnagel, uralte Entwicklerversion: https://xiaomifirmware.net/firmware-mi-router-4a-gigabit/ und dort das miwifi_r4a_firmware_51508_2.28.38.bin

Hinweis

Darkmode

Die LED des Routers sind recht leuchtstark, sodass sie unter Umständen im Dunklen stören könnten, es gibt Zwei davon:
Die Linke lässt sich über unser das Webinterface (Konfiguration:System->LEDs) ausschalten, die Rechte LED ist mit dem WAN Port leider festverdrahtet. Die WAN Port LED könnte man umgehen, in dem man das Internet über die LAN-Port holt, dazu sind die entsprechende LAN-Einstellungen (Konfiguration:LAN) vorzunehmen. Siehe #138