Dynalink DL-WRX36 Askey RT5010W IPQ8072A technical discussion

After ssdk init, the green and yellow led of the wan port are always on (even without a physical link)

With a link, the yellow led gets off, the green stays always on (no flashing during traffic)

And the lan ports are only using the green led for link and flashing during traffic.

I believe the right behaviour would be green for link and flashing yellow led for traffic, right?

I'll try that out in the next few days and report back. Is there any particular reason your script/snippet uses active=recovery as default? Is that's what makes it possible to flash OpenWRT for the first time? I'm not sure if I understand that correctly.

So to summarize the process once again:

  • Load the 'backup.cfg' file (and reboot)
  • SSH'd into the device and create a script with the contents of this , then run the script (Bad CRC is explained by @rmandrad here)
  • Start a TFTP server on my laptop with a static IP of 192.168.1.10, hosting the 'openwrt-ipq807x-generic-dynalink_dl-wrx36-squashfs-nand-factory.ubi' file (built from @clayface repo)
  • Reboot the router

And I should log the whole processs via UART, right?

if you are flashing for the first time (or recovering using the tftp image) active should be set to recovery.

the bad crc seems to indicate that variables were not saved .. but then your printenv shows them.

Yes your steps feel are correct. As you said it seems the issue you had was to do with the tftp setup and file on your server.

1 Like

That's correct. I made a tiny change that may allow tftpboot to see eth0 has been brought up. If this doesn't work then flashing via USB might be another option.

Even with the upgraded script, something's wrong with ethernet while in uboot...

Original firmware boot:


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.3.1-00163
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       201 - PBL, Start
B -      2738 - bootable_media_detect_entry, Start
B -      4191 - bootable_media_detect_success, Start
B -      4196 - elf_loader_entry, Start
B -      6865 - auth_hash_seg_entry, Start
B -     44731 - auth_hash_seg_exit, Start
B -    106739 - elf_segs_hash_verify_entry, Start
B -    169594 - PBL, End
B -    188154 - SBL1, Start
B -    242170 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    248910 - pm_device_init, Start
B -    375729 - PM_SET_VAL:Skip
D -    126270 - pm_device_init, Delta
B -    378169 - pm_driver_init, Start
D -      5398 - pm_driver_init, Delta
B -    384483 - clock_init, Start
D -      2135 - clock_init, Delta
B -    388509 - boot_flash_init, Start
D -     12657 - boot_flash_init, Delta
B -    404826 - boot_config_data_table_init, Start
D -      3080 - boot_config_data_table_init, Delta - (575 Bytes)
B -    412329 - Boot Setting :  0x00000618
B -    416264 - CDT version:2,Platform ID:8,Major ID:133,Minor ID:1,Subtype:5
B -    423370 - sbl1_ddr_set_params, Start
B -    427091 - CPR configuration: 0x30c
B -    430538 - cpr_init, Start
B -    433405 - Rail:0 Mode: 5 Voltage: 824000
B -    438529 - CL CPR settled at 776000mV
B -    441365 - Rail:1 Mode: 5 Voltage: 880000
B -    445635 - Rail:1 Mode: 7 Voltage: 920000
D -     16439 - cpr_init, Delta
B -    452437 - Pre_DDR_clock_init, Start
B -    456432 - Pre_DDR_clock_init, End
B -    459818 - DDR Type : PCDDR4
B -    466558 - do ddr sanity test, Start
D -      1037 - do ddr sanity test, Delta
B -    470371 - DDR: Start of HAL DDR Boot Training
B -    475007 - DDR: End of HAL DDR Boot Training
B -    480771 - DDR: Checksum to be stored on flash is -2139853444
B -    491172 - Image Load, Start
D -    505354 - QSEE Image Loaded, Delta - (1378368 Bytes)
B -    996618 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -   1004304 - Image Load, Start
D -    293898 - DEVCFG Image Loaded, Delta - (32488 Bytes)
B -   1298293 - Image Load, Start
D -    305122 - RPM Image Loaded, Delta - (93060 Bytes)
B -   1603507 - Image Load, Start
D -    369690 - APPSBL Image Loaded, Delta - (536590 Bytes)
B -   1973319 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -   1979114 - USB D+ check, Start
D -        30 - USB D+ check, Delta
B -   1985519 - SBL1, End
D -   1799653 - SBL1, Delta
S - Flash Throughput, 6733 KB/s  (2041753 Bytes,  303225 us)
S - DDR Frequency, 600 MHz
S - Core 0 Frequency, 1651 MHz




U-Boot 0.0.1-1-80112-CS (May 21 2021 - 09:29:10 +0800)



DRAM:  smem ram ptable found: ver: 1 len: 4

1 GiB

Led init ...

