Router einrichten Xiaomi AX3200 Redmi ax6s

Aus Freifunk Dresden - Anwender-Wiki
Version vom 19. November 2023, 11:11 Uhr von Emploi (Diskussion | Beiträge) (→‎Voraussetzungen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Xiaomi AX3200

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 AX3200
Xiaomi AX3200 Redmi ax6s.jpg
Xiaomi 80€ 256 128NAND 1350/MediaTek MT7622B
A53 64Bit DualCore SMT
(2Cores/2Threads)
4x4:4@2,4Ghz
4x4:4@5GhzAX
RB01 3 LAN:1 WAN (1Gbit), 2,4Ghz und 5Ghz (AX) WLAN, 6 feste AntennenRouter einrichten Xiaomi AX3200 192.168.31.1/24(LAN) (root/muss berechnet werden) Originalnetzteil (15W)
5,9W(Leerlauf+2xGBLAN) 6,6W(Vollast)

Voraussetzungen

Xiaomi MI Router AX3200
  • KEINE dauerhafte Internetverbindung wie bei der Gigabit Edition
  • ein Xiaomi AX3200 / mit aktiviertem Telnet*
  • Windows oder Linux Rechner
  • Strom und Netzwerkkabel
  • python3
  • telnet
  • ssh
  • Ein Arbeitsverzeichnis auf eurem Rechner, z.B. unter C:\temp

Dorthin dann die Firmware ((openwrt-mediatek-mt7622-xiaomi_redmi-router-ax6s-squashfs-factory.bin) laden, in diesem Fall das Openwrt Snapshot, von https://downloads.openwrt.org/snapshots/targets/mediatek/mt7622/ ins temp Verzeichnis laden:

*) Sollte Router der Xiaomi Router Ax3200 keinen aktivierten Telnet Zugang haben, gibt es zwei weitere Methoden das Gerät zur Mitarbeit zu bewegen und Telnet zu aktivieren.

Im Falle eines Xiaomi RedMi AX6 (Version RB3) gibt es die Möglichkeit eine BETA-Entwicklerversion einzuspielen, bei der Telnet erlaubt ist.

Router vorbereiten

  • LAN Port an Computer

Kabel an einen der drei LAN Ports anschließen. Ihr bekommt eine Adresse aus 192.168.31.1/24

Wenn auf Ihrem Gerät Telnet ab Werk aktiviert ist, kann losgelegt werden. Test mit http://192.168.31.1/cgi-bin/luci/api/xqsystem/fac_info

Ausgabe:

{"telnet":true,"init":false,"wl0_ssid":"xiaomi-router-rb01_miapec04_5G","ssh":false,"version":"1.0.35","facmode":false,"4kblock":false,"secboot":false,"wl1_ssid":"xiaomi-router-rb01_miapec04","uart":false} 

oder

Invoke-WebRequest "http://192.168.31.1/cgi-bin/luci/api/xqsystem/fac_info" | select Content
Content
-------
{"telnet":true,"init":false,"wl0_ssid":"xiaomi-router-rb01_miap24a9_5G","ssh":false,"version":"1.0.35","facmode":false,"4kblock":false,"...

oder

telnet 192.168.31.1

Ausgabe:

XiaoQiang login:
Login timed out after 60 seconds

Passwort

Zuerst gilt es das Passwort zu berechnen. Dazu gibt es dieses kleines Python3-Programm (https://raw.githubusercontent.com/Freifunk-Dresden/AX6S-unlock/master/unlock_pwd.py), einfach auf der lokalen Festplatte mit dem Namen xxx.py speichern und ausführen (Windows oder Linux)

python3 xxx.py YYYYYY/ZZZZZZZ
  • YYYYYY/ZZZZZZZ ist die tatsächliche Seriennummer des Geräts. Zu finden ist Seriennummer auf dem Etikett auf der Rückseite des Routers.
    Seriennummer AX3200


Passwort "merken".

Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Lernen Sie das neue plattformübergreifende PowerShell kennen – https://aka.ms/pscore6

PS C:\Users\lamir> cd C:\temp\
PS C:\temp> python.exe .\serial.py 35756/J1UD0***8
96f7***1

Firmware flashen

Ein paar Vorbereitung sind noch zu treffen, die heruntergeladene Software sollte hier sein und umbenannt in "factory.bin"" werden, anschließend wird ein http Server gestartet:

PS C:\temp> dir
 

    Verzeichnis: C:\temp 


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        21.04.2022     18:38          18098 Anleitung.odt
-a----        21.04.2022     18:33           1886 ausgabe.txt
-a----        21.04.2022     18:46        9961472 openwrt-mediatek-mt7622-xiaomi_redmi-router-ax6s-squashfs-factory.bin
-a----        21.04.2022     18:25            824 serial.py
 

PS C:\temp> Get-FileHash .\openwrt-mediatek-mt7622-xiaomi_redmi-router-ax6s-squashfs-factory.bin

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          561A49F3B7F2EC398649A1CBA1F826FEB46272057629B07D6891820A676B1C0D       C:\temp\openwrt-mediatek-mt76...


PS C:\temp> Rename-Item -Path "C:\temp\openwrt-mediatek-mt7622-xiaomi_redmi-router-ax6s-squashfs-factory.bin" -NewName "factory.bin"
PS C:\temp> python.exe -m http.server
Serving HTTP on :: port 8000 (http://[::]:8000/) ...

In einem neuen PowerShell Fenster gehen wir auf den Router:

PS C:\temp>telnet 192.168.31.1

XiaoQiang login: root
Password:


BusyBox v1.25.1 (2021-08-07 08:04:56 UTC) built-in shell (ash)

 -----------------------------------------------------
       Welcome to XiaoQiang!
 -----------------------------------------------------
  $$$$$$\  $$$$$$$\  $$$$$$$$\      $$\      $$\        $$$$$$\  $$\   $$\
 $$  __$$\ $$  __$$\ $$  _____|     $$ |     $$ |      $$  __$$\ $$ | $$  |
 $$ /  $$ |$$ |  $$ |$$ |           $$ |     $$ |      $$ /  $$ |$$ |$$  /
 $$$$$$$$ |$$$$$$$  |$$$$$\         $$ |     $$ |      $$ |  $$ |$$$$$  /
 $$  __$$ |$$  __$$< $$  __|        $$ |     $$ |      $$ |  $$ |$$  $$<
 $$ |  $$ |$$ |  $$ |$$ |           $$ |     $$ |      $$ |  $$ |$$ |\$$\
 $$ |  $$ |$$ |  $$ |$$$$$$$$\       $$$$$$$$$  |       $$$$$$  |$$ | \$$\
 \__|  \__|\__|  \__|\________|      \_________/        \______/ \__|  \__|

root@XiaoQiang:~#

Und geben folgende Befehle ein:

nvram set ssh_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit

root@XiaoQiang:~# nvram set ssh_en=1
vram set root@XiaoQiang:~# nvram set uart_en=1
nvram set broot@XiaoQiang:~# nvram set boot_wait=on
nvram setroot@XiaoQiang:~# nvram set flag_boot_success=1
nvram root@XiaoQiang:~# nvram set flag_try_sys1_failed=0
vram set root@XiaoQiang:~# nvram set flag_try_sys2_failed=0
nvram croot@XiaoQiang:~# nvram commit
root@XiaoQiang:~# cd /tmp

Wir holen uns das Image von unserem http Server (Achtung IP anpassen).

root@XiaoQiang:/tmp# wget http://192.168.31.202:8000/factory.bin
Connecting to 192.168.31.202:8000 (192.168.31.202:8000)
factory.bin          100% |***********************************************************************|  9728k  0:00:00 ETA
root@XiaoQiang:/tmp#sha256sum factory.bin
561a49f3b7f2ec398649a1cba1f826feb46272057629b07d6891820a676b1c0d  factory.bin
root@XiaoQiang:/tmp#mtd -r write factory.bin firmware 

Unlocking firmware ...

Writing from factory.bin to firmware ...
Rebooting ...

Verbindung zu Host verloren.

Und logen uns in OpenWrt ein....

PS C:\Users\lamir>PS C:\Users\lamir> ipconfig.exe

Windows-IP-Konfiguration


Unbekannter Adapter OVPN-TUN: 

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Ethernet-Adapter Mainboard Freifunk 1GB:

   Verbindungsspezifisches DNS-Suffix: lan
   IPv4-Adresse  . . . . . . . . . . : 192.168.1.247
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.1.1

PS C:\Users\lamir> ssh root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ED25519 key fingerprint is SHA256:+naKqsISXAJjSi8cfjd/34LbtC8PMW4TqQKiee4ya6M.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.1' (ED25519) to the list of known hosts.


BusyBox v1.35.0 (2022-04-20 16:14:08 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r19508-0d2d52df69
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~#passw

Webinterface

root@OpenWrt:~#opkg update
root@OpenWrt:~#opkg install luci

Zusammenfassung

mit Freifunk Dresden Software

1. Fenster

PS C:\Users\lamir> Start-BitsTransfer -Source https://raw.githubusercontent.com/Freifunk-Dresden/AX6S-unlock/master/unlock_pwd.py
PS C:\Users\lamir> python.exe .\unlock_pwd.py
Usage: .\unlock_pwd.py <S/N>
PS C:\Users\lamir> python.exe .\unlock_pwd.py 35756/J1UD32286
bebcef7d
PS C:\Users\lamir> Start-BitsTransfer -Source https://download.freifunk-dresden.de/firmware/latest/firmware/mediatek.mt7622.generic/openwrt-mediatek-mt7622-xiaomi_redmi-router-ax6s-squashfs-factory.bin
PS C:\Users\lamir> Rename-Item -Path ".\openwrt-mediatek-mt7622-xiaomi_redmi-router-ax6s-squashfs-factory.bin" -NewName "factory.bin"
PS C:\Users\lamir> python.exe -m http.server
Serving HTTP on :: port 8000 (http://[::]:8000/) ...
::ffff:192.168.31.1 - - [14/Dec/2022 20:45:11] "GET /factory.bin HTTP/1.1" 200 -

2. Fenster

telnet 192.168.31.1
XiaoQiang login: root
Password:
BusyBox v1.25.1 (2021-08-07 08:04:56 UTC) built-in shell (ash)

 -----------------------------------------------------
       Welcome to XiaoQiang!
 -----------------------------------------------------
  $$$$$$\  $$$$$$$\  $$$$$$$$\      $$\      $$\        $$$$$$\  $$\   $$\
 $$  __$$\ $$  __$$\ $$  _____|     $$ |     $$ |      $$  __$$\ $$ | $$  |
 $$ /  $$ |$$ |  $$ |$$ |           $$ |     $$ |      $$ /  $$ |$$ |$$  /
 $$$$$$$$ |$$$$$$$  |$$$$$\         $$ |     $$ |      $$ |  $$ |$$$$$  /
 $$  __$$ |$$  __$$< $$  __|        $$ |     $$ |      $$ |  $$ |$$  $$<
 $$ |  $$ |$$ |  $$ |$$ |           $$ |     $$ |      $$ |  $$ |$$ |\$$\
 $$ |  $$ |$$ |  $$ |$$$$$$$$\       $$$$$$$$$  |       $$$$$$  |$$ | \$$\
 \__|  \__|\__|  \__|\________|      \_________/        \______/ \__|  \__|


root@XiaoQiang:~# nvram set ssh_en=1
root@XiaoQiang:~# nvram set uart_en=1
root@XiaoQiang:~# nvram set boot_wait=on
root@XiaoQiang:~# nvram set flag_boot_success=1
root@XiaoQiang:~# nvram set flag_try_sys1_failed=0
root@XiaoQiang:~# nvram set flag_try_sys2_failed=0
root@XiaoQiang:~# nvram commit
root@XiaoQiang:~# cd /tmp/
root@XiaoQiang:/tmp# wget http://192.168.31.202:8000/factory.bin
Connecting to 192.168.31.202:8000 (192.168.31.202:8000)
factory.bin          100% |******************************************************************************************| 10112k  0:00:00 ETA
root@XiaoQiang:/tmp# mtd -r write factory.bin firmware
Unlocking firmware ...

Writing from factory.bin to firmware ...
Rebooting ...

Ferdsch

Optimierung

Zur Zeit Arbeitet AX in Verbindung mit anderen Freifunkrouter noch nicht korrekt, sowohl im Clientbetrieb als auch im Mesh-Netz sind die Datenraten unter 5Ghz schlechter als mit AC, deshalb vorerst von Hand auf AC zurück stellen.

uci set wireless.radio5g.htmode='VHT80'
uci commit

* Es handelt sich um einen Bug in OpenWrt, der zwar AC mit Beamforming konfiguriert, AX jedoch nicht.

Dauerhaft Konfigurations- und Updatefest siehe "Startscript Check":

Startscript Check

Aufruf im Editor:

vi /etc/ddmesh/post-setup-wifi.sh

Diese Befehlszeile in das Script ^ einfügen: Es stellt den ax(HE80) Modus beim Routerstart auf ac(VHT80) um.

x='wireless.radio5g.htmode'; if [ $(uci get $x) = 'HE80' ]; then uci set $x='VHT80'; logger -t userscript set $x from HE80 to VTH80; fi

Beispiel:

Xiaomi Redmi Router AX6S @ r1113:~# cat /etc/ddmesh/post-setup-wifi.sh
#!/bin/sh
TAG="post-setup-wifi"
x='wireless.radio5g.htmode'; if [ $(uci get $x) = 'HE80' ]; then uci set $x='VHT80'; logger -t userscript set $x form HE80 to VTH80 on 1113; fi

# example:
logger -t "${TAG}" "called at $(date)"

Energie

Standardmäßig ist der Governor Performance eingestellt:

i='/sys/devices/system/cpu/cpufreq/policy0/';ls -al $i; cat $i*

Zum Stromsparen (0,3 Watt):

echo powersave > $i/scaling_governor
cat $i*
echo performance > $i/scaling_governor
cat $i*