No output on serial terminal with asus ac58u and ch341-uart usb serial dongle

Hello,
Looks like i have bricked my asus ac58u router, during the installation of the openwrt f/w. I dont get any ip assigned on wired connection to PC.

Ordered this usb serial device.
I have soldered the header pins as mentioned on the ac58u wiki
command:
sudo picocom -b 115200 /dev/ttyUSB0

But i dont get any output on the prompt when the router is powered on.

There are two behaviours for the usb dongle:

  1. dongle connected only to the router pins.(where the 2 LEDs are less bright, and the third middle one blinks as the router does its bootup)
  2. dongle connected to the PC (where the 2 LEDs are brighter,and the middle led does not light up, or maybe it is and cant be seen due to higher brightness of the other two )

Any suggestions for making this work?
Thanks.

your getting preinit blinking... so it is definitely not 'bricked'

1 Like

looks like you have connected RX to RX and TX to TX? You have to cross them

baud rate's wrong too, but if it was the only error, you'd have gotten garbage back.

yes, i have connected RX to RX and TX to TX.
ill reverse connect and retry. Thanks!

from the same link:
Serial connection parameters
for Asus RT-AC58U 115200, 8N1

whats wrong in my baud rate in the command?
sudo picocom -b 115200 /dev/ttyUSB0

Nothing, but it's not what the YT clip shows ....

ah.. yes.. i was trying a few different things picking some information from other forum posts about picocom so that it auto detects the baud rate, and the video captured that..
anyways.. i guess @bmork suggestion could work.
The wiki doesent say anything about the cross connection.
Ill try and report back asap.
Thanks for the responses!

good to know this!

Well, it doesn't say anything about inserting the power plug into a socker either, but you did it anyway :wink:

Some things are (unfortunately) just assumed you'd know.
Tx = transmit, Rx = receive.

Connecting T to T, and R to R, won't work ... common sense, if you're used to serial communication,
or perhaps any kind of communication, where there's a R and T side.

:smiley: i cant agree more!
Though i have worked with serial connections, but never setup one soldering pins by hand.
Thats new.

@bmork Reversing the connections worked!

I face a different issue now.
It appears like the router is not accepting my input.
When the menu appears, i try to enter 1 + return , but it does not fall into tftp mode.
It continues to default boot.

I tried to hit 1 + return multiple times even a little before the menu appears, but the router is not switching to tftp mode.

The router is wired to my PC with the Ethernet assigned 192.168.1.10 ip and 255.255.255.0 subnet.

Here is the output of bootup:

[00]
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.1.1-00096
S - IMAGE_VARIANT_STRING=DAABANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x00000020
S - Core 0 Frequency, 0 MHz
B -       261 - PBL, Start
B -      1338 - bootable_media_detect_entry, Start
B -      1678 - bootable_media_detect_success, Start
B -      1692 - elf_loader_entry, Start
B -      5068 - auth_hash_seg_entry, Start
B -      7210 - auth_hash_seg_exit, Start
B -    572127 - elf_segs_hash_verify_entry, Start
B -    687050 - PBL, End
B -    687075 - SBL1, Start
B -    775415 - pm_device_init, Start
D -         6 - pm_device_init, Delta
B -    776925 - boot_flash_init, Start
D -     54265 - boot_flash_init, Delta
B -    835377 - boot_config_data_table_init, Start
D -      3844 - boot_config_data_table_init, Delta - (419 Bytes)
B -    842598 - clock_init, Start
D -      7554 - clock_init, Delta
B -    854674 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:1,Subtype:0
B -    858163 - sbl1_ddr_set_params, Start
B -    863150 - cpr_init, Start
D -         2 - cpr_init, Delta
B -    867642 - Pre_DDR_clock_init, Start
D -         4 - Pre_DDR_clock_init, Delta
D -     13148 - sbl1_ddr_set_params, Delta
B -    881344 - pm_driver_init, Start
D -         2 - pm_driver_init, Delta
B -    951898 - sbl1_wait_for_ddr_training, Start
D -        29 - sbl1_wait_for_ddr_training, Delta
B -    967126 - Image Load, Start
D -    135004 - QSEE Image Loaded, Delta - (262104 Bytes)
B -   1102626 - Image Load, Start
D -      1444 - SEC Image Loaded, Delta - (2048 Bytes)
B -   1112998 - Image Load, Start
D -    223558 - APPSBL Image Loaded, Delta - (457299 Bytes)
B -   1336979 - QSEE Execution, Start
D -        58 - QSEE Execution, Delta
B -   1343175 - SBL1, End
D -    658211 - SBL1, Delta
S - Flash Throughput, 2005 KB/s  (721870 Bytes,  359877 us)
S - DDR Frequency, 537 MHz