NAND:  Could not find nand_gpio in dts, using defaults

ONFI device found

ID = 1590aa2c

Vendor = 2c

Device = aa

qpic_nand: changing oobsize to 80 from 128 bytes

SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff

ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)

256 MiB

MMC:   sdhci: Node Not found, skipping initialization



*** Warning - bad CRC, using default environment



PCI0 is not defined in the device tree

PCI1 is not defined in the device tree

In:    serial@78B3000

Out:   serial@78B3000

Err:   serial@78B3000

machid: 8850105

MMC Device 0 not found

eth5 MAC Address from ART is not valid

Hit any key to stop autoboot:  2  1  0 

machid: 0x08850105 aqr_load:1

machid 0x08850105 no Aquantia phy.

call do_boot_signedimg()

******* check firmware img *****

ubi0: attaching mtd1

ubi0: scanning is finished

ubi0: attached mtd1 (name "mtd=1", size 97 MiB)

ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes

ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048

ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096

ubi0: good PEBs: 776, bad PEBs: 0, corrupted PEBs: 0

ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128

ubi0: max/mean erase counter: 3/0, WL threshold: 4096, image sequence number: 509821238

ubi0: available PEBs: 0, total reserved PEBs: 776, PEBs reserved for bad PEB handling: 40

Read 2048 bytes from volume kernel to 44000000

NOT unsigned kernel FW header

Read 4184064 bytes from volume kernel to 44000000

Read 35131392 bytes from volume ubi_rootfs to 443fd040

******* OK *****

ubi0: detaching mtd1

ubi0: mtd1 is detached

ubi0: attaching mtd1

ubi0: scanning is finished

ubi0: attached mtd1 (name "mtd=0", size 97 MiB)

ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes

ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048

ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096

ubi0: good PEBs: 776, bad PEBs: 0, corrupted PEBs: 0

ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128

ubi0: max/mean erase counter: 3/0, WL threshold: 4096, image sequence number: 509821238

ubi0: available PEBs: 0, total reserved PEBs: 776, PEBs reserved for bad PEB handling: 40

Read 0 bytes from volume kernel to 44000000

No size specified -> Using max size (4190208)

dtb_config_name: <config@rt5010w-d350-rev0>

## Loading kernel from FIT Image at 44000068 ...

   Using 'config@rt5010w-d350-rev0' configuration

   Trying 'kernel@1' kernel subimage

     Description:  ARM64 OpenWrt Linux-4.4.60

     Type:         Kernel Image

     Compression:  gzip compressed

     Data Start:   0x44000150

     Data Size:    3922338 Bytes = 3.7 MiB

     Architecture: AArch64

     OS:           Linux

     Load Address: 0x41080000

     Entry Point:  0x41080000

     Hash algo:    crc32

     Hash value:   71ea479e

     Hash algo:    sha1

     Hash value:   805491e1ce0ad2c317e3a52a8b9654091160d743

   Verifying Hash Integrity ... crc32+ sha1+ OK

## Loading fdt from FIT Image at 44000068 ...

   Using 'config@rt5010w-d350-rev0' configuration

   Trying 'fdt@rt5010w-d350-rev0' fdt subimage

     Description:  ARM64 OpenWrt rt5010w-d350 device tree blob

     Type:         Flat Device Tree

     Compression:  uncompressed

     Data Start:   0x443e6150

     Data Size:    82227 Bytes = 80.3 KiB

     Architecture: AArch64

     Hash algo:    crc32

     Hash value:   877a0dfe

     Hash algo:    sha1

     Hash value:   19595d50a1c0362b772db8f69b3dbd5773e444a0

   Verifying Hash Integrity ... crc32+ sha1+ OK

   Booting using the fdt blob at 0x443e6150

   Uncompressing Kernel Image ... OK

   Loading Device Tree to 4a3e8000, end 4a3ff132 ... OK

Could not find PCI in device tree

Using machid 0x8850105 from environment



Starting kernel ...



Jumping to AARCH64 kernel via monitor

Enabled SSH and script copied to /tmp and ran ./uboot.sh

BusyBox v1.32.1 (2022-03-24 02:46:41 CST) built-in shell (ash)

     MM           NM                    MMMMMMM          M       M
   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM
  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM
MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM'
MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM
MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM
MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM
MMMM=   MMMM     MMMMM,    NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM
MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM
MMMM=   MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM
MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM
  MMMMMMM:      MMMMMMM     M         MMMMMMMMMMMM  MMMMMMM MMMMMMM
    MMMMMM       MMMMN     M           MMMMMMMMM      MMMM    MMMM
     MMMM          M                    MMMMMMM        M       M
       M
 ---------------------------------------------------------------
   For those about to rock... (Chaos Calmer, 0a3a4f0+r49254)
 ---------------------------------------------------------------
