Här kommer en instruktion om hur man flashar routern via seriell kabel, det kommer baseras på en dator med Linux (Ubuntu) som Operativsystem men det går givetvis att göra med Windows också - någon annan får gärna fylla på med vilka programvaror som fungerar bäst till Windows idag för ändamålet eftersom det var ett tag sedan jag använde det själv.
Först och främst så används inte den seriella kopplingen för att föra över några filer, den fungerar som ett informations-fönster från routern där du kan skriva kommandon. Du skickar instruktioner till routern via serie-kopplingen att hämta filer från en server - i det här fallet en tillfälligt uppsatt server på din dator.
Eftersom det är åtminstone några stycken medlemmar här som nyligen införskaffat Acer Vero W6m så utgår jag från den, men tillvägagångssättet går att applicera på andra routers.
Man öppnar upp routern genom att ta bort "gummiplupparna" (fötterna) i botten och där under finns fyra skruvar - när de är borta får du bända lite för att få bort topp-locket, det sitter alltså fast med plasthakar, men var ändå lite försiktig när du öppnar - det sitter en kabel som går upp till led-lampan i locket som du måste skruva loss innan du kan ta bort locket helt.
<Uppladdad bildlänk>
För att ta bort hela moderkortet från lådan måste du först ta av kylaren eftersom det sitter skruvar under den - annars är det bara att leta upp alla skruvar - det sitter bland annat en vid varje antenn som är hörnbitarna på bilden ovan.
<Uppladdad bildlänk>
De tre punkterna sitter under antennkablar på en av sidorna på moderkortet
För att ansluta den seriella kopplingen måste man ta reda på hur kablarna ska sitta eftersom det inte är utmärkt på moderkortet i detta fall.
Det går att testat sig fram men är det fler punkter än 3 ska man vara försiktig eftersom man inte ska ansluta VCC (syns på bilden från BT8 ovan) GND är alltid först och sedan TXD eller RXD, men eftersom man inte vet från vilket håll det börjar blir det några kombinationer att testa.
<Uppladdad bildlänk>
På denna bild ser du hur Acer Vero W6m (och Predator) ska kopplas - svart kabel är GND, vit kabel RXD och grå kabel TXD - får du ingen kontakt kan du alltid testa att byta plats på TX och RX.
Vissa adaptrar har även led lampor i olika färger som indikerar kontakt.
Anslut till respektive TXD, RXD och GND kontakt på USB-adaptern (anslut inte till 5V eller 3V på den)
Får du bara konstiga tecken som output från kopplingen har du antingen bristfällig kontakt eller fel hastighet inställd i programmet.
Är allting rätt ska du istället få massvis med text i samma sekund som du slår på strömmen till routern.
Kabeln ansluts med usb till en dator och sedan kör man ett program från terminalen, det finns flera olika men jag använder picocom på Ubuntu.
och man startar med:
sudo picocom -b 115200 /dev/ttyUSB0
115200 är hastigheten (andra prylar kan ha andra hastigheter - Nanopi har exempelvis 150000) och /dev/ttyUSB0 sökvägen till usb-adaptern - ändra om du fått en annan adress.
picocom v3.1
port is : /dev/ttyUSB0
flowcontrol : none
baudrate is : 115200
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : no
Terminal ready
Nu står programmet och väntar - starta routern så ska massvis med information dyka upp.
> F0: 102B 0000
> FA: 1040 0000
> FA: 1040 0000 [0200]
> F9: 103F 0000
> F3: 1006 0033 [0200]
> F3: 4001 00E0 [0200]
> F3: 0000 0000
> V0: 0000 0000 [0001]
> 00: 0000 0000
> BP: 2400 0041 [0000]
> G0: 1190 0000
> EC: 0000 0000 [2000]
> T0: 0000 028B [010F]
> Jump to BL
>
> NOTICE: BL2: v2.6(release):fe7b13a4d-dirty
> NOTICE: BL2: Built : 19:10:23, Jun 6 2023
> NOTICE: WDT: disabled
> NOTICE: CPU: MT7986 (2000MHz)
> NOTICE: EMI: Using DDR4 settings
> NOTICE: EMI: Detected DRAM size: 1024MB
> NOTICE: EMI: complex R/W mem test passed
> NOTICE: Verifying BL Anti-Rollback Version ... bl_ar_ver:0=0+ OK
> NOTICE: Verifying BL Anti-Rollback Version ... bl_ar_ver:0=0+ OK
> NOTICE: Verifying BL Anti-Rollback Version ... bl_ar_ver:0=0+ OK
> NOTICE: Verifying BL Anti-Rollback Version ... bl_ar_ver:0=0+ OK
> NOTICE: Verifying BL Anti-Rollback Version ... bl_ar_ver:0=0+ OK
> NOTICE: BL2: Booting BL31
> NOTICE: BL31: v2.6(release):fe7b13a4d-dirty
> NOTICE: BL31: Built : 19:10:32, Jun 6 2023
>
>
> U-Boot 2022.07-rc3 (Jun 06 2023 - 19:08:30 +0800), Build: jenkins-YX6_factory-15
>
> CPU: MediaTek MT7986
> Model: mt7986-rfb
> DRAM: 1 GiB
> Core: 68 devices, 19 uclasses, devicetree: separate
> MMC: mmc@11230000: 0
> Setting bus to 0
> Loading Environment from MMC... OK
> In: serial@11002000
> Out: serial@11002000
> Err: serial@11002000
> Net:
> Warning: ethernet@15100000 (eth0) using random MAC address - 46:5b:eb:e9:e1:98
> eth0: ethernet@15100000
> mtkautoboot gpio_reset:1
>
>
> *** U-Boot Boot Menu ***
>
> 1. Startup system (Default)
> 2. Upgrade firmware
> 3. Upgrade ATF BL2
> 4. Upgrade ATF FIP
> 5. Upgrade eMMC partition table
> 6. Upgrade single image
> 7. Load image
> 0. U-Boot console
>
>
> Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
Gör du ingenting så rullar informationen på under start av routern, men om du istället trycker "0" (upprepat) direkt vid uppstart så pausar routern och du får åtkomst till "U-Boot console" där du kan skriva kommandon.
Men innan du gör någonting här ska du sätta upp en TFTP server på din dator - det är dit routern ska ansluta för att hämta filer.
Så här sätter jag upp det på min Ubuntu dator:
sudo apt install tftpd-hpa tftp-hpa
Är lite osäker på om det automatiskt skapas en configfil eller om du måste göra det själv - du kan i vilket fall skriva:
sudo nano /etc/default/tftpd-hpa
(jag använder nano för textredigering, byt ut till 'vi' om du föredrar det)
Är det tomt kan du klistra in detta:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
TFTP_OPTIONS="-l -c -s"
eller ändra om du exempelvis föredrar en annan mapp.
Mappen /var/lib/tftpboot är alltså platsen routern hämtar filer från och det är dit du måste kopiera filerna som behövs.
För att routern ska ha åtkomst till mappen och filerna behövs även korrekta rättigheter:
sudo chown -R tftp /var/lib/tftpboot
När routern ska hämta filen behöver den vara direktansluten till din dator med en nätverkskabel, ställ även in datorn på en fast ip-adress som exempelvis 192.168.1.25 (eller ta reda på vilken ip-adress din dator har så länge den är i området 192.168.1.xxx)
Har du även en trådlös uppkoppling på datorn kan det vara läge att stänga av den när du ska göra överföringen, annars kan det bli förvirring över vilken koppling som ska användas (jag använder exempelvis en laptop med en usb-ethernet adapter, jag stänger ned wifi och ställer ethernet-porten till en fast ip-adress)
Routern ska vara ansluten på lan-port 1 - det är alltså den andra porten från vänster på bilden ovan (eftersom den första är wan)
Filerna som behövs för Acer Vero W6m kan du hämta hem via OpenWRT firmware selector:
https://firmware-selector.openwrt.org/
Du söker upp Acer Connect Vero W6m och hämtar hem både filen där det står "Kernel" och där det står "Sysupgrade"
Just nu finns denna Acer modell inte under version 23.05.5 av OpenWRT, men det är mycket möjligt att version 24.10 har kommit när du läser detta annars går det lika bra med filerna som finns under version 24.10 RC5 idag.
Håll reda på vilken som är vilken och döp om dem till kortare filnamn, förslagsvis:
mv openwrt-24.10.0-rc5-mediatek-filogic-acer_vero-w6m-initramfs-kernel.bin vero.bin
mv openwrt-24.10.0-rc5-mediatek-filogic-acer_vero-w6m-squashfs-sysupgrade.bin sysupgrade.bin
kopiera vero.bin till tftp mappen:
sudo cp /home/pulver/vero.bin /var/lib/tftpboot
(pulver här är alltså namnet på min home mapp och så förutsätts att det är där din fil är)
Min erfarenhet är att det blir problem om det inte är helt öppna rättigheter på filen - sätt dem med kommandot:
sudo chmod 777 /var/lib/tftpboot/vero.bin
Och till sist - starta om TFTP-servern:
sudo service tftpd-hpa restart
Nu har vi nått det läge där du kan starta picocom på datorn, slå på routern och trycka "0" upprepade gånger på tangentbordet tills du nått "U-Boot console"
Då ska det endast stå:
Då skriver du in (eller snarare klipp och klistrar) kommandot:
setenv bootcmd 'mmc read 0x40000000 0x00004400 0x0010000; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 0x40000000'
(notera här att kommandot är långt och kan fortsätta längre bort i kodrutan)
Nu följer tre kommandon som är specifika för Acer:s routers:
setenv dual_boot.slot_0_invalid 1
setenv dual_boot.slot_1_invalid 1
setenv bootmenu_default 7
Om dessa kommandon inte skrivs in kommer routern starta Acers programvara igen vid nästa reboot.
Bootmenu default 7 gäller för Acer Vero W6m, för Acer Predator W6 är det istället:
setenv bootmenu_default 9
och sedan:
Ställ in vilken ip-adress routern ska hämta filen från (routern själv har alltså adress 192.168.1.1):
setenv serverip 192.168.1.25; setenv ipaddr 192.168.1.1
Och skicka kommandot som hämtar filen:
tftpboot 0x46000000 vero.bin; fdt addr $(fdtcontroladdr)
Då ska något liknande detta hända:
MT7986> tftpboot 0x46000000 vero.bin; fdt addr $(fdtcontroladdr);
switch prereq:0
Using ethernet@15100000 device
TFTP from server 192.168.1.25; our IP address is 192.168.1.1
Filename 'vero.bin'.
Load address: 0x46000000
Loading: Got ARP REPLY, set eth addr (00:e0:4c:68:00:e1)
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######################
15.8 MiB/s
done
Bytes transferred = 11769920 (b39840 hex)
Working FDT set to 7f7fd2f0
Fungerar det inte är det flera olika orsaker det kan bero på: är tftpd servern igång ? har filen korrekta rättigheter ? har tftp mappen korrekta rättigheter ? letar routern i rätt mapp ? är routern ansluten på rätt port ? är det rätt ipadress ? är korrekt anslutning igång på datorn (stäng av wifi) ? mm
Men om det fungerar så startar du vero.bin filen med:
Då rullar en mängd information fram och det är alltså en recovery-image av OpenWRT som laddas in i ramminnet på routern.
Låt den gå ett tag och när den verkar startat upp så trycker du på "Enter" så kommer OpenWRT loggan fram och du kan skriva kommandon.
BusyBox v1.36.1 (2024-12-23 00:55:35 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 24.10.0-rc4, r28211-d55754ce0d
-----------------------------------------------------
=== 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.
--------------------------------------------------
Än så länge har du inte gjort något som påverkar routern, men nu är du i miljön som har möjlighet att skriva över original programvaran.
Det du ska göra nu är att föra över den andra filen - sysupgrade.bin - från datorn till routern
Man borde kunna göra det med TFTP, men det rekommenderade sättet är att skicka den med scp från din dator (scp ingår i ssh)
På datorn som fortfarande är ansluten som tidigare skriver du:
scp /home/pulver/sysupgrade.bin root@192.168.1.1:
Nu finns filen direkt under / på routern (du kan skriva 'ls' som kommando i routern för att se att den är där)
Till slut genomför du själva "flashningen" av routern med att (i routern) skriva kommandot:
sysupgrade -n sysupgrade.bin
Installationen går ganska snabbt och i fortsättningen kommer din router starta upp OpenWRT istället för Acers programvara - det är inga problem att uppdatera routern till nya versioner av OpenWRT via webgränssnittet och den seriella kopplingen behöver du förhoppningsvis aldrig använda mer på denna router.