Well, the docs are bit convoluted and they require a Python script that is not public, the only public script is the mkheader one that adds their filetype header to kernel which then U-boot uses.
We need to dump the QFPROM fuses that hold the certificate hash to see whether we have the right certificate, unfortunately I will be travelling for 10 days or so so I wont be able to work on anything.
looking forward to get an openwrt image that can be flashed permanently @robimarko apart from the memory how you feel this device compares to the xiaomi ax3600 ? ... if I can extend to the ax9000
lucky you mr thorsten from previous replies earlier i think yes you need uart .... for this device (vs ax9000) from my personal experience you will need to soldier the uart... hoping that this gets Robi's priority once the xiaomi ax3600 goes upstream with a PR... as the xiaomi 9000 is not viable I feel bearing in mind only the devices with the chinese firmware are viable
good job everyone was able to get the uart witha 4-pin 2.0mm (thx @Gost6 ) and load robi's openwrt itb image ... has anyone flashed the firmware on rootfs and then changed the bootcmd ? .. .forgot the openwrt images need to be signed if we are not to bypass bootipq...
I am traveliing, will look into it again once I return.
Though, there doesnt seem a way to avoid changing boot cmd and having to set the u-boot rootfs parts
yes ... i guess the upgrade script will probably have to set the bootcmd & other env variables via fw_setenv ... the challenge will be how to do uboot saveenv to populate mtd14 for people without uart or can copy a backup ...
unless of course we get the attestation cert or don't need it...
I was able to sysupgrade successfully a few times with the following logic on
target/linux/ipq807x/base-files/lib/upgrade/platform.sh
platform_do_upgrade() {
case "$(board_name)" in
dynalink,dl-wrx36)
active="$(fw_printenv -n active)"
if [ "$active" -eq "1" ]; then
# currently on rootfs_1 start switch to rootfs
CI_UBIPART="rootfs"
fw_setenv bootcmd 'run setpartfs;bootm 0x44000000#config@rt5010w-d350-rev0'
fw_setenv active 0
else
# currently on rootfs start switch to rootfs_1
CI_UBIPART="rootfs_1"
fw_setenv bootcmd 'run setpartfs1;bootm 0x44000000#config@rt5010w-d350-rev0'
fw_setenv active 1
fi
nand_do_upgrade "$1"
Does u-boot not have hush shell enabled? Ideally the active variable should only be needed, something like:
bootcmd=run setup && run bootlinux
setup=if test $active = 0; then ubi part fs ; else ubi part fs_1; fi
bootlinux=ubi read 0x44000000 kernel 0x80000000 ; bootm 0x44000000#config@rt5010w-d350-rev0
Might want to build in a failsafe too to tftp boot when fs and fs_1 both fail.
thank you @clayface yes indeed... makes sense your proposal ... i feel from a production perspective whatever logic we have the challenge is to build the uboot env variables for users without uart ... the device comes out with a mtd14 empty that needs to be populated with saveenv...