Router einrichten D-LinkAquilaM60: Unterschied zwischen den Versionen

Aus Freifunk Dresden - Anwender-Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
D-Link AQUILA PRO AI M60 A1 auf Freifunk Dresden flashen
[[Category:Router]]
=D-Link AQUILA PRO AI M60 A1=
 
''Firmware aktuell im .nightly''
 
=== Technische Daten ===
 
{| class="wikitable sortable zebra toptextcells"  style="background:#40ff40;
|-
! Geräte-Name
! Hersteller / Release
! 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[EAN] (<span style="color: green">tested</span>)
! class="unsortable" | Beschreibung
! Schwierigkeitsgrad <br> LAN-Adresse OriginalFW (Nutzername<br>Password)
! Wirkleistung
|-
| D-Link AQUILA PRO AI M60<br>[[Datei:D-linkaquila-m60.jpg|100px|rahmenlos]]
| [https://www.dlink.com/de/de/products/m60-ax6000-wifi-6-smart-mesh-router D-Link] <br>202x
| style="text-align:right" | xxx€ UVP <br> 80€ pro Paar (05/26) bei JACOB
| style="text-align:right" | 512
| style="text-align:right" | 128
| 2000/MediaTek MT7986A <br>ARM A53 64Bit QuadCore<br> (4Cores/4Threads)
| 4x4:4@2,4Ghz ax<br>4x4:4@5Ghz ax
| <span style="color: red">Ab Firmware 9.0.3</span><br> <span style="color: red">A1</span> [https://downloads.openwrt.org/releases/25.xx.x/targets/mediatek/filogic/ >=OpenWrt25.xx.xx]
| 1 WAN (2,5Gbit), 4xLAN (1GBit),<br>, 2,4Ghz (AX) und 5Ghz (AX) WLAN, 8 interne Antennen <br> Ein/Aus Schalter <br> Knopf LED,WPS, Reset <br> 584g
| <span style="color: orange"> Einfach per Recovery GUI</span><br>192.168.200.1/24(LAN) Anleitung: [[Router_einrichten_D-LinkAquilaM60|Router einrichten Aquila M60]]
| Originalnetzteil 12V/2,5A <br> ''FFDD-Idle:''8,0W(WLAN)<br>8,1W(1xGBLAN)<br>8,7W(2,5GBWAN+GBLAN)
|-
|}
 
== Freifunk aufspielen ==


'''Ausgangsbasis:''' [[Datei:dlinkm60a1_01.png|200px|thumb|right|Original Firmware]]
'''Ausgangsbasis:''' [[Datei:dlinkm60a1_01.png|200px|thumb|right|Original Firmware]]
Zeile 5: Zeile 40:
Original Firmware: '''<span style="color: green">1.11.03 von 2022 (funktioniert)</span> ''' <br>  
Original Firmware: '''<span style="color: green">1.11.03 von 2022 (funktioniert)</span> ''' <br>  
Image-Basis: OpenWrt 25.12.0 / Freifunk Dresden v9.0.3<br>
Image-Basis: OpenWrt 25.12.0 / Freifunk Dresden v9.0.3<br>
<span style="color: red">'''VORSICHT'''*!  
<span style="color: Orange">'''Achtung'''*!  
!!! NEUERE FIRWARE wie 1.20.x von 2025 funktioniert aktuell im Recovery Modus nicht!!!<br>
!!! NEUERE FIRWARE wie 1.20.x von 2025 funktioniert auch, Lösung weiter unten! <br>
</span>  
</span>  


'''Dateien'''
'''Dateien'''
  freifunk-dresden-v9.0.3-25.12.0-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-recovery.bin → Erstinstallation
  freifunk-dresden-v9.0.3-25.12.0-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-recovery.bin → Erstinstallation
  freifunk-dresden-v9.0.3-25.12.0-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-sysupgrade.bin → finales Upgrade
  freifunk-dresden-v9.0.3-25.12.0-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-sysupgrade.bin → finales Upgrade
freifunk-dresden-v9.0.4-25.12.3-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-sysupgrade.bin (im Test)
downloaden
downloaden


Zeile 75: Zeile 110:


'''Flash-Reihenfolge:'''
'''Flash-Reihenfolge:'''
Original D-Link → recovery.bin → sysupgrade.bin → Freifunk Dresden
 
Original D-Link → recovery.bin → sysupgrade.bin → Freifunk Dresden
 
 
== Probleme mit der Dual-Boot-Reihenfolge ==
 
'''''<span style="color: green">GUT:</span>'''
<div style="max-height: 200px; overflow-y: auto; margin-top: 8px; padding: 5px; background: #fff; border: 1px solid #eaecf0;">
So sieht ein gelungener vollständiger Flashvorgang von Original Firmware: '''<span style="color: green">1.11.03 von 2022</span> ''' aus <br>
<syntaxhighlight lang=bash>
Firmware version: 9.0.3
D-Link AQUILA PRO AI M60 A1 @ 51004:~# cat /proc/cmdline
console=ttyS0,115200n1 loglevel=8 isolcpus=1 earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
D-Link AQUILA PRO AI M60 A1 @ 51004:~# cat /proc/mtd
dev:    size  erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00200000 00020000 "FIP"
mtd4: 03200000 00020000 "ubi"
mtd5: 03200000 00020000 "ubi1"
mtd6: 00040000 00020000 "Odm"
mtd7: 00080000 00020000 "Config1"
mtd8: 00080000 00020000 "Config2"
mtd9: 00a00000 00020000 "Storage"
D-Link AQUILA PRO AI M60 A1 @ 51004:~# fw_printenv
baudrate=115200
boot_by_part=if itest.s ${mupgrade_en} == 1; then aup;fi;if itest.s ${bootpart} == 0; then run set_act1; run ub0; else run set_act2; run ub1; fi
boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi
boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run boot_by_part; else run boot_by_tryactive; fi
bootargs=console=ttyS0,115200n1 loglevel=8 isolcpus=1 earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
bootdelay=2
bootmenu_0=Startup system (Default)=run boot_rd_auto_sw_img
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Http Upgrade=uip main; reset
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
bootpart=0
con=0
en_wdt=wdt on 30
ethact=ethernet@15100000
fdtcontroladdr=5ff3a000
fw_ver_a=V1.11B03
i=7
ipaddr=192.168.200.1
loadaddr=0x46000000
mtdids=nmbm0=nmbm0
mtdparts=nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),51200k(ubi),51200k(ubi1),256k(Odm),512k(Config1),512k(Config2),5120k(Storage)
mupgrade_en=1
netmask=255.255.255.0
power_on_rst_recov=setexpr i 8;setexpr con 1;while itest ${con} -gt 0; do  if gpio input 10; then  gpio toggle 44; else  setexpr con 0; fi; sleep 1; if itest ${i} -eq 0; then  setexpr con 0; else  setexpr i ${i} - 1; fi;done;if itest ${i} -gt 0; then  if itest ${i} -lt 4; then  setenv FW_RESET_FLAG 1; saveenv;  echo set FW_RESET_FLAG to 1;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44; fi;else  uip main;fi
serverip=192.168.200.2
set_act1=if itest.s ${sw_active} != 1; then setenv sw_active 1; saveenv; fi
set_act2=if itest.s ${sw_active} != 2; then setenv sw_active 2; saveenv; fi
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000
sw_active=1
sw_tryactive=2
ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset
ub0to1=setenv bootpart 1; mtkboardboot
ub1=setenv bootpart 1; mtkboardboot; run ub1to0; uip main; reset
ub1to0=setenv bootpart 0; mtkboardboot
D-Link AQUILA PRO AI M60 A1 @ 51004:~#
</syntaxhighlight>
</div>
'''''<span style="color: Orange">Weniger Gut:</span>''' Router landet nach dem zweiten Flashvorgang aus dem Freifunk Recovery Image, immer wieder im Recovery Image
<div style="max-height: 200px; overflow-y: auto; margin-top: 8px; padding: 5px; background: #fff; border: 1px solid #eaecf0;">
So sieht ein vollständiger Flashvorgang von Original Firmware: '''<span style="color: Orange">1.20.02 von 2025</span> ''' aus, wo der Router dennoch wieder ins Recovery Image "fällt" <br>
<syntaxhighlight lang=bash>
D-Link AQUILA PRO AI M60 A1 @ OpenWrt:~# cat /proc/cmdline
console=ttyS0,115200n1 loglevel=8 isolcpus=1
D-Link AQUILA PRO AI M60 A1 @ OpenWrt:~# cat /proc/mtd
dev:    size  erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00200000 00020000 "FIP"
mtd4: 03200000 00020000 "ubi"
mtd5: 03200000 00020000 "ubi1"
mtd6: 00040000 00020000 "Odm"
mtd7: 00080000 00020000 "Config1"
mtd8: 00080000 00020000 "Config2"
mtd9: 00a00000 00020000 "Storage"
D-Link AQUILA PRO AI M60 A1 @ OpenWrt:~# fw_printenv
baudrate=115200
boot_by_part=if itest.s ${mupgrade_en} == 1; then aup;fi;if itest.s
${bootpart} == 0; then run set_act1; run ub0; else run set_act2; run ub1; fi
boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv
sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv
sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi
boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run
boot_by_part; else run boot_by_tryactive; fi
bootargs=console=ttyS0,115200n1 loglevel=8 isolcpus=1
earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
bootdelay=2
bootmenu_0=Startup system (Default)=run boot_rd_auto_sw_img
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Http Upgrade=uip main; reset
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
bootpart=1
con=0
en_wdt=wdt on 30
ethact=ethernet@15100000
fdtcontroladdr=5ff3a000
fw_ver_a=V1.11B03
fw_ver_b=V1.20B02
i=7
ipaddr=192.168.200.1
loadaddr=0x46000000
mtdids=nmbm0=nmbm0
mtdparts=nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),51200k(ubi),51200k(ubi1),256k(Odm),512k(Config1),512k(Config2),5120k(Storage)
mupgrade_en=1
netmask=255.255.255.0
power_on_rst_recov=setexpr i 8;setexpr con 1;while itest ${con} -gt 0;
do  if gpio input 10; then  gpio toggle 44; else  setexpr con 0; fi;
sleep 1; if itest ${i} -eq 0; then  setexpr con 0; else  setexpr i ${i}
- 1; fi;done;if itest ${i} -gt 0; then  if itest ${i} -lt 4; then
setenv FW_RESET_FLAG 1; saveenv;  echo set FW_RESET_FLAG to 1;  gpio
toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep
0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle
44; fi;else  uip main;fi
serverip=192.168.200.2
set_act1=if itest.s ${sw_active} != 1; then setenv sw_active 1; saveenv; fi
set_act2=if itest.s ${sw_active} != 2; then setenv sw_active 2; saveenv; fi
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000
sw_active=2
sw_tryactive=2
ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset
ub0to1=setenv bootpart 1; mtkboardboot
ub1=setenv bootpart 1; mtkboardboot; run ub1to0; uip main; reset
ub1to0=setenv bootpart 0; mtkboardboot
</syntaxhighlight>
</div>
Der Grund ist, dass hier schon zwei Firmware Versionen drauf waren:
neben fw_ver_a=V1.11B03 die aktuelle fw_ver_b=V1.20B02
Außerdem geht der Router immer wieder auf das zweite Image...
sw_active=2
sw_tryactive=2
 
