[Solved] V22.03.0 release does not work on D-Link DIR-645

Please recover your router and post two bootlog from serial:

  • one after factory.bin / recovery of 21.02
  • another after sysupgrade.bin of 21.02 (yes, reflash it with sysupgrade)

No need for the whole bootlog, but please start it with the menu item:

3: System Boot system code via Flash.
## Booting image at bc050000 ...

... and include a few line from kernel, around to [ 0.000000] Initrd not found or empty - disabling initrd

When the device booted, please do a hexdump -C /dev/mtd5 (from the firmware partition)!
Both after factory.bin / recovery and after sysupgrade.bin!

I would like to know:

  • what memory address does use the UBoot to start the kernel? (that bc050000 looks good)
  • where does the kernel start on the flash?

@xabolcs

Hi, here is the bootlog from 21.02.3 factory.bin:

3: System Boot system code via Flash.
## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:1fa000
................................We have SEAMA, Image Size = 2072512
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...

[    0.000000] Linux version 5.4.188 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16554-1d4dea6d4f)) #0 Sat Apr 16 12:59:34 2022
[    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is D-Link DIR-645
[    0.000000] Initrd not found or empty - disabling initrd

And the bootlog from 21.02.3 sysupgrade.bin which is the same:

3: System Boot system code via Flash.
## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:1fa000
................................We have SEAMA, Image Size = 2072512
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...

[    0.000000] Linux version 5.4.188 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16554-1d4dea6d4f)) #0 Sat Apr 16 12:59:34 2022
[    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
[    0.000000] printk: bootconsolde [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is D-Link DIR-645
[    0.000000] Initrd not found or empty - disabling initrd

mtd5 (firmware) partition hexdump from 21.02.3 factory.bin:

mtd5 (firmware) partition hexdump from 21.02.3 sysupgrade.bin:

1 Like

I have some progress combining Device/uimage-okli-loader and Device/seama, but it's surely wrong. :sweat_smile:

$ binwalk bin/targets/ramips/rt3883/openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             DLOB firmware header, boot partition: "dev=/dev/mtdblock/2"
112           0x70            OKLI uImage header, header size: 64 bytes, header CRC: 0xE15DEA2E, created: 2022-09-24 15:53:52, image size: 1596182 bytes, Data Address: 0x80000000, Entry Point: 0x80000000, data CRC: 0x3931CA49, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS OpenWrt Linux-5.10.143"
176           0xB0            LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 5341087 bytes
1597488       0x186030        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2852922 bytes, 968 inodes, blocksize: 1048576 bytes, created: 2022-09-24 15:53:52

$ binwalk bin/targets/ramips/rt3883/openwrt-ramips-rt3883-dlink_dir-645-squashfs-sysupgrade.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             SEAMA firmware header, big endian, meta size: 36, image size: 4450298
32            0x20            Unix path: /dev/mtdblock/2
64            0x40            OKLI uImage header, header size: 64 bytes, header CRC: 0xE15DEA2E, created: 2022-09-24 15:53:52, image size: 1596182 bytes, Data Address: 0x80000000, Entry Point: 0x80000000, data CRC: 0x3931CA49, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS OpenWrt Linux-5.10.143"
128           0x80            LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 5341087 bytes
1597440       0x186000        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2852922 bytes, 968 inodes, blocksize: 1048576 bytes, created: 2022-09-24 15:53:52

That OKLI uImage header should go after 0x1000, as the real loader should be at 0x40. But I'm not good at OpenWrt recipe manipulation! Let me continue.

At last!

This is the binwalk output I'm searching for:

$ binwalk bin/targets/ramips/rt3883/openwrt-ramips-rt3883-dlink_dir-645-squashfs-*.bin 

Scan Time:     2022-09-26 07:35:18
Target File:   bin/targets/ramips/rt3883/openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory.bin
MD5 Checksum:  e50db4c36eaefb2f4675468b159a148c
Signatures:    392

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             DLOB firmware header, boot partition: "dev=/dev/mtdblock/2"
112           0x70            LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 16384 bytes
4144          0x1030          OKLI uImage header, header size: 64 bytes, header CRC: 0x5383CD93, created: 2022-09-26 05:22:12, image size: 1596143 bytes, Data Address: 0x80000000, Entry Point: 0x80000000, data CRC: 0xB664287A, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS OpenWrt Linux-5.10.143"
4208          0x1070          LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 5341087 bytes
1601584       0x187030        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2852930 bytes, 968 inodes, blocksize: 1048576 bytes, created: 2022-09-26 05:22:12


Scan Time:     2022-09-26 07:35:19
Target File:   bin/targets/ramips/rt3883/openwrt-ramips-rt3883-dlink_dir-645-squashfs-sysupgrade.bin
MD5 Checksum:  5975419001823838d72b3baea701a3f6
Signatures:    392

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             SEAMA firmware header, big endian, meta size: 36, image size: 4454402
32            0x20            Unix path: /dev/mtdblock/2
64            0x40            LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 16384 bytes
4096          0x1000          OKLI uImage header, header size: 64 bytes, header CRC: 0x5383CD93, created: 2022-09-26 05:22:12, image size: 1596143 bytes, Data Address: 0x80000000, Entry Point: 0x80000000, data CRC: 0xB664287A, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS OpenWrt Linux-5.10.143"
4160          0x1040          LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 5341087 bytes
1601536       0x187000        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2852930 bytes, 968 inodes, blocksize: 1048576 bytes, created: 2022-09-26 05:22:12

@account4538, here is the archive with the binaries, please have a try: dir-645-22.03-seama-okli-loader-copy-paste.tar.xz
Meh! I forgot to edit the DTS, so it won't able to find the rootfs ... but if it's able to boot the kernel then we're good! :grinning:

EDIT: and here is the new one with updated DTS: dir-645-22.03-seama-okli-loader-copy-paste-dts.tar.xz

Hey @xabolcs making progress.... you fixed that LZMA error! Both sysupgrade & factory.bin then stops at starting kernel...

sysupgrade.bin:

U-Boot 1.1.3 (Apr 15 2011 - 10:39:36) (ALPHA)
SVN revision: 516
Target board: WRG-N39

Board: Ralink APSoC DRAM:  64 MB
spi_wait_nsec: 30
spi device id: c2 20 17 c2 20 (2017c220)
find flash: MX25L6405D
raspi_read: from:30000 len:1000
.raspi_read: from:30000 len:1000
.============================================
Ralink UBoot Version: 3.3
--------------------------------------------
ASIC 3883_MP (MAC to REALTEK Mode)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Apr 15 2011  Time:10:39:36
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768
gpio_init: write 0x00001801
gpio_init: write 0x0000185d to GPIOMODE(0xb0000060)

 Initializing RTL8367 GbE switch ...
 Setting RTL8367RB RGMII Delay time tx:1,rx0

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: System Boot system code via Flash.
## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:43f862
....................................................................We have SEAMA, Image Size = 4454434
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...

factory.bin:

U-Boot 1.1.3 (Apr 15 2011 - 10:39:36) (ALPHA)
SVN revision: 516
Target board: WRG-N39

Board: Ralink APSoC DRAM:  64 MB
spi_wait_nsec: 30
spi device id: c2 20 17 c2 20 (2017c220)
find flash: MX25L6405D
raspi_read: from:30000 len:1000
.raspi_read: from:30000 len:1000
.============================================
Ralink UBoot Version: 3.3
--------------------------------------------
ASIC 3883_MP (MAC to REALTEK Mode)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Apr 15 2011  Time:10:39:36
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768
gpio_init: write 0x00001801
gpio_init: write 0x0000185d to GPIOMODE(0xb0000060)

 Initializing RTL8367 GbE switch ...
 Setting RTL8367RB RGMII Delay time tx:1,rx0

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: System Boot system code via Flash.
## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:440004
.....................................................................We have SEAMA, Image Size = 4456388
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...

Thanks for testing!
Looks like, the mini "OpenWrt kernel loader" program doesn't start. :confused:

We had to find out why. :woman_shrugging:

Here is my next try: dir-645-22.03-seama-okli-loader-copy-paste-dts-factories.tar.xz

It packs that mini program differently.

Ok here's what I got...

openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad16k.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-sysupgrade.bin

all stop at Starting kernel

openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad32k.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad32k-relocate.bin

show:

Starting kernel ...



OpenWrt kernel loader for MIPS based SoC
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Looking for OpenWrt image... not found! (at 0xbc052000)

System halted!

openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader-relocate.bin

show:

Starting kernel ...



OpenWrt kernel loader for MIPS based SoC
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!
Starting kernel at 80000000...

I hope this helps...

1 Like

It's very interesting that those factory-uimage-lzma-loader.bins produced some output. Looks like I messed up something in my prevoius dir-645-patch-dir-860l-style-no-relocate.patch patch. :sweat_smile:

Here is my another try: dir-645-22.03-seama-okli-loader-copy-paste-dts-debug.tar.xz

For the original factory.bin and the pad32k factories: please boot them more than once and notice the "not found (data, at address)" messages!

		p = flash_base + flash_ofs;
		magic = get_be32(p);
		if (magic == IH_MAGIC_OKLI) {
			hdr = (struct image_header *) p;
			break;
		}
		printf("not found! ('0x%08x' at 0x%08x)\n", magic, p);

If the data part is changing between boots then the Loader is unable to read the flash on this SoC. :confused:


I hope the uimage-lzma-loader variant works!

Ok in this batch:
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad32k.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad32k-relocate.bin

we have:

Starting kernel ...



OpenWrt kernel loader for MIPS based SoC
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Looking for OpenWrt image... not found! (at 0xbc052000)

System halted!

I did reboot multiple times and 0xbc052000 did not change.

This batch:
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader-relocate.bin

has the LZMA error and then bootloops:

## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:44c004
.....................................................................We have SEAMA, Image Size = 4505540
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... LZMA ERROR 1 - must RESET board to recover

I didn't try the sysupgrade.bin - I didn't know if it was a different patch or not but can try it if you need me to.

Ahh, I missed the updated loader, as it's change wasn't compiled.

The diff is here:

diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 4143dcc92617..323b48a0709f 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -233,18 +233,17 @@ endef
 define Device/seama-okli-loader
   $(Device/uimage-okli-loader)
   $(Device/seama)
-  IMAGES += factory-pad16k.bin factory-pad32k.bin factory-pad32k-relocate.bin factory-uimage-lzma-loader.bin factory-uimage-lzma-loader-relocate.bin
-  IMAGE/default := append-loader-okli $(1) | pad-to 16k | lzma | \
+  IMAGES += factory-pad32k.bin factory-pad32k-relocate.bin factory-uimage-lzma-loader.bin factory-uimage-lzma-loader-relocate.bin
+  IMAGE/default := append-loader-okli $(1) | pad-to 64k | lzma | \
 	pad-to 4032 | append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
   IMAGE/sysupgrade.bin := \
 	$$(IMAGE/default) | seama | pad-rootfs | check-size | append-metadata
   IMAGE/factory.bin := \
 	$$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size
-  IMAGE/factory-pad16k.bin := append-loader-okli $(1) | pad-to 16k | lzma | pad-to 4032 | append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
   IMAGE/factory-pad32k.bin := append-loader-okli $(1) | pad-to 32k | lzma | pad-to 4032 | append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
   IMAGE/factory-pad32k-relocate.bin := append-loader-okli $(1) | pad-to 32k | relocate-kernel | lzma | pad-to 4032 | append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
-  IMAGE/factory-uimage-lzma-loader.bin := kernel-bin | append-dtb | lzma | loader-kernel | lzma -a0 | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
-  IMAGE/factory-uimage-lzma-loader-relocate.bin := kernel-bin | append-dtb | lzma | loader-kernel | relocate-kernel | lzma -a0 | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
+  IMAGE/factory-uimage-lzma-loader.bin := kernel-bin | append-dtb | lzma | loader-kernel | lzma -a0 | uImage lzma | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
+  IMAGE/factory-uimage-lzma-loader-relocate.bin := kernel-bin | append-dtb | lzma | loader-kernel | relocate-kernel | lzma -a0 | uImage lzma | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | pad-rootfs -x 64 | seama | seama-seal | check-size
 endef
 
 include $(SUBTARGET).mk
diff --git a/target/linux/ramips/image/lzma-loader/src/loader.c b/target/linux/ramips/image/lzma-loader/src/loader.c
index b838db2e1120..e6f1ca59dbf2 100644
--- a/target/linux/ramips/image/lzma-loader/src/loader.c
+++ b/target/linux/ramips/image/lzma-loader/src/loader.c
@@ -191,10 +191,11 @@ static void lzma_init_data(void)
 			hdr = (struct image_header *) p;
 			break;
 		}
+		printf("not found! ('0x%08x' at 0x%08x)\n", magic, p);
+
 	}
 
 	if (hdr == NULL) {
-		printf("not found! (at 0x%08x)\n", flash_base + flash_ofs);
 		halt();
 	}
 