admin@DL-WRX36:~# cd /tmp
admin@DL-WRX36:/tmp# ./uboot.sh
Warning: Bad CRC, using default environment
admin@DL-WRX36:/tmp#

And then I'm stuck in uboot, no matter which ethernet port is used:

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.3.1-00163
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       201 - PBL, Start
B -      2736 - bootable_media_detect_entry, Start
B -      4189 - bootable_media_detect_success, Start
B -      4193 - elf_loader_entry, Start
B -      6861 - auth_hash_seg_entry, Start
B -     44710 - auth_hash_seg_exit, Start
B -    106688 - elf_segs_hash_verify_entry, Start
B -    169543 - PBL, End
B -    188337 - SBL1, Start
B -    242414 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    249154 - pm_device_init, Start
B -    375394 - PM_SET_VAL:Skip
D -    125660 - pm_device_init, Delta
B -    377803 - pm_driver_init, Start
D -      5398 - pm_driver_init, Delta
B -    384178 - clock_init, Start
D -      2135 - clock_init, Delta
B -    388112 - boot_flash_init, Start
D -     12627 - boot_flash_init, Delta
B -    404521 - boot_config_data_table_init, Start
D -      3111 - boot_config_data_table_init, Delta - (575 Bytes)
B -    412024 - Boot Setting :  0x00000618
B -    415959 - CDT version:2,Platform ID:8,Major ID:133,Minor ID:1,Subtype:5
B -    423065 - sbl1_ddr_set_params, Start
B -    426786 - CPR configuration: 0x30c
B -    430233 - cpr_init, Start
B -    433008 - Rail:0 Mode: 5 Voltage: 824000
B -    438224 - CL CPR settled at 776000mV
B -    441060 - Rail:1 Mode: 5 Voltage: 880000
B -    445330 - Rail:1 Mode: 7 Voltage: 920000
D -     16531 - cpr_init, Delta
B -    452101 - Pre_DDR_clock_init, Start
B -    456127 - Pre_DDR_clock_init, End
B -    459513 - DDR Type : PCDDR4
B -    466253 - do ddr sanity test, Start
D -      1067 - do ddr sanity test, Delta
B -    470035 - DDR: Start of HAL DDR Boot Training
B -    474671 - DDR: End of HAL DDR Boot Training
B -    480436 - DDR: Checksum to be stored on flash is -2139853444
B -    490867 - Image Load, Start
D -    505324 - QSEE Image Loaded, Delta - (1378368 Bytes)
B -    996282 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -   1003968 - Image Load, Start
D -    293898 - DEVCFG Image Loaded, Delta - (32488 Bytes)
B -   1297958 - Image Load, Start
D -    305122 - RPM Image Loaded, Delta - (93060 Bytes)
B -   1603171 - Image Load, Start
D -    369721 - APPSBL Image Loaded, Delta - (536590 Bytes)
B -   1973045 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -   1978840 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -   1985214 - SBL1, End
D -   1799195 - SBL1, Delta
S - Flash Throughput, 6734 KB/s  (2041753 Bytes,  303161 us)
S - DDR Frequency, 600 MHz
S - Core 0 Frequency, 1651 MHz




U-Boot 0.0.1-1-80112-CS (May 21 2021 - 09:29:10 +0800)



DRAM:  smem ram ptable found: ver: 1 len: 4

1 GiB

Led init ...

NAND:  Could not find nand_gpio in dts, using defaults

ONFI device found

ID = 1590aa2c

Vendor = 2c

Device = aa

qpic_nand: changing oobsize to 80 from 128 bytes

SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff

ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)

256 MiB

MMC:   sdhci: Node Not found, skipping initialization



PCI0 is not defined in the device tree

PCI1 is not defined in the device tree

In:    serial@78B3000

Out:   serial@78B3000

Err:   serial@78B3000

machid: 8850105

MMC Device 0 not found

eth5 MAC Address from ART is not valid

Hit any key to stop autoboot:  2  1  0 



Net:   MAC0 addr:2c:ea:dc:85:e5:b

PHY ID1: 0x4d

PHY ID2: 0xd0b1

PHY ID1: 0x4d

PHY ID2: 0xd101

EDMA ver 1 hw init

Num rings - TxDesc:1 (0-0) TxCmpl:1 (7-7)

RxDesc:1 (15-15) RxFill:1 (7-7)

ipq807x_edma_alloc_rings: successfull

ipq807x_edma_setup_ring_resources: successfull

ipq807x_edma_configure_rings: successfull

ipq807x_edma_hw_init: successfull

eth0

IPQ807x# printenv


active=recovery

baudrate=115200

bootargs=console=ttyMSM0,115200n8 ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs

bootcmd=run bootcounter && run setup && run bootlinux

bootcount=3

bootcounter=if test $bootcount = 0; then setenv bootcount 1 && saveenv; elif test $bootcount = 1; then setenv bootcount 2 && saveenv; elif test $bootcount = 2; then setenv bootcount 3 && saveenv; elif test $bootcount = 3; then run chpart && setenv bootcount 4 && saveenv; elif test $bootcount = 4; then setenv bootcount 5 && saveenv; elif test $bootcount = 5; then setenv bootcount 6 && saveenv; elif test $bootcount = 6; then setenv active recovery && setenv bootcount 0 && saveenv && reset; fi

bootdelay=2

bootlinux=ubi read 0x44000000 kernel 0x80000000 && bootm 0x44000000#config@rt5010w-d350-rev0

chpart=if test $active = 0; then setenv active 1;  elif test $active = 1; then setenv active 0; fi

eth1addr=2c:ea:dc:85:e5:c

eth2addr=2c:ea:dc:85:e5:c

eth3addr=2c:ea:dc:85:e5:c

eth4addr=2c:ea:dc:85:e5:c

ethact=eth0

ethaddr=2c:ea:dc:85:e5:b

factoryimg=openwrt-ipq807x-generic-dynalink_dl-wrx36-squashfs-nand-factory.ubi

fdt_high=0x4A400000

fdtcontroladdr=4a971480

flash_type=2

machid=8850105

mtdids=nand0=nand0

mtdparts=mtdparts=nand0:0x6100000@0x1000000(fs),0x6100000@0x7a00000(fs_1),

setup=if test $active = 0; then ubi part fs; elif test $active = 1; then ubi part fs_1; elif test $active = recovery; then run tftprecover; fi

soc_version_major=2

soc_version_minor=0

stderr=serial@78B3000

stdin=serial@78B3000

stdout=serial@78B3000

tftprecover=sleep 5; setenv serverip 192.168.1.10 && setenv ipaddr 192.168.1.250; tftpboot 0x44000000 ${factoryimg} && nand device 0 && nand erase 0x1000000 0x6100000 && nand write $fileaddr 0x1000000 $filesize && nand erase 0x7a00000 0x6100000 && nand write $fileaddr 0x7a00000 $filesize && setenv active 0 && saveenv && reset



Environment size: 1908/262140 bytes

IPQ807x# 

Made a printenv just in case. I'll keep the router like this, if there's something to try out. If I run run tftprecover I should get it into a working state easily.

1 Like

To me it seems that the tftprecover doesn't get triggered automatically.When stuck in uboot, I can't ping 192.168.1.250 from my computer at all. As soon as I run run tftprecover manually, the mechanism works as expected.

can you try (from u-boot):

setenv setup 'if test $active = 0; then ubi part fs; elif test $active = 1; then ubi part fs_1; else run tftprecover; fi'
saveenv

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.3.1-00163
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       201 - PBL, Start
B -      2737 - bootable_media_detect_entry, Start
B -      4186 - bootable_media_detect_success, Start
B -      4190 - elf_loader_entry, Start
B -      6851 - auth_hash_seg_entry, Start
B -     44667 - auth_hash_seg_exit, Start
B -    106493 - elf_segs_hash_verify_entry, Start
B -    169346 - PBL, End
B -    188490 - SBL1, Start
B -    242658 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    249398 - pm_device_init, Start
B -    375394 - PM_SET_VAL:Skip
D -    125416 - pm_device_init, Delta
B -    377803 - pm_driver_init, Start
D -      5337 - pm_driver_init, Delta
B -    384117 - clock_init, Start
D -      2135 - clock_init, Delta
B -    388143 - boot_flash_init, Start
D -     12627 - boot_flash_init, Delta
B -    404552 - boot_config_data_table_init, Start
D -      3111 - boot_config_data_table_init, Delta - (575 Bytes)
B -    412055 - Boot Setting :  0x00000618
B -    415989 - CDT version:2,Platform ID:8,Major ID:133,Minor ID:1,Subtype:5
B -    423096 - sbl1_ddr_set_params, Start
B -    426817 - CPR configuration: 0x30c
B -    430263 - cpr_init, Start
B -    433130 - Rail:0 Mode: 5 Voltage: 824000
B -    438254 - CL CPR settled at 776000mV
B -    441091 - Rail:1 Mode: 5 Voltage: 880000
B -    445361 - Rail:1 Mode: 7 Voltage: 920000
D -     16439 - cpr_init, Delta
B -    452162 - Pre_DDR_clock_init, Start
B -    456158 - Pre_DDR_clock_init, End
B -    459543 - DDR Type : PCDDR4
B -    466284 - do ddr sanity test, Start
D -      1037 - do ddr sanity test, Delta
B -    470066 - DDR: Start of HAL DDR Boot Training
B -    474732 - DDR: End of HAL DDR Boot Training
B -    480497 - DDR: Checksum to be stored on flash is -2139853444
B -    490897 - Image Load, Start
D -    505202 - QSEE Image Loaded, Delta - (1378368 Bytes)
B -    996191 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -   1003846 - Image Load, Start
D -    293898 - DEVCFG Image Loaded, Delta - (32488 Bytes)
B -   1297836 - Image Load, Start
D -    305122 - RPM Image Loaded, Delta - (93060 Bytes)
B -   1603049 - Image Load, Start
D -    369691 - APPSBL Image Loaded, Delta - (536590 Bytes)
B -   1972892 - QSEE Execution, Start
D -        91 - QSEE Execution, Delta
B -   1978687 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -   1985092 - SBL1, End
D -   1798890 - SBL1, Delta
S - Flash Throughput, 6740 KB/s  (2041753 Bytes,  302919 us)
S - DDR Frequency, 600 MHz
S - Core 0 Frequency, 1651 MHz




