Wiredest thing happend to me!

i had zlt s12 pro router, and i installed openwrt on it using UART method.
everything was fine. in UART uboot menue i was able to select the boot method and do my thing.

and one of my friend had the exact same router and he asked me to install openwrt on his router as well, and i did using the smae UART method. worked fine, and i also took a backup of the original firmware that router had.

and i installed that backedup firmware(from my firnd) on my router (it was running openwrt at that time) and all went okay original firmware was installed, but oh boy now, when i try to access uboot menu via UART i can access it, but the problem is i cant select the mood method.
when i press 1, its always booting to the default method. i dont know what happened, that original firmware from my friend router, and i installed openwrt on that router without any issue, in the past few day i tried many thing to reverse engineer the firmware to find a pothhole but still no progress. i have the original firmware file binwalked all the file i have, but the main issue is why i cant change uboot menu option while i did it on my friend router, i installed his backedup original firmware...

i am lostt... can someone help to resolve this issue...
i would be much appreciated... :slight_smile:
Ashen

EDIT

UART log when powering on (not restarting via webinterface)


U-Boot 1.1.3 (Jan 27 2022 - 01:21:28)

Board: Ralink APSoC DRAM:  256 MB
gpio_init: gpio = 6, dir = 0, val = -1
mtk_set_gpio_dir gpio = 00000006, dir = 00000000
ra_and_print addr = be000600, val = ffffffbf
ra_and_print before = 00000000
ra_and_print after = 00000000
gpio_init: gpio = 7, dir = 0, val = -1
mtk_set_gpio_dir gpio = 00000007, dir = 00000000
ra_and_print addr = be000600, val = ffffff7f
ra_and_print before = 00000000
ra_and_print after = 00000000
gpio_init: gpio = 13, dir = 0, val = -1
mtk_set_gpio_dir gpio = 0000000d, dir = 00000000
ra_and_print addr = be000600, val = ffffdfff
ra_and_print before = 00000000
ra_and_print after = 00000000
gpio_init: gpio = 18, dir = 0, val = -1
mtk_set_gpio_dir gpio = 00000012, dir = 00000000
ra_and_print addr = be000600, val = fffbffff
ra_and_print before = 00000000
ra_and_print after = 00000000
gpio_init: gpio = 16, dir = 1, val = 0
mtk_set_gpio_dir gpio = 00000010, dir = 00000001
ra_or_print addr = be000600, val = 00010000
ra_or_print before = 00000000
ra_or_print after = 00010000
gpio_init: gpio = 27, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001b, dir = 00000001
ra_or_print addr = be000600, val = 08000000
ra_or_print before = 00010000
ra_or_print after = 08010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 0004d5ac
mtk_set_gpio_dir after = 0004d5ac
gpio_init: gpio = 28, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001c, dir = 00000001
ra_or_print addr = be000600, val = 10000000
ra_or_print before = 08010000
ra_or_print after = 18010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 0004d5ac
mtk_set_gpio_dir after = 0004d5ac
gpio_init: gpio = 29, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001d, dir = 00000001
ra_or_print addr = be000600, val = 20000000
ra_or_print before = 18010000
ra_or_print after = 38010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 0004d5ac
mtk_set_gpio_dir after = 0004d5ac
gpio_init: gpio = 31, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001f, dir = 00000001
ra_or_print addr = be000600, val = 80000000
ra_or_print before = 38010000
ra_or_print after = b8010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 0004d5ac
mtk_set_gpio_dir after = 0004d5ac
gpio_init: gpio = 33, dir = 1, val = 1
mtk_set_gpio_dir gpio = 00000021, dir = 00000001
ra_or_print addr = be000604, val = 00000002
ra_or_print before = 00000000
ra_or_print after = 00000002
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 0004d5ac
mtk_set_gpio_dir after = 0004d5ac
relocate_code Pointer at: 8ffac000

Config XHCI 40M PLL 
chip_prob raspi_read_devid: c2 20 18 ff ff
jedec=2018ffff
flash manufacture id: c2, device id 20 18
find flash: MX25L12805D
============================================ 
Ralink UBoot Version: 4.3.0.0
TZ Version: 2021-07-13
-------------------------------------------- 
ASIC MT7621A DualCore (MAC to MT7530 Mode)
DRAM_CONF_FROM: Auto-Detection 
DRAM_TYPE: DDR3 
DRAM bus: 16 bit
Xtal Mode=3 OCP Ratio=1/4
Flash component: SPI Flash
Date:Jan 27 2022  Time:01:21:28
============================================ 
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:256, ways:4, linesz:32 ,total:32768 

 ##### The CPU freq = 880 MHZ #### 
 estimate memory size =256 Mbytes
