1

Temat: Nanostation M5 uboot urescue zmiana na eth1

Witam,
Posiadam Nanostation M5 z uszkodzonym portem eth0 (MAIN) - dziala zasilanie przez PoE, lecz interface nawet nie linkuje. Eth1 dziala bez problemu.
Po wgraniu openwrt (downgrade do unsigned -> wgranie przez webUI openwrt).
Niestety cos poszlo nie tak i aktualnie u-boot zatrzumuje sie na /bad magic number/.
Po podlaczeniu przez uart i wykonaniu polecenia ‚urescue’ uruchamia sie polaczenie tftp ale na domyslnym porcie ETH0.
Proba zmiany przez ‚setenv ethact eth1’  i ‚saveenv’ nie zmienia portu eth0 na eth1 przy komendzie ‚urescue’.
Czy jest mozliwosc zmiany eth0 na eth1 w jakis sposob?
Jest mozliwosc ‚podgladniecia’ makra urescue tak aby z reki wykonac je zmieniajac interfejsy?
Mozna za pomoca u-boot’a wgrac oprogramowanie przez UART?

Z gory dziekuje za pomoc.

2

Odp: Nanostation M5 uboot urescue zmiana na eth1

Tak, da się, możesz spróbować załadować przez protokół Xmodem lub Zmodem jeżeli U-boot to ogarnia (komenda loady/loadz), jeżeli ma komendę "mw" można próbować tym skryptem: https://github.com/HorstBaerbel/ubootwrite. Przy okazji zabaw z MR33 ktoś sportował to na Pythona 3.

3

Odp: Nanostation M5 uboot urescue zmiana na eth1

Nie ma obsługi lady/loadz.
Skrypt w pythonie wygląda na ciekawy, mv jest obsługiwane, ale szczerze nie czuje się w tym momencie na siłach aby to ogarnąć (terminal linux).
Szukam nadal rozwiązanie nad zmianą w urescue z eth0 na eth1.

---
ar7240> help
?       - alias for 'help'
base    - print or set address offset
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
echo    - echo args to console
erase   - erase FLASH memory
flinfo  - print FLASH memory information
go      - start application at address 'addr'
help    - print online help
iminfo  - print header information for application image
imls    - list all images found in flash
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing)
mtdparts- define flash/nand partitions
mtest   - simple RAM test
mw      - memory write (fill)
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
urescue - start TFTP server and wait for firmware
version - print monitor version
autoscr - run script from memory
ar7240> printenv
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
filesize=690000
fileaddr=80010000
bootdelay=4
baudrate=115200
mtdids=nor0=ar7240-nor0
partition=nor0,0
mtddevnum=0
mtddevname=u-boot
mtdparts=mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),1024k(kernel),6528k(rootfs),256k(cfg),64k(EEPROM)
bootcmd=bootm 0x9f050000
bootargs=console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/init
ethact=eth0
serverip=192.168.1.254
ipaddr=192.168.1.20
product=N5N
stdin=serial
stdout=serial
stderr=serial
ubntaddr=80200020
appinitdone=true

Environment size: 520/65532 bytes

---

4

Odp: Nanostation M5 uboot urescue zmiana na eth1

a jak przestawisz ethact na eth1, a następnie odpalisz urescue, albo tftpboot?

setenv ethact eth1

5

Odp: Nanostation M5 uboot urescue zmiana na eth1

Próbowalem tego na początku - niestety nie działa.

6

Odp: Nanostation M5 uboot urescue zmiana na eth1

Ah, fakt. Dobra, to najłatwiej chyba będzie odpalić initramfs i z niego zainstalować system raz jeszcze przez sysupgrade

setenv ethact eth1
setenv serverip 192.168.1.20 #zmień na pasujący do swojej sieci
setenv serverip 192.168.1.1 #zmień na pasujący do swojej sieci
tftpboot 80600000 openwrt-22.03.6-ath79-tiny-ubnt_nanostation-m-initramfs-kernel.bin
bootm 80600000

w 23.05 nie ma już budowanych obrazów dla płytek XM, przez mały rozmiar RAMu. Po princie z u-boota zgaduję, że to XM - ale jeżeli jednak XW, to wybierz obrazy do XW.

7

Odp: Nanostation M5 uboot urescue zmiana na eth1

Mimo zmiany na eth1 interfejsem głównym ciągle jest eth0:

Environment size: 520/65532 bytes
ar7240> setenv ethact eth1
ar7240> setenv serverip 192.168.1.20
ar7240> tftpboot 80600000 openwrt.bin
Using eth0 device
TFTP from server 192.168.1.20; our IP address is 192.168.1.20
Filename 'openwrt.bin'.
Load address: 0x80600000

8

Odp: Nanostation M5 uboot urescue zmiana na eth1

Niestety pomysł z użyciem https://github.com/HorstBaerbel/ubootwrite też się nie udał.
Po doprowadzeniu skryptu to stanu wykonywania oczekuje na /prompt/.
tak samo idąc do źródła https://github.com/rvalles/brntool i wykonując --read nie otrzymuje żadnego odczytu.

9

Odp: Nanostation M5 uboot urescue zmiana na eth1

To python, możesz sobie skrypt zmienić dowolnie żeby oczekiwał ar7240>

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Nanostation M5 uboot urescue zmiana na eth1

Temat rozwiązany.
Wylutowałem pamięć 25l644 (w układzie nie odczytywała się), przy pomocy HxD wgrałem do odczytanego obrazu u-boot, kernel i rootfs z softu oryginalnego MX5.5.6 i wgrałem ponownie - sprzęt uruchomiony.

U-Boot 1.1.4.2-s594 (Dec 5 2012 - 15:23:07)
#:    name            size                    offset            mask_flags    size
0:    u-boot            0x00040000    0x00000000    0                  256k
1:    u-boot-env    0x00010000    0x00040000    0                    64k
2:    kernel            0x00100000    0x00050000    0                    1024k
3:    rootfs            0x00660000    0x00150000    0                    6528k
4:    cfg                    0x00040000    0x007b0000    0                   256k
5:    EEPROM            0x00010000    0x007f0000    0                    64k

Dziękuję wszystkim za pomoc.