Router einrichten Xiaomi

Aus Freifunk Dresden - Anwender-Wiki
Zur Navigation springen Zur Suche springen

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