#Reset_MT7530
set LAN/WAN WLLLL
gpio_init: gpio = 6, dir = 0, val = -1
mtk_set_gpio_dir gpio = 00000006, dir = 00000000
ra_and_print addr = be000600, val = ffffffbf
ra_and_print before = b8010000
ra_and_print after = b8010000
gpio_init: gpio = 7, dir = 0, val = -1
mtk_set_gpio_dir gpio = 00000007, dir = 00000000
ra_and_print addr = be000600, val = ffffff7f
ra_and_print before = b8010000
ra_and_print after = b8010000
gpio_init: gpio = 13, dir = 0, val = -1
mtk_set_gpio_dir gpio = 0000000d, dir = 00000000
ra_and_print addr = be000600, val = ffffdfff
ra_and_print before = b8010000
ra_and_print after = b8010000
gpio_init: gpio = 18, dir = 0, val = -1
mtk_set_gpio_dir gpio = 00000012, dir = 00000000
ra_and_print addr = be000600, val = fffbffff
ra_and_print before = b8010000
ra_and_print after = b8010000
gpio_init: gpio = 16, dir = 1, val = 0
mtk_set_gpio_dir gpio = 00000010, dir = 00000001
ra_or_print addr = be000600, val = 00010000
ra_or_print before = b8010000
ra_or_print after = b8010000
gpio_init: gpio = 27, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001b, dir = 00000001
ra_or_print addr = be000600, val = 08000000
ra_or_print before = b8010000
ra_or_print after = b8010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 000485ac
mtk_set_gpio_dir after = 000485ac
gpio_init: gpio = 28, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001c, dir = 00000001
ra_or_print addr = be000600, val = 10000000
ra_or_print before = b8010000
ra_or_print after = b8010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 000485ac
mtk_set_gpio_dir after = 000485ac
gpio_init: gpio = 29, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001d, dir = 00000001
ra_or_print addr = be000600, val = 20000000
ra_or_print before = b8010000
ra_or_print after = b8010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 000485ac
mtk_set_gpio_dir after = 000485ac
gpio_init: gpio = 31, dir = 1, val = 1
mtk_set_gpio_dir gpio = 0000001f, dir = 00000001
ra_or_print addr = be000600, val = 80000000
ra_or_print before = b8010000
ra_or_print after = b8010000
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 000485ac
mtk_set_gpio_dir after = 000485ac
gpio_init: gpio = 33, dir = 1, val = 1
mtk_set_gpio_dir gpio = 00000021, dir = 00000001
ra_or_print addr = be000604, val = 00000002
ra_or_print before = 00000002
ra_or_print after = 00000002
mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 000485ac
mtk_set_gpio_dir after = 000485ac
please select your keyboad 
reset button = 1
before OperationSelect


Please choose the operation fengyz: 
   1: Load system code to SDRAM via TFTP. 
   2: Load system code then write to Flash via TFTP. 
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial. 
   9: Load Boot Loader code then write to Flash via TFTP. 
 0 
   
3: System Boot system code via Flash.
## Booting image at bc050000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.148
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2191211 Bytes =  2.1 MB
   Load Address: 80001000
   Entry Point:  80001000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80001000) ...
## Giving linux memsize in MB, 256

Starting kernel ...

[    0.000000] Linux version 4.14.148 (ruanwenzhao@server) (gcc version 8.3.0 (OpenWrt GCC 8.3.0 r15024+2-1395092c3b)) #0 SMP Fri Mar 17 03:18:49 2023

Get some logs from your interaction with serial console?

1 Like

sure i will post here, :slight_smile:

full log was up in the first post.

mtk_set_gpio_dir addr = be000060, shift = 0000000f
mtk_set_gpio_dir before = 000485ac
mtk_set_gpio_dir after = 000485ac
please select your keyboad 
reset button = 1
before OperationSelect


Please choose the operation fengyz: 
   1: Load system code to SDRAM via TFTP. 
   2: Load syst!m code then write to Flash via TFTP. 
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial. 
   9: Load Boot Loader code then write to Flash via TFTP. 

You choosed 3

 0 
   
3: System Boot system code via Flash.
## Booting image at bc00000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.148
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2191211 Bytes =  2.1 MB
   Load Address: 80001000
   Entry Point:  80001000
1111111111111111111111111111   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80001000) ...
## Giving linux memsize in MB, 256

Starting kernel ...

even i kee pressing 1, its still choosing the default option.
i dont think that uboot time problem because, that other router had the same firmware i was able to choose correct option from the menu, (i installed the backed up firmware from that router, so its the same firmware...) :frowning:

1 Like

Possibly bad connection of the serial interface which prevents the device from receiving your input?

2 Likes

for that i used the same connection as before (i soldered some wires previously to install openwrt) and now i am using the same wires, i even used another FTDI, but still same... :frowning:

Double-check anyway. Bad connection is the most likely explanation IMO and if you skip this double-check, you may end up wasting a lot of time looking for another cause, for nothing.

1 Like

yes you are right...
i will check and update here.
i will shorten the wires and check connection and try again.
(previously it worked tho, but its not hurting to JUST make sure, so i will do it) :slight_smile:

2 Likes

Also inspect the board at and around the soldering joints. It is not out of the question that something is not right there.

1 Like

Just an advice - edits dont send notifications, do not edit more than a simple typos.

2 Likes

Also check the settings for your terminal program. Some of them (like PuTTY) use an option called something similar to "Local editing". The end result is that it won't send individual keystrokes to the connected device, but only complete lines and only after pressing Enter / Return. The log you provided looks like U-Boot "timed out" and went with the default boot option because it didn't receive anything to tell it to do otherwise.

2 Likes

thank you for everyone who replied to my post and taking time to read it,
i was able to fix it alhamdulillah...
the problem was in my cable, i didnt have a multi-meter to check but when i make it bit shorter from the solder point, it worked :face_holding_back_tears:

thank you @antonk for suggesting me to check the connection, i didnt check connection coz i my key strokes sent (i can see it from the terminal), and i revived the output fine, so i didnt check the connection, i thought it was fine...

thank you everyone...
Ashen

2 Likes