U-Boot 2012.07-05763-g80e4eb4 [local,local] (Jul 06 2016 - 11:01:57)
RT-AC58U bootloader version: 1.0.0.3

smem ram ptable found: ver: 1 len: 3
ASUS RT-AC58U gpio init : wps / reset pin
DRAM:  128 MiB
machid : 0x8010100
Maximum malloc length: 4096 KBytes
mem_malloc_start/brk/end: 0x86ef0000/86ef0000/87300000
Relocation offset: 0
NAND:  spi_nand: spi_nand_flash_probe SF NAND ID 0:ef:aa:21
SF: Detected W25N01GV with page size 2 KiB, total 128 MiB
SF: Detected MX25L1605D with page size 4 KiB, total 2 MiB
ipq_spi: page_size: 0x100, sector_size: 0x1000, size: 0x200000
130 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
name         : offset   size    
0:SBL1       : 00000000 00040000
0:MIBIB      : 00040000 00020000
0:QSEE       : 00060000 00060000
0:CDT        : 000c0000 00010000
0:DDRPARAMS  : 000d0000 00010000
0:APPSBLENV  : 000e0000 00010000
0:APPSBL     : 000f0000 00080000
0:ART        : 00170000 00010000
machid: 8010100
Net:   MAC0 addr:XXXXXX
PHY ID1: 0x4d
PHY ID2: 0xd0b1
ipq40xx_ess_sw_init done
eth0
Creating 1 MTD partitions on "nand1":
0x00000000-0x08000000 : "mtd=0"
UBI: attaching mtd2 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: VID header offset:          2048 (aligned 2048)
UBI: data offset:                4096
UBI: max. sequence number:       18419
UBI: attached mtd2 to ubi0
UBI: MTD device name:            "mtd=0"
UBI: MTD device size:            128 MiB
UBI: number of good PEBs:        1024
UBI: number of bad PEBs:         0
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     7
UBI: available PEBs:             10
UBI: total number of reserved PEBs: 1014
UBI: number of PEBs reserved for bad PEB handling: 10
UBI: max/mean erase counter: 39/18
UBI: image sequence number:  1117443911
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  used_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              3          1         0   dynamic            1f000         3       5d000          1f000          0           0         5  nvram
UBI:        1              1          1         0   dynamic            1f000         1       1f000          1f000          0           0         7  Factory
UBI:        2              1          1         0   dynamic            1f000         1       1f000          1f000          0           0         8  Factory2
UBI:        3             11          1         0   dynamic            1f000        11      20f000          1f000          0           0         5  linux
UBI:        4            18d          1         0   dynamic            1f000       18d     3013000          1f000          0           0         6  linux2
UBI:        5             18          1         0   dynamic            1f000        18      2e8000          1f000          0           0         6  rootfs
UBI:        6            22d          1         0   dynamic            1f000       22d     4373000          1f000          0           0         b  rootfs_data
UBI: 7fffefff              2          1         0   dynamic            1f000         2       3e000              2          0           0         d  layout volume
UBI volume [linux] size 20f000 smaller than 3013000!
UBI error: do_ubi: available_pebs 10 < MIN_AVAILABLE_PEB 30