I the uImage header to the uimage-lzma-loader*.bins and modified the printfs in loader.c.

Looks like your U-Boot doesn't like uImage header.

Here is my rebuild: dir-645-22.03-seama-okli-loader-copy-paste-dts-rebuild.tar.xz

The uimage-lzma-loaders should behave like ones from the factories.tar.xz:

The others should start the loader and have their new printf!

Hi on these we have:

openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad32k.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-pad32k-relocate.bin

all 3 have this output:

## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:440004
.....................................................................We have SEAMA, Image Size = 4456388
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...



OpenWrt kernel loader for MIPS based SoC
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Looking for OpenWrt image... not found! ('0xddbaddba' at 0xbc051000)

System halted!

openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader.bin
openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader-relocate.bin

both have this output:

## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:44c004
.....................................................................We have SEAMA, Image Size = 4505540
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...



OpenWrt kernel loader for MIPS based SoC
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!
Starting kernel at 80000000...
1 Like

badbadbadbadbadba ... this won't work. :confused:

factory-uimage-lzma-loader.bin this will work, but I don't have any thoughts. :frowning:

Hmm something must have changed from 21.02 to 22.03

These LZMA ERROR 1 errors are from kernel size increase a.k.a. kernel version bumps.

I don't know something. Commit 09faa73c53bd097666cbbe68176dd46cfcf80ee8 is included in 21.02 too:

But the 21.02 boot logs doesn't include the "OpenWrt kernel loader ..." output, like below:

Looks like the included $(Device/uimage-lzma-loader) recipe never ever worked for this device? :thinking:

Hi @csharper2005!

You made LZMA_TEXT_START configurable for the ramips platform! :pray:
You wrote exact values in your commit why you needed that for Beeline Smartbox GIGA.

2. This device (same as other Sercomm S2,S3-based devices) requires
   special LZMA and LOADADDR settings for successful boot:
      LZMA_TEXT_START=0x82800000
      KERNEL_LOADADDR=0x81001000
      LOADADDR=0x80001000

If you read back in this thread you can see that the kernel loader starts, but is unable to start the uncompressed kernel.

How did you find that new value for LZMA_TEXT_START?

EDIT: @account4538, my next try with LZMA_TEXT_START=0x82800000: dir-645-22.03-seama-okli-loader-copy-paste-dts-text40m.tar.xz, please try both factory.bin!

YOU DID IT!!
We have a winner...

openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory.bin

3: System Boot system code via Flash.
## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.raspi_read: from:50000 len:c
.raspi_read: from:50000 len:446004
.....................................................................We have SEAMA, Image Size = 4480964
Verifying Checksum ...
Uncompressing SEAMA linux.lzma ... OK
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...



OpenWrt kernel loader for MIPS based SoC
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!
Starting kernel at 80000000...

[    0.000000] Linux version 5.10.143 (xabolcs@ut2004) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r19160+542-7ea2f3d6e2) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Tue Sep 27 19:13:45 2022
[    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is D-Link DIR-645
root@OpenWrt:/# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='22.03-SNAPSHOT'
DISTRIB_REVISION='r19160+590-7ea2f3d6e2'
DISTRIB_TARGET='ramips/rt3883'
DISTRIB_ARCH='mipsel_74kc'
DISTRIB_DESCRIPTION='OpenWrt 22.03-SNAPSHOT r19160+590-7ea2f3d6e2'
DISTRIB_TAINTS='no-all'

I did not try openwrt-ramips-rt3883-dlink_dir-645-squashfs-factory-uimage-lzma-loader-40m.bin or the sysupgrade so if you want me to no problem.

NICE WORK! :tada:

1 Like

:partying_face:

Thanks for helping to debug! :pray:


Please try the sysupgrade method too: scp to the sysupgrade.bin to /tmp/ and:

# sysupgrade /tmp/openwrt....-sysupgrade.bin

No need to try the uimage-lzma-loader-40m.bin!

I'm trying to cook a patch (and a firmware to verify) for master branch, to get accepted and to backport to 22.03.

Hi @xabolcs! As far as I know @kar200 managed to find this value during the experiments.

My thoughts (I could be wrong)... Default values for mt7621:

KERNEL_LOADADDR=0x80001000
LZMA_TEXT_START=0x81800000

Beeline Giga requires KERNEL_LOADADDR=0x81001000 (0x1000000 more than default) so we need to increase LZMA_TEXT_START by 0x1000000 too.

1 Like