U-Boot 0.0.1-1-80112-CS (May 21 2021 - 09:29:10 +0800)



DRAM:  smem ram ptable found: ver: 1 len: 4

1 GiB

Led init ...

NAND:  Could not find nand_gpio in dts, using defaults

ONFI device found

ID = 1590aa2c

Vendor = 2c

Device = aa

qpic_nand: changing oobsize to 80 from 128 bytes

SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff

ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)

256 MiB

MMC:   sdhci: Node Not found, skipping initialization



PCI0 is not defined in the device tree

PCI1 is not defined in the device tree

In:    serial@78B3000

Out:   serial@78B3000

Err:   serial@78B3000

machid: 8850105

MMC Device 0 not found

eth5 MAC Address from ART is not valid

Hit any key to stop autoboot:  2  1  0 



Net:   MAC0 addr:2c:ea:dc:85:e5:b

PHY ID1: 0x4d

PHY ID2: 0xd0b1

PHY ID1: 0x4d

PHY ID2: 0xd101

EDMA ver 1 hw init

Num rings - TxDesc:1 (0-0) TxCmpl:1 (7-7)

RxDesc:1 (15-15) RxFill:1 (7-7)

ipq807x_edma_alloc_rings: successfull

ipq807x_edma_setup_ring_resources: successfull

ipq807x_edma_configure_rings: successfull

ipq807x_edma_hw_init: successfull

eth0

IPQ807x# printenv


active=recovery

baudrate=115200

bootargs=console=ttyMSM0,115200n8 ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs

bootcmd=run bootcounter && run setup && run bootlinux

bootcount=3

bootcounter=if test $bootcount = 0; then setenv bootcount 1 && saveenv; elif test $bootcount = 1; then setenv bootcount 2 && saveenv; elif test $bootcount = 2; then setenv bootcount 3 && saveenv; elif test $bootcount = 3; then run chpart && setenv bootcount 4 && saveenv; elif test $bootcount = 4; then setenv bootcount 5 && saveenv; elif test $bootcount = 5; then setenv bootcount 6 && saveenv; elif test $bootcount = 6; then setenv active recovery && setenv bootcount 0 && saveenv && reset; fi

bootdelay=2

bootlinux=ubi read 0x44000000 kernel 0x80000000 && bootm 0x44000000#config@rt5010w-d350-rev0

chpart=if test $active = 0; then setenv active 1;  elif test $active = 1; then setenv active 0; fi

eth1addr=2c:ea:dc:85:e5:c

eth2addr=2c:ea:dc:85:e5:c

eth3addr=2c:ea:dc:85:e5:c

eth4addr=2c:ea:dc:85:e5:c

ethact=eth0

ethaddr=2c:ea:dc:85:e5:b

factoryimg=openwrt-ipq807x-generic-dynalink_dl-wrx36-squashfs-nand-factory.ubi

fdt_high=0x4A400000

fdtcontroladdr=4a971480

flash_type=2

machid=8850105

mtdids=nand0=nand0

mtdparts=mtdparts=nand0:0x6100000@0x1000000(fs),0x6100000@0x7a00000(fs_1),

setup=if test $active = 0; then ubi part fs; elif test $active = 1; then ubi part fs_1; else run tftprecover; fi

soc_version_major=2

soc_version_minor=0

stderr=serial@78B3000

stdin=serial@78B3000

stdout=serial@78B3000

tftprecover=sleep 5; setenv serverip 192.168.1.10 && setenv ipaddr 192.168.1.250; tftpboot 0x44000000 ${factoryimg} && nand device 0 && nand erase 0x1000000 0x6100000 && nand write $fileaddr 0x1000000 $filesize && nand erase 0x7a00000 0x6100000 && nand write $fileaddr 0x7a00000 $filesize && setenv active 0 && saveenv && reset