Latest UBI volumes layout.
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  used_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              3          1         0   dynamic            1f000         3       5d000          1f000          0           0         5  nvram
UBI:        1              1          1         0   dynamic            1f000         1       1f000          1f000          0           0         7  Factory
UBI:        2              1          1         0   dynamic            1f000         1       1f000          1f000          0           0         8  Factory2
UBI:        3             11          1         0   dynamic            1f000        11      20f000          1f000          0           0         5  linux
UBI:        4            18d          1         0   dynamic            1f000       18d     3013000          1f000          0           0         6  linux2
UBI:        5             18          1         0   dynamic            1f000        18      2e8000          1f000          0           0         6  rootfs
UBI:        6            22d          1         0   dynamic            1f000       22d     4373000          1f000          0           0         b  rootfs_data
UBI: 7fffefff              2          1         0   dynamic            1f000         2       3e000              2          0           0         d  layout volume
Read 0x1f000 bytes from volume [Factory] offset 0x0 to 86ec0ce8
EEPROM set 0: OK (version 20)
Read 0x1f000 bytes from volume [Factory2] offset 0x0 to 86ec0ce8
EEPROM set 1: OK (version 20)
Read 0x1f000 bytes from volume [Factory] offset 0x0 to 86ef3480
Select EEPROM set 0 at offset 0x0.

Please choose the operation: 
   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: Boot System code via Flash (default).

RT-AC58U bootloader version: 1.0.0.3
MAC Address: XXXXXX
Read 0x40 bytes from volume [linux] offset 0x0 to 84000000
   FIT/FDT format image found at 0x84000000, size 0x0020e91c
Read 0x20e95c bytes from volume [linux] offset 0x0 to 84000000
## Booting kernel from FIT Image at 84000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM OpenWrt Linux-4.14.221
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x840000e4
     Data Size:    2138249 Bytes = 2 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   3bfbe67c
     Hash algo:    sha1
     Hash value:   d4b47b083e4a2db9f96e0c6bd5d1f0a7d082681c
## Flattened Device Tree from FIT Image at 84000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM OpenWrt asus_rt-ac58u device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x8420a2a8
     Data Size:    16772 Bytes = 16.4 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   fde26937
     Hash algo:    sha1
     Hash value:   9470f66be01cdf817c8c50b956ed7b3367d5cfd2
   Booting using the fdt blob at 0x8420a2a8
