Compare commits

...

9 Commits

Author SHA1 Message Date
Johannes Kimmel f3e83f5fe1 ci: update hugo image 2024-05-13 17:09:49 +02:00
Johannes Kimmel 6d9f6ade8f woodpecker: update syntax for 1.0.0 2024-05-13 16:48:54 +02:00
Johannes Kimmel 2b18b02d41 hardware: unify port tables
Closes: #33
Closes: #36
Closes: #37
2024-05-13 15:42:29 +02:00
Fabian Bläse 8bcb762965 Improve Xiaomi Mi Router 4A guide
- Add missing hardware information for 100m and 100m-intl
- Remove firmware downgrade steps (not required anymore)
2024-05-13 13:46:38 +02:00
Fabian Bläse 85fd2a1389 xiaomi-mi-4a: add port description for 100m variant 2024-05-13 13:46:38 +02:00
Fabian Bläse c8707e61fc Add Mikrotik RB5009 2024-05-13 13:42:58 +02:00
Fabian Bläse d3ed8a4e20 xiaomi-mi-4a: simplify firmware flashing instructions 2023-05-20 13:14:05 +02:00
Johannes Kimmel 81c82d26dc xiaomi-mi-4a: center support flags 2023-05-20 12:42:50 +02:00
Fabian Bläse 8037ed74b1 xiaomi-mi-4a: how to identify hardware revisions 2023-05-20 11:47:32 +02:00
4 changed files with 154 additions and 62 deletions

View File

@ -4,24 +4,24 @@ clone:
settings:
tags: true
pipeline:
steps:
version:
image: klakegg/hugo:0.105.0-ext-alpine-ci
image: ghcr.io/hugomods/hugo:go-git-0.125.7
commands:
- hugo version
build:
image: klakegg/hugo:0.105.0-ext-alpine-ci
image: ghcr.io/hugomods/hugo:go-git-0.125.7
commands:
- hugo --verbose --debug --printPathWarnings
list-files:
image: klakegg/hugo:0.105.0-ext-alpine-ci
image: ghcr.io/hugomods/hugo:go-git-0.125.7
commands:
- ls -Rl public
deploy:
image: klakegg/hugo:0.105.0-ext-alpine-ci
image: ghcr.io/hugomods/hugo:go-git-0.125.7
secrets:
- BOT_PRIVATE_KEY
commands:
@ -32,4 +32,5 @@ pipeline:
- chmod 0600 $HOME/.ssh/id_ed25519
- rsync -a public/ "docs@git.freifunk-franken.de:"
branches: [ master ]
when:
branch: master

View File