Environment size: 1878/262140 bytes

IPQ807x# 

The green LED of the ethernet port (wan in this case) is green AFTER it fails. Maybe we need a few more seconds to have a stable working link?

Quite possible. Let's try 10 seconds then:

setenv tftprecover 'sleep 10; setenv serverip 192.168.1.10 && setenv ipaddr 192.168.1.250; tftpboot 0x44000000 ${factoryimg} && nand device 0 && nand erase 0x1000000 0x6100000 && nand write $fileaddr 0x1000000 $filesize && nand erase 0x7a00000 0x6100000 && nand write $fileaddr 0x7a00000 $filesize && setenv active 0 && saveenv && reset'
saveenv

Are you sure about increasing it there? The mechanism works with 5 seconds, if triggered manually. The LED is orange and green, then off, and is green again after reaching ipq807x_edma_hw_init: succesfull

I thought of waiting earlier in the boot process, if possible.

Bootlog with sleep 10:

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.3.1-00163
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       201 - PBL, Start
B -      2736 - bootable_media_detect_entry, Start
B -      4189 - bootable_media_detect_success, Start
B -      4193 - elf_loader_entry, Start
B -      6861 - auth_hash_seg_entry, Start
B -     44710 - auth_hash_seg_exit, Start
B -    106689 - elf_segs_hash_verify_entry, Start
B -    169543 - PBL, End
B -    283436 - SBL1, Start
B -    364810 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    374967 - pm_device_init, Start
B -    562572 - PM_SET_VAL:Skip
D -    185562 - pm_device_init, Delta
B -    564982 - pm_driver_init, Start
D -      5398 - pm_driver_init, Delta
B -    571356 - clock_init, Start
D -      2135 - clock_init, Delta
B -    575291 - boot_flash_init, Start
D -     12627 - boot_flash_init, Delta
B -    591700 - boot_config_data_table_init, Start
D -      3111 - boot_config_data_table_init, Delta - (575 Bytes)
B -    599203 - Boot Setting :  0x00000618
B -    603107 - CDT version:2,Platform ID:8,Major ID:133,Minor ID:1,Subtype:5
B -    610213 - sbl1_ddr_set_params, Start
B -    613934 - CPR configuration: 0x30c
B -    617411 - cpr_init, Start
B -    620278 - Rail:0 Mode: 5 Voltage: 824000
B -    625402 - CL CPR settled at 776000mV
B -    628208 - Rail:1 Mode: 5 Voltage: 880000
B -    632509 - Rail:1 Mode: 7 Voltage: 920000
D -     16439 - cpr_init, Delta
B -    639280 - Pre_DDR_clock_init, Start
B -    643306 - Pre_DDR_clock_init, End
B -    646691 - DDR Type : PCDDR4
B -    653432 - do ddr sanity test, Start
D -      1037 - do ddr sanity test, Delta
B -    657153 - DDR: Start of HAL DDR Boot Training
B -    661880 - DDR: End of HAL DDR Boot Training
B -    667645 - DDR: Checksum to be stored on flash is -2139853444
B -    678045 - Image Load, Start
D -    505416 - QSEE Image Loaded, Delta - (1378368 Bytes)
B -   1183552 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -   1191238 - Image Load, Start
D -    293898 - DEVCFG Image Loaded, Delta - (32488 Bytes)
B -   1485228 - Image Load, Start
D -    305122 - RPM Image Loaded, Delta - (93060 Bytes)
B -   1790411 - Image Load, Start
D -    369660 - APPSBL Image Loaded, Delta - (536590 Bytes)
B -   2160223 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -   2166018 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -   2172423 - SBL1, End
D -   1891275 - SBL1, Delta
S - Flash Throughput, 6734 KB/s  (2041753 Bytes,  303163 us)
S - DDR Frequency, 600 MHz
S - Core 0 Frequency, 1651 MHz




U-Boot 0.0.1-1-80112-CS (May 21 2021 - 09:29:10 +0800)



DRAM:  smem ram ptable found: ver: 1 len: 4

1 GiB

Led init ...

NAND:  Could not find nand_gpio in dts, using defaults

ONFI device found

ID = 1590aa2c

Vendor = 2c

Device = aa

qpic_nand: changing oobsize to 80 from 128 bytes

SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff

ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)

256 MiB

MMC:   sdhci: Node Not found, skipping initialization



PCI0 is not defined in the device tree

PCI1 is not defined in the device tree

In:    serial@78B3000

Out:   serial@78B3000

Err:   serial@78B3000

machid: 8850105

MMC Device 0 not found

eth5 MAC Address from ART is not valid

Hit any key to stop autoboot:  2  1  0 



Net:   MAC0 addr:2c:ea:dc:85:e5:b

PHY ID1: 0x4d

PHY ID2: 0xd0b1

PHY ID1: 0x4d

PHY ID2: 0xd101

EDMA ver 1 hw init

Num rings - TxDesc:1 (0-0) TxCmpl:1 (7-7)

RxDesc:1 (15-15) RxFill:1 (7-7)

ipq807x_edma_alloc_rings: successfull

ipq807x_edma_setup_ring_resources: successfull

ipq807x_edma_configure_rings: successfull

ipq807x_edma_hw_init: successfull

eth0

IPQ807x# printenv


active=recovery

baudrate=115200

bootargs=console=ttyMSM0,115200n8 ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs

bootcmd=run bootcounter && run setup && run bootlinux

bootcount=3

bootcounter=if test $bootcount = 0; then setenv bootcount 1 && saveenv; elif test $bootcount = 1; then setenv bootcount 2 && saveenv; elif test $bootcount = 2; then setenv bootcount 3 && saveenv; elif test $bootcount = 3; then run chpart && setenv bootcount 4 && saveenv; elif test $bootcount = 4; then setenv bootcount 5 && saveenv; elif test $bootcount = 5; then setenv bootcount 6 && saveenv; elif test $bootcount = 6; then setenv active recovery && setenv bootcount 0 && saveenv && reset; fi

bootdelay=2

bootlinux=ubi read 0x44000000 kernel 0x80000000 && bootm 0x44000000#config@rt5010w-d350-rev0

chpart=if test $active = 0; then setenv active 1;  elif test $active = 1; then setenv active 0; fi

eth1addr=2c:ea:dc:85:e5:c

eth2addr=2c:ea:dc:85:e5:c

eth3addr=2c:ea:dc:85:e5:c

eth4addr=2c:ea:dc:85:e5:c

ethact=eth0

ethaddr=2c:ea:dc:85:e5:b

factoryimg=openwrt-ipq807x-generic-dynalink_dl-wrx36-squashfs-nand-factory.ubi

fdt_high=0x4A400000

fdtcontroladdr=4a971480

flash_type=2

machid=8850105

mtdids=nand0=nand0

mtdparts=mtdparts=nand0:0x6100000@0x1000000(fs),0x6100000@0x7a00000(fs_1),

setup=if test $active = 0; then ubi part fs; elif test $active = 1; then ubi part fs_1; else run tftprecover; fi

soc_version_major=2

soc_version_minor=0

stderr=serial@78B3000

stdin=serial@78B3000

stdout=serial@78B3000

tftprecover=sleep 10; setenv serverip 192.168.1.10 && setenv ipaddr 192.168.1.250; tftpboot 0x44000000 ${factoryimg} && nand device 0 && nand erase 0x1000000 0x6100000 && nand write $fileaddr 0x1000000 $filesize && nand erase 0x7a00000 0x6100000 && nand write $fileaddr 0x7a00000 $filesize && setenv active 0 && saveenv && reset



Environment size: 1879/262140 bytes

IPQ807x#

I get the feeling that maybe something is wrong in the trigger mechanism. Why is bootcount always set to 3? It feels like the condition to switch to tftprecover can't be met at all.

can you let us know of reasons to get the qnap ? I bought both the ax3600 and DL-WRX36 ... happy to support in buying the qnap but I would have thought the selection would have been based on the number of customers and adoption of the community not what is easy! not moaning i can go an get a qnap but adoption will have been a criteria that probably ax3600 will be on top followed by the dynalink.

I really dont get your point, nobody is telling you to buy the Qhora.
I got it cause it has 10G ports and is rather convenient for deving on it

1 Like

ok got it ... you answered the question... thought this was community of users and devs... i will buy the qhora if you stick to qhora

I dont see what the device I like to use affects you at all.
To put it simply, AX3600 is fine and all, but its barebones for deving SoC support, you start with the board that ideally has everything the SoC has to offer and then cut down, so if I had the HK01 reference board that is what I would use, but I dont have it so Qnap and AX9000 are the closest thing

thank you @robimarko i bought the qnap

My question is what for if you already have 2 devices?

well good point ... i was on the impression openwrt as I said is a community of users and devs... hence I haven't only bought these two devices but also ax9000 and now the qnap. Surely has to be a disclaimer for others on this forum/community but good fun to learn for me ... i will stick to your bargain/promise you are going to get qnap upstream :wink:

qualcomm in spite of all the bad reviews here for qsdk (and well rightly so .. i am sure they are doing well financially though ) have good devices and not as expensive and open (to some degree) as broadcom. Typically broadcom in all fronts like now buying Vmware... closed and proprietary software and ripping up users / customers .. all for opensource @robimarko

A few additions to my observation list:

  • igmp snooping doesn't work, but I'm not sure if this a problem with 802.11s or something else. My Netgear EX7300 with ath79 and 22.03rc5 work fine (but I don't use 802.11s there, just plain wds). I can't get my iptv receiver to work when connected to the dynalink. I'll try to dig a bit deeper into the whole stuff, haven't used 802.11s before
  • wds doesn't work at all, it can be configured via luci, a connection is established between two devies but I think ath11k doesn't support wds on the driver-side, so it's not a dynlink-only issue

OK, after some struggling I managed to get UART access finally.

EDIT: Just FYI, I was able to get OpenWRT flashed and running on it just fine by manually running like 'run tftprecover' from the UART. I guess it just wasn't auto-executing for some reason.

This is what I see on boot:

U-Boot 0.0.1-1-80112-CS (May 21 2021 - 09:29:10 +0800)

DRAM:  smem ram ptable found: ver: 1 len: 4
1 GiB
Led init ...
NAND:  Could not find nand_gpio in dts, using defaults
ONFI device found
ID = 1590aa2c
Vendor = 2c
Device = aa
qpic_nand: changing oobsize to 80 from 128 bytes
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   sdhci: Node Not found, skipping initialization

PCI0 is not defined in the device tree
PCI1 is not defined in the device tree
In:    serial@78B3000
Out:   serial@78B3000
Err:   serial@78B3000
machid: 8850105
MMC Device 0 not found
eth5 MAC Address from ART is not valid
Hit any key to stop autoboot:  0

Net:   MAC0 addr:2c:ea:dc:85:e3:bf
PHY ID1: 0x4d
PHY ID2: 0xd0b1
PHY ID1: 0x4d
PHY ID2: 0xd101
EDMA ver 1 hw init
Num rings - TxDesc:1 (0-0) TxCmpl:1 (7-7)
RxDesc:1 (15-15) RxFill:1 (7-7)
ipq807x_edma_alloc_rings: successfull
ipq807x_edma_setup_ring_resources: successfull
ipq807x_edma_configure_rings: successfull
ipq807x_edma_hw_init: successfull
eth0
IPQ807x# printenv
active=recovery
baudrate=115200
bootargs=console=ttyMSM0,115200n8 ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs
bootcmd=run bootcounter && run setup && run bootlinux
bootcount=3
bootcounter=if test $bootcount = 0; then setenv bootcount 1 && saveenv; elif test $bootcount = 1; then setenv bootcount 2 && saveenv; elif test $bootcount = 2; then setenv bootcount 3 && saveenv; elif test $bootcount = 3; then run chpart && setenv bootcount 4 && saveenv; elif test $bootcount = 4; then setenv bootcount 5 && saveenv; elif test $bootcount = 5; then setenv bootcount 6 && saveenv; elif test $bootcount = 6; then setenv active recovery && setenv bootcount 0 && saveenv && reset; fi
bootdelay=2
bootlinux=ubi read 0x44000000 kernel 0x80000000 && bootm 0x44000000#config@rt5010w-d350-rev0
chpart=if test $active = 0; then setenv active 1;  elif test $active = 1; then setenv active 0; fi
eth1addr=2c:ea:dc:85:e3:c0
eth2addr=2c:ea:dc:85:e3:c0
eth3addr=2c:ea:dc:85:e3:c0
eth4addr=2c:ea:dc:85:e3:c0
ethact=eth0
ethaddr=2c:ea:dc:85:e3:bf
factoryimg=openwrt-ipq807x-generic-dynalink_dl-wrx36-squashfs-nand-factory.ubi
fdt_high=0x4A400000
fdtcontroladdr=4a971480
flash_type=2
machid=8850105
mtdids=nand0=nand0
mtdparts=mtdparts=nand0:0x6100000@0x1000000(fs),0x6100000@0x7a00000(fs_1),
setup=if test $active = 0; then ubi part fs; elif test $active = 1; then ubi part fs_1; elif test $active = recovery; then run tftprecover; fi
soc_version_major=2
soc_version_minor=0
stderr=serial@78B3000
stdin=serial@78B3000
stdout=serial@78B3000
tftprecover=sleep 5 && setenv serverip 192.168.1.10 && setenv ipaddr 192.168.1.250 && tftpboot 0x44000000 ${factoryimg} && nand device 0 && nand erase 0x1000000 0x6100000 && nand write $fileaddr 0x1000000 $filesize && nand erase 0x7a00000 0x6100000 && nand write $fileaddr 0x7a00000 $filesize && setenv active 0 && saveenv && reset

Environment size: 1917/262140 bytes