Router einrichten D-LinkAquilaM60

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

D-Link AQUILA PRO AI M60 A1 auf Freifunk Dresden flashen

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
VORSICHT*! !!! NEUERE FIRWARE wie 1.20.x von 2025 funktioniert aktuell im Recovery Modus nicht!!!

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


Problem mit der Flash-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:~#

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

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

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 

Links

https://support.dlink.com/productinfo.aspx?m=M60 VORSICHT