''' Lösung: '''
 
fw_printenv | grep -E "bootpart|sw_active"
fw_setenv bootpart 0
fw_setenv sw_active 1
fw_printenv | grep -E "bootpart|sw_active"
reboot
 
'''''<span style="color: Green">Wieder Gut:</span>''' Router landet jetzt im richtigen Image, danke an [[Benutzer:Weesenstein|Weesenstein]] für's testen.
<div style="max-height: 200px; overflow-y: auto; margin-top: 8px; padding: 5px; background: #fff; border: 1px solid #eaecf0;">
So sieht ein vollständiger Flashvorgang von Original Firmware: '''<span style="color: Green">1.20.02 von 2025</span> ''' aus, wenn es wieder funktioniert. <br>
<syntaxhighlight lang=bash>
Firmware version: 9.0.3
D-Link AQUILA PRO AI M60 A1 @ 51038:~# cat /proc/cmdline
console=ttyS0,115200n1 loglevel=8 isolcpus=1
earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
D-Link AQUILA PRO AI M60 A1 @ 51038:~# cat /proc/mtd
dev:    size  erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00200000 00020000 "FIP"
mtd4: 03200000 00020000 "ubi"
mtd5: 03200000 00020000 "ubi1"
mtd6: 00040000 00020000 "Odm"
mtd7: 00080000 00020000 "Config1"
mtd8: 00080000 00020000 "Config2"
mtd9: 00a00000 00020000 "Storage"
D-Link AQUILA PRO AI M60 A1 @ 51038:~# fw_printenv
baudrate=115200
boot_by_part=if itest.s ${mupgrade_en} == 1; then aup;fi;if itest.s
${bootpart} == 0; then run set_act1; run ub0; else run set_act2; run ub1; fi
boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv
sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv
sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi
boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run
boot_by_part; else run boot_by_tryactive; fi
bootargs=console=ttyS0,115200n1 loglevel=8 isolcpus=1
earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
bootdelay=2
bootmenu_0=Startup system (Default)=run boot_rd_auto_sw_img
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Http Upgrade=uip main; reset
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
con=0
en_wdt=wdt on 30
ethact=ethernet@15100000
fdtcontroladdr=5ff3a000
fw_ver_a=V1.11B03
fw_ver_b=V1.20B02
i=7
ipaddr=192.168.200.1
loadaddr=0x46000000
mtdids=nmbm0=nmbm0
mtdparts=nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),51200k(ubi),51200k(ubi1),256k(Odm),512k(Config1),512k(Config2),5120k(Storage)
mupgrade_en=1
netmask=255.255.255.0
power_on_rst_recov=setexpr i 8;setexpr con 1;while itest ${con} -gt 0;
do  if gpio input 10; then  gpio toggle 44; else  setexpr con 0; fi;
sleep 1; if itest ${i} -eq 0; then  setexpr con 0; else  setexpr i ${i}
- 1; fi;done;if itest ${i} -gt 0; then  if itest ${i} -lt 4; then
setenv FW_RESET_FLAG 1; saveenv;  echo set FW_RESET_FLAG to 1;  gpio
toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep
0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle
44; fi;else  uip main;fi
serverip=192.168.200.2
set_act1=if itest.s ${sw_active} != 1; then setenv sw_active 1; saveenv; fi
set_act2=if itest.s ${sw_active} != 2; then setenv sw_active 2; saveenv; fi
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000
sw_tryactive=2
ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset
ub0to1=setenv bootpart 1; mtkboardboot
ub1=setenv bootpart 1; mtkboardboot; run ub1to0; uip main; reset
ub1to0=setenv bootpart 0; mtkboardboot
bootpart=0
sw_active=1
</syntaxhighlight>
</div>
 
== Adler im Netz ==
{{#Widget:Hotspots-Filter|filter=Aquila}}
 
== Bilder ==
 
[[Datei:TestD-LinkAquilaM60.jpg|300px|thumb|center|D-LINK Frontansicht]]
 
== Links ==
 
https://support.dlink.com/productinfo.aspx?m=M60 <span style="color: red">VORSICHT</span>

Aktuelle Version vom 23. Mai 2026, 08:29 Uhr

D-Link AQUILA PRO AI M60 A1

Firmware aktuell im .nightly

Technische Daten

Geräte-Name Hersteller / Release Preis RAM in MB Flash ROM in MB Mhz/SoC
(CPU-Leistung)
MIMO 1x1:1 Version[EAN] (tested) Beschreibung Schwierigkeitsgrad
LAN-Adresse OriginalFW (Nutzername
Password)
Wirkleistung
D-Link AQUILA PRO AI M60
D-Link
202x
xxx€ UVP
80€ pro Paar (05/26) bei JACOB
512 128 2000/MediaTek MT7986A
ARM A53 64Bit QuadCore
(4Cores/4Threads)
4x4:4@2,4Ghz ax
4x4:4@5Ghz ax
Ab Firmware 9.0.3
A1 >=OpenWrt25.xx.xx
1 WAN (2,5Gbit), 4xLAN (1GBit),
, 2,4Ghz (AX) und 5Ghz (AX) WLAN, 8 interne Antennen
Ein/Aus Schalter
Knopf LED,WPS, Reset
584g
Einfach per Recovery GUI
192.168.200.1/24(LAN) Anleitung: Router einrichten Aquila M60
Originalnetzteil 12V/2,5A
FFDD-Idle:8,0W(WLAN)
8,1W(1xGBLAN)
8,7W(2,5GBWAN+GBLAN)

Freifunk aufspielen

Ausgangsbasis:

Original Firmware

Hardware: D-Link AQUILA PRO AI M60 (A1) Original Firmware: 1.11.03 von 2022 (funktioniert)
Image-Basis: OpenWrt 25.12.0 / Freifunk Dresden v9.0.3
Achtung*! !!! NEUERE FIRWARE wie 1.20.x von 2025 funktioniert auch, Lösung weiter unten!

Dateien

freifunk-dresden-v9.0.3-25.12.0-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-recovery.bin → Erstinstallation
freifunk-dresden-v9.0.3-25.12.0-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-sysupgrade.bin → finales Upgrade
freifunk-dresden-v9.0.4-25.12.3-mediatek-filogic-dlink_aquila-pro-ai-m60-a1-squashfs-sysupgrade.bin (im Test)	

downloaden

1. Recovery-Modus starten

Recovery Modus
Recovery Modus
1. Router ausschalten
2. Reset-Taste gedrückt halten
3. Router einschalten
   LED: rot -> dann hellrot blinkend
4. Reset-Taste loslassen

2. PC vorbereiten

Statische IP setzen:

IP: 192.168.200.10
Maske: 255.255.255.0
Gateway: 192.168.200.1

Recovery-Webinterface öffnen:

http://192.168.200.1

3. Recovery-Image flashen

Datei auswählen:

freifunk-dresden-...-squashfs-recovery.bin

Upload starten und warten:

LED blinkt
danach dauerhaft rot
anschließend weiß

Wichtig: Router nicht ausschalten (ca. 5–10 Minuten warten).

4. Erstes Boot

Recovery FF

Danach erreichbar unter (in meiner selbst kompilierten Version, evtl. Später anders):

http://192.168.1.1 (KEIN DHCP)  

5. Sysupgrade installieren

Über Webinterface

freifunk-dresden-...-squashfs-sysupgrade.bin

hochladen und Werkseinstellung ankreuzen

Nach dem Neustart:

LED wird blau
Freifunk Dresden ist aktiv

Konfiguration über:

Test

http://192.168.222.1 (KEIN DHCP) Login

Flash-Reihenfolge:

Original D-Link → recovery.bin → sysupgrade.bin → Freifunk Dresden


Probleme mit der Dual-Boot-Reihenfolge

GUT:

So sieht ein gelungener vollständiger Flashvorgang von Original Firmware: 1.11.03 von 2022 aus

Firmware version: 9.0.3
D-Link AQUILA PRO AI M60 A1 @ 51004:~# cat /proc/cmdline
console=ttyS0,115200n1 loglevel=8 isolcpus=1 earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
D-Link AQUILA PRO AI M60 A1 @ 51004:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00200000 00020000 "FIP"
mtd4: 03200000 00020000 "ubi"
mtd5: 03200000 00020000 "ubi1"
mtd6: 00040000 00020000 "Odm"
mtd7: 00080000 00020000 "Config1"
mtd8: 00080000 00020000 "Config2"
mtd9: 00a00000 00020000 "Storage"
D-Link AQUILA PRO AI M60 A1 @ 51004:~# fw_printenv
baudrate=115200
boot_by_part=if itest.s ${mupgrade_en} == 1; then aup;fi;if itest.s ${bootpart} == 0; then run set_act1; run ub0; else run set_act2; run ub1; fi
boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi
boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run boot_by_part; else run boot_by_tryactive; fi
bootargs=console=ttyS0,115200n1 loglevel=8 isolcpus=1 earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
bootdelay=2
bootmenu_0=Startup system (Default)=run boot_rd_auto_sw_img
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Http Upgrade=uip main; reset
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
bootpart=0
con=0
en_wdt=wdt on 30
ethact=ethernet@15100000
fdtcontroladdr=5ff3a000
fw_ver_a=V1.11B03
i=7
ipaddr=192.168.200.1
loadaddr=0x46000000
mtdids=nmbm0=nmbm0
mtdparts=nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),51200k(ubi),51200k(ubi1),256k(Odm),512k(Config1),512k(Config2),5120k(Storage)
mupgrade_en=1
netmask=255.255.255.0
power_on_rst_recov=setexpr i 8;setexpr con 1;while itest ${con} -gt 0; do  if gpio input 10; then   gpio toggle 44; else   setexpr con 0; fi; sleep 1; if itest ${i} -eq 0; then   setexpr con 0; else   setexpr i ${i} - 1; fi;done;if itest ${i} -gt 0; then  if itest ${i} -lt 4; then   setenv FW_RESET_FLAG 1; saveenv;  echo set FW_RESET_FLAG to 1;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44; fi;else  uip main;fi
serverip=192.168.200.2
set_act1=if itest.s ${sw_active} != 1; then setenv sw_active 1; saveenv; fi
set_act2=if itest.s ${sw_active} != 2; then setenv sw_active 2; saveenv; fi
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000
sw_active=1
sw_tryactive=2
ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset
ub0to1=setenv bootpart 1; mtkboardboot
ub1=setenv bootpart 1; mtkboardboot; run ub1to0; uip main; reset
ub1to0=setenv bootpart 0; mtkboardboot
D-Link AQUILA PRO AI M60 A1 @ 51004:~#

Weniger Gut: Router landet nach dem zweiten Flashvorgang aus dem Freifunk Recovery Image, immer wieder im Recovery Image

So sieht ein vollständiger Flashvorgang von Original Firmware: 1.20.02 von 2025 aus, wo der Router dennoch wieder ins Recovery Image "fällt"

D-Link AQUILA PRO AI M60 A1 @ OpenWrt:~# cat /proc/cmdline
console=ttyS0,115200n1 loglevel=8 isolcpus=1
D-Link AQUILA PRO AI M60 A1 @ OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00200000 00020000 "FIP"
mtd4: 03200000 00020000 "ubi"
mtd5: 03200000 00020000 "ubi1"
mtd6: 00040000 00020000 "Odm"
mtd7: 00080000 00020000 "Config1"
mtd8: 00080000 00020000 "Config2"
mtd9: 00a00000 00020000 "Storage"
D-Link AQUILA PRO AI M60 A1 @ OpenWrt:~# fw_printenv
baudrate=115200
boot_by_part=if itest.s ${mupgrade_en} == 1; then aup;fi;if itest.s
${bootpart} == 0; then run set_act1; run ub0; else run set_act2; run ub1; fi
boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv
sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv
sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi
boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run
boot_by_part; else run boot_by_tryactive; fi
bootargs=console=ttyS0,115200n1 loglevel=8 isolcpus=1
earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
bootdelay=2
bootmenu_0=Startup system (Default)=run boot_rd_auto_sw_img
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Http Upgrade=uip main; reset
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
bootpart=1
con=0
en_wdt=wdt on 30
ethact=ethernet@15100000
fdtcontroladdr=5ff3a000
fw_ver_a=V1.11B03
fw_ver_b=V1.20B02
i=7
ipaddr=192.168.200.1
loadaddr=0x46000000
mtdids=nmbm0=nmbm0
mtdparts=nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),51200k(ubi),51200k(ubi1),256k(Odm),512k(Config1),512k(Config2),5120k(Storage)
mupgrade_en=1
netmask=255.255.255.0
power_on_rst_recov=setexpr i 8;setexpr con 1;while itest ${con} -gt 0;
do  if gpio input 10; then   gpio toggle 44; else   setexpr con 0; fi;
sleep 1; if itest ${i} -eq 0; then   setexpr con 0; else  setexpr i ${i}
- 1; fi;done;if itest ${i} -gt 0; then  if itest ${i} -lt 4; then 
 setenv FW_RESET_FLAG 1; saveenv;  echo set FW_RESET_FLAG to 1;  gpio
toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep
0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle
44; fi;else  uip main;fi
serverip=192.168.200.2
set_act1=if itest.s ${sw_active} != 1; then setenv sw_active 1; saveenv; fi
set_act2=if itest.s ${sw_active} != 2; then setenv sw_active 2; saveenv; fi
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000
sw_active=2
sw_tryactive=2
ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset
ub0to1=setenv bootpart 1; mtkboardboot
ub1=setenv bootpart 1; mtkboardboot; run ub1to0; uip main; reset
ub1to0=setenv bootpart 0; mtkboardboot

Der Grund ist, dass hier schon zwei Firmware Versionen drauf waren:

neben fw_ver_a=V1.11B03 die aktuelle fw_ver_b=V1.20B02

Außerdem geht der Router immer wieder auf das zweite Image...

sw_active=2
sw_tryactive=2

Lösung:

fw_printenv | grep -E "bootpart|sw_active"
fw_setenv bootpart 0
fw_setenv sw_active 1
fw_printenv | grep -E "bootpart|sw_active"
reboot 

Wieder Gut: Router landet jetzt im richtigen Image, danke an Weesenstein für's testen.

So sieht ein vollständiger Flashvorgang von Original Firmware: 1.20.02 von 2025 aus, wenn es wieder funktioniert.

Firmware version: 9.0.3
D-Link AQUILA PRO AI M60 A1 @ 51038:~# cat /proc/cmdline
console=ttyS0,115200n1 loglevel=8 isolcpus=1
earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
D-Link AQUILA PRO AI M60 A1 @ 51038:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00200000 00020000 "FIP"
mtd4: 03200000 00020000 "ubi"
mtd5: 03200000 00020000 "ubi1"
mtd6: 00040000 00020000 "Odm"
mtd7: 00080000 00020000 "Config1"
mtd8: 00080000 00020000 "Config2"
mtd9: 00a00000 00020000 "Storage"
D-Link AQUILA PRO AI M60 A1 @ 51038:~# fw_printenv
baudrate=115200
boot_by_part=if itest.s ${mupgrade_en} == 1; then aup;fi;if itest.s
${bootpart} == 0; then run set_act1; run ub0; else run set_act2; run ub1; fi
boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv
sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv
sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi
boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run
boot_by_part; else run boot_by_tryactive; fi
bootargs=console=ttyS0,115200n1 loglevel=8 isolcpus=1
earlycon=uart8250,mmio32,0x11002000 bootpart=ubi0
bootdelay=2
bootmenu_0=Startup system (Default)=run boot_rd_auto_sw_img
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Http Upgrade=uip main; reset
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
con=0
en_wdt=wdt on 30
ethact=ethernet@15100000
fdtcontroladdr=5ff3a000
fw_ver_a=V1.11B03
fw_ver_b=V1.20B02
i=7
ipaddr=192.168.200.1
loadaddr=0x46000000
mtdids=nmbm0=nmbm0
mtdparts=nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),51200k(ubi),51200k(ubi1),256k(Odm),512k(Config1),512k(Config2),5120k(Storage)
mupgrade_en=1
netmask=255.255.255.0
power_on_rst_recov=setexpr i 8;setexpr con 1;while itest ${con} -gt 0;
do  if gpio input 10; then   gpio toggle 44; else   setexpr con 0; fi;
sleep 1; if itest ${i} -eq 0; then   setexpr con 0; else  setexpr i ${i}
- 1; fi;done;if itest ${i} -gt 0; then  if itest ${i} -lt 4; then 
 setenv FW_RESET_FLAG 1; saveenv;  echo set FW_RESET_FLAG to 1;  gpio
toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep
0.2;  gpio toggle 44;sleep 0.2;  gpio toggle 44;sleep 0.2;  gpio toggle
44; fi;else  uip main;fi
serverip=192.168.200.2
set_act1=if itest.s ${sw_active} != 1; then setenv sw_active 1; saveenv; fi
set_act2=if itest.s ${sw_active} != 2; then setenv sw_active 2; saveenv; fi
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000
sw_tryactive=2
ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset
ub0to1=setenv bootpart 1; mtkboardboot
ub1=setenv bootpart 1; mtkboardboot; run ub1to0; uip main; reset
ub1to0=setenv bootpart 0; mtkboardboot
bootpart=0
sw_active=1

Adler im Netz

Spalten anzeigen: IP-Adresse, Uptime, Erstmalig registriert, Registriert, SSID, Gateway, Model
Node Stat Meshing IP Ok
GW
Tage
Uptime Erstmalig
registriert
Registriert Name Map Firmware AU SSID Gateway
aktuell/bevorzugt.
Model Ort Kommentar

Bilder

D-LINK Frontansicht
https://support.dlink.com/productinfo.aspx?m=M60 VORSICHT