@ -0,0 +1,65 @@
---
title: "Mikrotik RB5009"
date: 2023-12-21T15:46:00+01:00
---
<!--more-->
## Installation
Die Anleitung ist größtenteils aus dem [OpenWrt Wiki](https://openwrt.org/toh/mikrotik/rb5009ug_s_in#installation_instructions_with_modified_routerboot) übernommen.
### Router vorbereiten
- BOOTP Server + TFTP Server starten
- `ip addr add 192.168.1.10/24 dev eth0`
- `ip link set up dev eth0`
- [Image](https://github.com/adron-s/openwrt-rb5009/releases/download/rb5009-20220209/openwrt-mvebu-cortexa72-mikrotik_rb5009-initramfs-fit-uImage.elf) herunterladen
- Im Ordner, in den das Image heruntergeladen wurde:
- `dnsmasq --no-daemon --listen-address 192.168.1.10 --bind-interfaces -p0 --dhcp-authoritative --dhcp-range=192.168.1.100,192.168.1.200 --bootp-dynamic --dhcp-boot=openwrt-mvebu-cortexa72-mikrotik_rb5009-initramfs-fit-uImage.elf --log-dhcp --enable-tftp --tftp-root=$(pwd)`
- Computer in Port 1 (2.5G) stecken
- Router im Netinstall Modus starten
- Router mit gedrücktem Reset-Button (fest!) booten
- Reset-Button gedrückt halten bis dnsmasq reagiert und einen BOOTP Lease verteilt
- Nach erfolgreichem Boot (`dnsmasq-tftp: sent xyz to 192.168.1.108`) in LAN-Port 2 umstecken
### Backups erstellen
Dieser Schritt ist unbedingt nötig, und die erzeugten Backups sollten unbedingt gut gespeichert werden,
damit es später möglich ist wieder die Herstellersoftware zu flashen.
```sh
# aabbccddeeff durch die tatsächliche MAC Adresse des RB5009 ersetzen!
# Der Vorgang dauert ca. 5 Minuten, da insgesamt über 1GB vom Router gelesen wird!
ssh root@192.168.1.1 'cat /dev/mtd?' | zstd > mtd.bin.zst
ssh root@192.168.1.1 'cat /proc/mtd' > procmtd.txt
tar -cf rb5009-aabbccddeeff.tar procmtd.txt mtd.bin.zst
rm procmtd.txt mtd.bin.zst
```
### RouterBOOT Bootloader anpassen
- `wget https://github.com/adron-s/aux-loader2/raw/main/releases/2.xx-latest/rbt-with-aux-for-mtd5.bin`
- `scp -O rbt-with-aux-for-mtd5.bin root@192.168.1.1:/tmp/`
- Per SSH auf dem gebooteten OpenWrt einloggen: `ssh root@192.168.1.1`
- `mtd write /tmp/rbt-with-aux-for-mtd5.bin RouterBOOT`
- `echo cfg > /sys/firmware/mikrotik/soft_config/boot_device`
- `echo 1 > /sys/firmware/mikrotik/soft_config/commit`
### Freifunk Firmware installieren
- Firmware ("sysupgrade") per `scp -O` auf den Router nach `/tmp` kopieren
- `sysupgrade -n /tmp/fff-*-mikrotik_rb5009-sysupgrade.bin`
## Ports für Layer3 Konfiguration
| Geräteport | Untagged | Tagged |
|---------------|----------|---------|
| SFP+ | `sfp:*` | `sfp:t` |
| POE IN / 2.5G | `p1:*` | `p1:t` |
| 2 | `p2:*` | `p2:t` |
| 3 | `p3:*` | `p3:t` |
| 4 | `p4:*` | `p4:t` |
| 5 | `p5:*` | `p5:t` |
| 6 | `p6:*` | `p6:t` |
| 7 | `p7:*` | `p7:t` |
| 8 | `p8:*` | `p8:t` |
## Links
- [OpenWRT Wiki](https://openwrt.org/toh/mikrotik/rb5009ug_s_in)

View File

@ -85,15 +85,25 @@ Die Portbelegung des Routers ändert sich abermals, dieses mal auf den von Freif
## Ports für Layer3 Konfiguration
- Alle Geräte
- `eth0:*` bzw. `eth0:t`
- `eth1:*` bzw. `eth1:t`
- `eth2:*` bzw. `eth2:t`
- `eth3:*` bzw. `eth3:t`
- `eth4:*` bzw. `eth4:t`
### ER-X
- Nur für ERX-SFP und EP-R6
- `eth5:*` bzw. `eth5:t`
| Geräteport | Untagged | Tagged |
|--------------|----------|----------|
| eth0 | `eth0:*` | `eth0:t` |
| eth1 | `eth1:*` | `eth1:t` |
| eth2 | `eth2:*` | `eth2:t` |
| eth3 | `eth3:*` | `eth3:t` |
| eth4 | `eth4:*` | `eth4:t` |
### ER-X-SFP / EP-R6
| Geräteport | Untagged | Tagged |
|--------------|----------|----------|
| eth0 | `eth0:*` | `eth0:t` |
| eth1 | `eth1:*` | `eth1:t` |
| eth2 | `eth2:*` | `eth2:t` |
| eth3 | `eth3:*` | `eth3:t` |
| eth4 | `eth4:*` | `eth4:t` |
| eth5/SFP | `eth5:*` | `eth5:t` |
## Links
- [OpenWRT Wiki](https://openwrt.org/toh/ubiquiti/edgerouter_x_er-x_ka)

View File

@ -5,16 +5,51 @@ date: 2022-12-01T17:25:00+01:00
<!--more-->
## Hardware unterscheiden
{{< hint danger >}}
**Achtung!**
Es gibt verschiedene Hardware-Varianten des Xiaomi Mi 4A, die sich teilweise signifikant unterscheiden.
Es sind verschiedene Versionen des '''Xiaomi Mi 4A Gigabit''' im Umlauf, von denen sich aktuell einige nicht mit OpenWrt / Freifunk betreiben lassen.
Geräte, die ab September 2021 gefertigt wurden, sind mit einem anderen SPI Flash ausgestattet. Diese werden erst ab Firmwareversion 20221201 unterstützt. Ältere Firmwares führen zu einer Bootloop und dürfen daher nicht installiert werden.
Geräte mit Stock-Firmware 2.30.20 sind eine neue Hardware-Revision ("v2", "Xiaomi Router AC1200"). Diese lassen sich aktuell nicht mit OpenWrt / Freifunk betreiben.
Die Variante muss bei der Installation **zwingend** berücksichtigt werden, da die Firmwares nicht zueinander kompatibel sind.
{{< /hint >}}
{{< details "**Xiaomi Mi 4A Gigabit**" >}}
| Gerät | aktuell unterstützt |
| -- |:--:|
| Xiaomi Mi 4A Gigabit v1 (GigaDevice SPI-Flash) | ✅ |
| Xiaomi Mi 4A Gigabit v1 (cFeon SPI-Flash) | ✅ |
| Xiaomi Mi 4A Gigabit v2 | ❌ |
Die Revision des Board-Layouts lässt sich nach Ausnutzen des Exploits über den Befehl `ls /etc/Wireless` feststellen.
- v1: `mt7603e mt7612`
- v2: `mt7603e mt7663`
```sh
root@XiaoQiang:~# ls /etc/Wireless
mt7603e mt7612
```
Ab Firmwareversion `20221201` werden beide Varianten des v1-Layouts vom selben Image unterstützt und müssen nicht unterschieden werden.
Das v2-Layout wird aktuell nicht unterstützt. Solltest du ein Gerät mit v2-Layout erhalten haben, nimm bitte Kontakt mit den [Firmware-Entwicklern](mailto:franken-dev@freifunk.net) oder der [Community](https://wiki.freifunk-franken.de/w/Kommunikation) auf.
{{< /details >}}
&nbsp;
{{< details "**Xiaomi Mi 4A**" >}}
| Gerät | aktuell unterstützt |
| -- |:--:|
| Xiaomi Mi 4A (100m) | ✅ |
| Xiaomi Mi 4A (100m-intl) | ✅ |
Die Hardware beider Varianten ist identisch, allerdings wird die internationale Version mit einem anderen Partitionslayout ausgeliefert.
Die Revision des Board-Layouts lässt sich nach Ausnutzen des Exploits über den Befehl `cat /proc/mtd | grep mtd6` feststellen.
- 100m: `mtd6: 00100000 00010000 “overlay”`
- 100m-intl: `mtd6: 00200000 00010000 “overlay”`
```sh
root@XiaoQiang:~# cat /proc/mtd | grep mtd6
mtd6: 00200000 00010000 “overlay”
```
{{< /details >}}
## Installation
Zum Überschreiben der Herstellerfirmware ist ein Exploit des Web-UI nötig: https://github.com/acecilia/OpenWRTInvasion
@ -23,24 +58,6 @@ Zum Überschreiben der Herstellerfirmware ist ein Exploit des Web-UI nötig: htt
Die Videoanleitung sollte nur als zusätzliche Hilfestellung, nicht aber als Referenz genutzt werden!
### Router vorbereiten
{{< hint warning >}}
**Achtung!**
Für den Mi Router 4A 100m (nicht Gigabit) ist eine ältere Herstellerfirmware nötig, da OpenWrt nicht mit dem Partitionslayout der neueren kompatibel ist.
{{< /hint >}}
{{< details "Herstellerfirmware downgraden" >}}
- Ältere Herstellerfirmware herunterladen: [bigota.miwifi.com](https://bigota.miwifi.com/xiaoqiang/rom/r4ac/miwifi_r4ac_firmware_e9eec_2.18.58.bin)
- Mit gedrückter Reset-Taste Strom verbinden und warten bis die LED orange blinkt
- DHCP Server bereitstellen, mit einem der beiden LAN-Port verbinden
- Auf dem Default-Gateway einen TFTP Server starten, Firmware als `test.bin` ablegen
- Beispiel für TFTP unter Linux:
```sh
sudo dnsmasq --no-daemon --bind-interfaces -p0 --dhcp-authoritative --dhcp-range=192.168.1.100,192.168.1.200 --log-dhcp --enable-tftp --tftp-root=$(pwd) --listen-address 192.168.1.1
```
- Warten, bis die blaue LED schnell blinkt
- Strom trennen und erneut verbinden
{{< /details >}}
- Router mit dem Internet verbinden (wichtig, da beim Installationsvorgang zusätzliche Daten vom Router aus dem Internet geladen werden müssen!)
- entweder über den WAN-Port
- oder per WiFi Client (Modus "WiFi Access Point", hier ändert sich allerdings die IP Adresse des Web-UI!)
@ -66,12 +83,14 @@ Für **Windows** gibt es eine Dockervariante, die in der oben verlinkten Anleitu
```
- IP Adresse des Routers und stok (nur den Teil nach `stok#`) eingeben
### OpenWrt flashen
### Firmware flashen
- Mit `telnet` auf dem Router einloggen (**User:** root, **Passwort:** root):
```sh
telnet 192.168.31.1
```
- OpenWrt sysupgrade Image nach /tmp/firmware.bin kopieren
- Ein OpenWrt oder Freifunk sysupgrade Image nach /tmp/firmware.bin kopieren
- `openwrt-[version]-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin`
- `fff-[variant]-[version]-xiaomi_mi-router-4a-gigabit-sysupgrade.bin`
```sh
cd /tmp
wget -O firmware.bin <firmware-url>
@ -85,29 +104,26 @@ Für **Windows** gibt es eine Dockervariante, die in der oben verlinkten Anleitu
mtd -e OS1 -r write firmware.bin OS1
```
Theoretisch kann hier auch direkt die Freifunk Firmware heruntergeladen und geflasht werden.
### Freifunk Firmware flashen
- Über LAN-Port in OpenWrt einloggen
- **IP:** 192.168.1.1
- **User:** root
- Freifunk Firmware flashen
- per Web-UI:
- System → Backup / Flash Firmware → "Flash new firmware image"
- **Wichtig**: "Keep settings" abwählen!
- per SSH:
```sh
scp -O ~/Downloads/fff-firmware.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1
# Wichtig: -n nicht vergessen!
sysupgrade -n /tmp/fff-firmware.bin
```
## Ports für Layer3 Konfiguration
- `wan:*` bzw. `wan:t`
- `lan1:*` bzw. `lan1:t`
- `lan2:*` bzw. `lan2:t`
### Xiaomi Mi 4A Gigabit Edition
| Geräteport | Untagged | Tagged |
|------------|----------|----------|
| Internet | `wan:*` | `wan:t` |
| • | `lan1:*` | `lan1:t` |
| •• | `lan2:*` | `lan2:t` |
### Xiaomi Mi 4A (100m/100m-intl)
{{< hint danger >}}
Der Xiaomi Mi 4A (100m/100m-intl) hat noch keine Unterstützung für `DSA` und benutzt noch `swconfig` um die Ports zu konfigurieren.
{{< /hint >}}
| Geräteport | Untagged | Tagged |
|------------|----------|--------|
| Internet | `0` | `0t` |
| • | `2` | `2t` |
| •• | `4` | `4t` |
## Links
- [OpenWRT Wiki (Gigabit)](https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition)