I somehow managed to flash 21.02 rc1/2 to a Devolo Wifi Repeater AC, probably identical to EW-7476RPC). But I cannot make it boot automatically.
U-Boot insists in loading a kernel from 0xbc050000, the cimage partition. After installation of OpenWrt, this partion is truncated to 0x20000, the firmware partion, which contains kernel and rootfs, starts at 0xbc070000. So, booting from 0xbc050000 fails as expected. Manually booting the installed kernel using
bootm 0xbc070014
works fine and boots up the system successfully. For some reason, alternatively to manually booting from the U-Boot shell, I can also enter "5" to interrupt the boot process (probably just some invalid selection) to have U-Boot execute the "bootcmd" I have set, which is ignored otherwise ...
Booting from 0xbc070000 fails as well, U-Boot will complain of an invalid magic, which corresponds to the ASCII values of "CSYS".
As explained, it does not execute my "bootcmd" when I let is start without interruption, but tries to load from 0xbc050000 ... the beginning of the cimage partition, an address however, I do not find in the U-Boot environment ...
U-Boot 1.1.3 (Apr 24 2015 - 18:11:06)
Board: Ralink APSoC DRAM: 64 MB
gpiomode===>1a301c
after:gpiomode===>1a341c
Ralink UBoot ver: 4.0.1.0
ELX UBoot ver: 1.0.0 (Apr 24 2015 18:11:06)
Date:Apr 24 2015 Time:18:11:06
CPU: 580 MHz, MEM: 64 MB
Reset Phy by gpio 39
Please choose the operation: 1, 2, 3, 4, 9 0
3: System Boot system code via Flash.
## Booting image at bc050000 ...
Image Name: Linux Kernel Image
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1459090 Bytes = 1.4 MB
Load Address: 80000000
Entry Point: 802593c0
Verifying Checksum ... Bad Data CRC
Enter edimax Recovery Mode
.......Start http..............
However, if I enter "5" ... the bootloader chooses to execute my bootcmd:
U-Boot 1.1.3 (Apr 24 2015 - 18:11:06)
Board: Ralink APSoC DRAM: 64 MB
gpiomode===>1a301c
after:gpiomode===>1a341c
Ralink UBoot ver: 4.0.1.0
ELX UBoot ver: 1.0.0 (Apr 24 2015 18:11:06)
Date:Apr 24 2015 Time:18:11:06
CPU: 580 MHz, MEM: 64 MB
Reset Phy by gpio 39
Please choose the operation: 1, 2, 3, 4, 9
You choosed 5
0
System Boot Linux via Flash.
## Booting image at bc070014 ...
Image Name: MIPS OpenWrt Linux-5.4.111
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1978112 Bytes = 1.9 MB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64
Starting kernel ...
[ 0.000000] Linux version 5.4.111 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16046-59980f7aaf)) #0 Sun Apr 18 10:06:57 2021
[ 0.000000] Board has DDR2
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
Where does it get the address of 0xbc050000 from? Why would it ignore my "bootcmd" when left alone? Why would it execute it when I enter "5" (which is not a valid selection)? Why do I need to add that offset of 0x14 (length of CSYS header)?
to be honest: I do not remember in detail ... I have access to the serial console and to the boot loader console. I can interrupt the boot of the stock firmware, get an image over tftp and boot it:
I assume I transferred the sysupgrade image to /tmp and performed an installation using sysupgrade.
I am wondering whether it is possibe to have either the stock firmware or the "Edimax Recovery Mode" install an OpenWrt sysupgrade.bin file. However, Devolo seems to use a different file format that uses some "obfuscation" ...
I have managed to load it, but I see that it loads everything in tmp, if there was some way to make it permanent it would be very good, I am investigating to see what can be done, I have managed to install luci, but of course, at the first reboot everything is deleted and it has started again zero.