Read 0x28 bytes from volume [linux2] offset 0x0 to 86edfc40
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 86ed8000, end 86edf183 ... OK
ipq: fdt fixup unable to find compatible node
Using machid 0x8010100 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.221 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11306-c4a6851c72)) #0 SMP Mon Feb 15 15:22:37 2021
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: ASUS RT-AC58U
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] random: get_random_bytes called from 0xc09008d4 with crng_init=0
[    0.000000] percpu: Embedded 15 pages/cpu s29388 r8192 d23860 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32004
[    0.000000] Kernel command line: root_rfs=0x00000000 flash_type=norplusnand  ubi.mtd=UBI_DEV
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 119980K/129024K available (4461K kernel code, 146K rwdata, 692K rodata, 1024K init, 236K bss, 9044K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc8000000 - 0xff800000   ( 888 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc7e00000   ( 126 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0208000 - 0xc075b560   (5454 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a24bc0   ( 147 kB)
[    0.000000]        .bss : 0xc0a26000 - 0xc0a61018   ( 237 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[    0.000008] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[    0.000023] Switching to timer-based delay loop, resolution 20ns
[    0.000259] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.000277] pid_max: default: 32768 minimum: 301
[    0.000414] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000429] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001042] CPU: Testing write buffer coherency: ok
[    0.001733] Setting up static identity map for 0x80300000 - 0x80300060
[    0.001876] Hierarchical SRCU implementation.
[    0.002540] smp: Bringing up secondary CPUs ...
[    0.005268] smp: Brought up 1 node, 4 CPUs
[    0.005288] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[    0.005296] CPU: All CPU(s) started in SVC mode.
[    0.009223] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.009377] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.009403] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.009586] pinctrl core: initialized pinctrl subsystem
[    0.010547] NET: Registered protocol family 16
[    0.010847] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.011882] cpuidle: using governor ladder
[    0.011925] cpuidle: using governor menu
[    0.028515] usbcore: registered new interface driver usbfs
[    0.028583] usbcore: registered new interface driver hub
[    0.028641] usbcore: registered new device driver usb
[    0.028688] pps_core: LinuxPPS API ver. 1 registered
[    0.028698] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.028722] PTP clock support registered
[    0.029860] clocksource: Switched to clocksource arch_sys_counter
[    0.030772] NET: Registered protocol family 2
[    0.031440] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.031472] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[    0.031502] TCP: Hash tables configured (established 1024 bind 1024)
[    0.031606] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.031642] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.031837] NET: Registered protocol family 1
[    0.032846] No memory allocated for crashlog
[    0.033060] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.036392] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.036408] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.041483] io scheduler noop registered
[    0.041502] io scheduler deadline registered (default)
[    0.044082] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[    0.044103] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[    0.044783] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[    0.044868] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    0.044948] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[    0.045021] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[    0.045238] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.046978] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.047026] msm_serial 78af000.serial: uartclk = 1843200
[    0.047094] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 25, base_baud = 115200) is a MSM
[    0.047122] msm_serial: console setup on port #0
[    0.555564] console [ttyMSM0] enabled
[    0.560488] msm_serial: driver initialized
[    0.567886] loop: module loaded
[    0.569027] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[    0.571818] m25p80 spi0.0: mx25l1606e (2048 Kbytes)
[    0.578146] 8 fixed-partitions partitions found on MTD device spi0.0
[    0.582738] Creating 8 MTD partitions on "spi0.0":
[    0.589312] 0x000000000000-0x000000040000 : "SBL1"
[    0.594565] 0x000000040000-0x000000060000 : "MIBIB"
[    0.599192] 0x000000060000-0x0000000c0000 : "QSEE"
[    0.604031] 0x0000000c0000-0x0000000d0000 : "CDT"
[    0.608816] 0x0000000d0000-0x0000000e0000 : "DDRPARAMS"
[    0.613669] 0x0000000e0000-0x0000000f0000 : "APPSBLENV"
[    0.618656] 0x0000000f0000-0x000000170000 : "APPSBL"
[    0.623902] 0x000000170000-0x000000180000 : "ART"
[    0.629944] libphy: ipq40xx_mdio: probed
[    0.663936] ESS reset ok!
[    0.696915] ESS reset ok!
[    1.130328] libphy: Fixed MDIO Bus: probed
[    1.131215] EDMA using MAC@ - using
[    1.131231] 2e:06:db:23:6c:84
[    1.137423] EDMA using MAC@ - using
[    1.137437] de:0a:26:fd:94:62
[    1.240854] i2c /dev entries driver
[    1.290071] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    1.290106] nand: Winbond W25N01GV 1G 3.3V 8-bit
[    1.295495] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.300147] Scanning device for bad blocks
[    1.321038] random: fast init done
[    1.666959] random: crng init done
[    1.690006] 1 fixed-partitions partitions found on MTD device spi0.1
[    1.690033] Creating 1 MTD partitions on "spi0.1":
[    1.695429] 0x000000000000-0x000008000000 : "UBI_DEV"
[    1.702360] NET: Registered protocol family 10
[    1.706560] Segment Routing with IPv6
[    1.709554] NET: Registered protocol family 17
[    1.713307] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.717872] 8021q: 802.1Q VLAN Support v1.8
[    1.730796] Registering SWP/SWPB emulation handler
[    1.738625] ubi0: attaching mtd8
[    6.053410] ubi0: scanning is finished
[    6.097465] ubi0: attached mtd8 (name "UBI_DEV", size 128 MiB)
[    6.097506] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    6.102265] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    6.109058] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    6.115942] ubi0: good PEBs: 1024, bad PEBs: 0, corrupted PEBs: 0
[    6.122699] ubi0: user volume: 7, internal volumes: 1, max. volumes count: 128
[    6.128937] ubi0: max/mean erase counter: 39/18, WL threshold: 4096, image sequence number: 1117443911
[    6.136072] ubi0: available PEBs: 0, total reserved PEBs: 1024, PEBs reserved for bad PEB handling: 20
[    6.145385] ubi0: background thread "ubi_bgt0d" started, PID 87
[    6.148761] block ubiblock0_5: created from ubi0:5(rootfs)
[    6.160460] ubiblock: device ubiblock0_5 (rootfs) set to be root filesystem
ú^@[    6.185972] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    6.187581] Freeing unused kernel memory: 1024K
[    7.161705] init: Console is alive
[    7.161913] init: - watchdog -
[    9.324116] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    9.654629] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    9.654715] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    9.659306] xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f665 hci version 0x100 quirks 0x0000000002010010
[    9.666715] xhci-hcd xhci-hcd.0.auto: irq 94, io mem 0x08a00000
[    9.676746] hub 1-0:1.0: USB hub found
[    9.681924] hub 1-0:1.0: 1 port detected
[    9.686004] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    9.689764] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    9.695092] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0  SuperSpeed
[    9.702776] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    9.709959] hub 2-0:1.0: USB hub found
[    9.717587] hub 2-0:1.0: 1 port detected
[    9.721542] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    9.725187] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    9.730738] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f665 hci version 0x100 quirks 0x0000000002010010
[    9.738088] xhci-hcd xhci-hcd.1.auto: irq 95, io mem 0x06000000
[    9.747993] hub 3-0:1.0: USB hub found
[    9.753350] hub 3-0:1.0: 1 port detected
[    9.757407] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    9.761225] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    9.766498] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0  SuperSpeed
[    9.774148] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    9.781168] hub 4-0:1.0: USB hub found
[    9.789014] hub 4-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    9.794543] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    9.810197] init: - preinit -
[   10.557679] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   10.557772] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   13.796076] UBIFS (ubi0:6): background thread "ubifs_bgt0_6" started, PID 151
[   14.102440] UBIFS (ubi0:6): recovery needed
[   14.998254] UBIFS (ubi0:6): recovery completed
[   14.998408] UBIFS (ubi0:6): UBIFS: mounted UBI device 0, volume 6, name "rootfs_data"
[   15.001640] UBIFS (ubi0:6): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   15.009515] UBIFS (ubi0:6): FS size: 69455872 bytes (66 MiB, 547 LEBs), journal size 3428352 bytes (3 MiB, 27 LEBs)
[   15.019469] UBIFS (ubi0:6): reserved for root: 3280571 bytes (3203 KiB)
[   15.029709] UBIFS (ubi0:6): media format: w4/r0 (latest is w5/r0), UUID C87338D5-4FE4-4021-B33E-CF455B6BE34E, small LPT model
[   15.051940] mount_root: switching to ubifs overlay
[   15.099542] urandom-seed: Seeding with /etc/urandom.seed
[   15.790906] procd: - early -
[   15.791014] procd: - watchdog -
[   16.511000] procd: - watchdog -
[   16.514027] procd: - ubus -
[   16.668254] procd: - init -
Please press Enter to activate this console.
[   17.292188] kmodloader: loading kernel modules from /etc/modules.d/*
[   17.295662] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   17.303057] Loading modules backported from Linux version v4.19.161-0-gdaefdc9eb24b
[   17.303097] Backport generated by backports.git v4.19.161-1-0-g4bb568fe
[   17.312599] ip_tables: (C) 2000-2006 Netfilter Core Team
[   17.321557] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
[   17.338905] urngd: v1.0.2 started.
[   17.349776] xt_time: kernel timezone is -0000
[   17.382527] PPP generic driver version 2.4.2
[   17.383452] NET: Registered protocol family 24
[   17.579086] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/fwcfg-ahb-a000000.wifi.txt failed with error -2
[   17.579138] ath10k_ahb a000000.wifi: Falling back to user helper
[   17.672267] firmware ath10k!fwcfg-ahb-a000000.wifi.txt: firmware_loading_store: map pages failed
[   17.682535] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-5.bin failed with error -2
[   17.682591] ath10k_ahb a000000.wifi: Falling back to user helper
[   17.760487] firmware ath10k!QCA4019!hw1.0!ct-firmware-5.bin: firmware_loading_store: map pages failed
[   17.760881] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-2.bin failed with error -2
[   17.768729] ath10k_ahb a000000.wifi: Falling back to user helper
[   17.838108] firmware ath10k!QCA4019!hw1.0!ct-firmware-2.bin: firmware_loading_store: map pages failed
[   17.838530] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2
[   17.846426] ath10k_ahb a000000.wifi: Falling back to user helper
[   17.927864] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[   18.785745] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   18.785802] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   18.798655] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-13-8c5b2baa2 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 1f3ed50f
[   18.892603] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:16 crc32 e2dfaa91
[   20.200824] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   20.200869] ath10k_ahb a000000.wifi: msdu-desc: 2500  skid: 32
[   20.237074] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   20.237731] ath10k_ahb a000000.wifi: wmi print 'free: 53252 iram: 13576 sram: 35752'
[   20.342467] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   20.651768] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/fwcfg-ahb-a800000.wifi.txt failed with error -2
[   20.651813] ath10k_ahb a800000.wifi: Falling back to user helper
[   20.953866] firmware ath10k!fwcfg-ahb-a800000.wifi.txt: firmware_loading_store: map pages failed
[   20.963569] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-5.bin failed with error -2
[   20.963623] ath10k_ahb a800000.wifi: Falling back to user helper
[   21.030802] firmware ath10k!QCA4019!hw1.0!ct-firmware-5.bin: firmware_loading_store: map pages failed
[   21.031128] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-2.bin failed with error -2
[   21.039024] ath10k_ahb a800000.wifi: Falling back to user helper
[   21.135197] firmware ath10k!QCA4019!hw1.0!ct-firmware-2.bin: firmware_loading_store: map pages failed
[   21.136026] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2
[   21.143682] ath10k_ahb a800000.wifi: Falling back to user helper
[   21.227745] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[   21.228095] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   21.235735] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   21.249273] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-13-8c5b2baa2 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 1f3ed50f
[   21.304106] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:17 crc32 e2dfaa91
[   22.613416] ath10k_ahb a800000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   22.613467] ath10k_ahb a800000.wifi: msdu-desc: 2500  skid: 32
[   22.649180] ath10k_ahb a800000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   22.650195] ath10k_ahb a800000.wifi: wmi print 'free: 53252 iram: 13576 sram: 35752'
[   22.753045] ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   22.909362] kmodloader: done loading kernel modules from /etc/modules.d/*
[   26.929552] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   26.932581] device eth0 entered promiscuous mode
[   26.935075] br-lan: port 1(eth0.1) entered blocking state
[   26.939100] br-lan: port 1(eth0.1) entered disabled state
[   26.944883] device eth0.1 entered promiscuous mode
[   26.953560] br-lan: port 1(eth0.1) entered blocking state
[   26.954461] br-lan: port 1(eth0.1) entered forwarding state
[   26.960241] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   27.930455] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   27.939617] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

Try disabling hardware flow control in your picocom settings.

@Borromini i guess, thats already set in the windows Termite serial app:
image

At first, i tried using picocom on linux, which also had same issue.
Thereafter i switched to termite app on windows to see if it works there, but same issue on windows aswell.

One observation though:
when i continuously hit 1 when this menu comes:
Please choose the operation:
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: Boot System code via Flash (default).

i get 1 added to this line like:
9: Load Boot Loader code then write to Flash via TFTP 1
but then the output somehow siwtches back to
9: Load Boot Loader code then write to Flash via TFTP 0

and the default bootup kicks in.

Thanks.

Try turning it on then, sometimes you need to fiddle with it a bit.

i did try all option combinations but it still does not work.

try shorting the Rx and Tx pins on the USB TTL or the cable, and see if your typing in the terminal sw is echoed back to you.

just a test to verify the TTLs functionality.

yes, shorting echoes whatever i type..

ive uploaded a video to explain whats happening..
the input seems to getting transmitted, but somehow the bootloader is falling back to the default option.
If you see in the video, clearly the '1' input is echoed in the serial prompt, but soon it switches back to '0'

The orig contributer's initial patch mentions, that the TFTP server needs to be setup aswell.

Which i have followed taking hints from here:
sudo dnsmasq --port=0 --enable-tftp --tftp-root=/path/to/firmware/directory --tftp-no-blocksize --user=root --group=root

i have placed the openwrt19077.itb in the tftp-root path.

output of: sudo netstat -lunp | grep 69

udp        0      0 0.0.0.0:69              0.0.0.0:*                           9394/dnsmasq
udp        0      0 0.0.0.0:69              0.0.0.0:*                           944/inetutils-inetd
udp6       0      0 :::69                   :::*                                9394/dnsmasq

for testing the tftp server's functioning:
on the same m/c where tftp server is added, tftp 0.0.0.0

tftp> get openwrt19077.itb
tftp>

Notice, i dont get the recieved output as mentioned in the guide:

tftp 192.168.0.66
tftp> get tp_recovery.bin
**Received 8152633 bytes in 0.8 seconds**
tftp> quit

also, at this point, my m/c has only wired connection to the router and has ip 192.168.1.70.
when i ping 192.168.1.1 the router isint reachable.

ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
From 192.168.1.70 icmp_seq=1 Destination Host Unreachable
From 192.168.1.70 icmp_seq=2 Destination Host Unreachable
^C
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 0 received, +2 errors, 100% packet loss, time 4054ms

Can the bootloader defaulting to normal boot sequence due to tftp server not accessible?

mentioning the original patcher if he has something to add here.
@chunkeey

Thanks.

Hey, if you really ordered the CH340G (as you mentioned in the first post) and not the CH341, then you have the same USB-Chip (PL2303) that I had on my old USB<->UART adapter.

[13141.774287] usb 2-9: new full-speed USB device number 10 using xhci_hcd
[13141.915119] usb 2-9: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 3.00
[13141.915124] usb 2-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13141.915126] usb 2-9: Product: USB-Serial Controller
[13141.915127] usb 2-9: Manufacturer: Prolific Technology Inc.
[13141.950209] usbcore: registered new interface driver usbserial_generic
[13141.950217] usbserial: USB Serial support registered for generic
[13141.951623] usbcore: registered new interface driver pl2303
[13141.951634] usbserial: USB Serial support registered for pl2303
[13141.951656] pl2303 2-9:1.0: pl2303 converter detected
[13141.953145] usb 2-9: pl2303 converter now attached to ttyUSB0

Last time I tried it with the RT-AC58U, it worked fine... But I'm no longer using it,
since I think it malfunctioned on my FritzBox 4040 after some prolonged use.
It took out the IPQ4018 UART RX. So sadly the FritzBox no longer accepts any keystrokes on the UART, but the IPQ4018 TX is still working fine, so atleast I see what it is doing.

About That "1" ... "0". This is a countdown and not a echo of inputs. From what I remember, if any other key than 1-5 is pressed, it will just default to "3" and move on.

Here's the function from ASUS RT-AC58U GPL drop in arch/arm/lib/board.c that does that Boot-menu for reference:

static int OperationSelect(void)
{
        char valid_boot_type[16];
        char msg[256];
        struct boot_menu_s *p = &boot_menu[0];
        char *s = getenv ("bootdelay"), *q = &valid_boot_type[0];
        int my_tmp, BootType = '3', timer1 = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;

        memset(valid_boot_type, 0, sizeof(valid_boot_type));
        printf("\nPlease choose the operation: \n");
        while (p->func) {
                *q++ = p->type;
                sprintf(msg, "   %c: %s\n", p->type, p->msg);
                if (p->param1)
                        printf(msg, p->param1);
                else
                        printf(msg);

                p++;
        }
        *q = '\0';

        if (timer1 > 5)
                timer1 = 5;
#if defined(UBOOT_STAGE1) || defined(UBOOT_STAGE2)
        if (timer1 <= CONFIG_BOOTDELAY)
                timer1 = 0;
#endif

        timer1 *= 100;
        if (!timer1)
                timer1 = 20;
        while (timer1 > 0) {
                --timer1;
                /* delay 10ms */
                if ((my_tmp = tstc()) != 0) {   /* we got a key press   */
                        timer1 = 0;     /* no more delay        */
                        BootType = getc();
                        if (!strchr(valid_boot_type, BootType))
                                BootType = '3';
                        printf("\n\rYou choosed %c\n\n", BootType);
                        break;
                }
                if (DETECT() || DETECT_WPS()) {
                        BootType = '3';
                        break;
                }
                udelay (10000);
                if ((timer1 / 100 * 100) == timer1)
                        printf ("\b\b\b%2d ", timer1 / 100);
        }
        putc ('\n');

        return BootType;
}

Now, I don't know what's wrong. Maybe you need to press '1' and '' before the time runs out... Or your IPQ4018's UART-RX is borked in the same way my FB4040 is.

1 Like