Well, except for git that is . Figured I'll rebased my ravpower branch to hootoo now, thought that made sense. Now I have a bunch of commits. Arrgh, git kills me!
$ git reset --hard arrmo/hootoo-tm05
HEAD is now at 8f23744452 ramips: Add support for HooToo TM05
$ git checkout ravpower-wd03
Previous HEAD position was 8f23744452 ramips: Add support for HooToo TM05
Switched to branch 'ravpower-wd03'
Your branch is up to date with 'arrmo/ravpower-wd03'.
$ git rebase hootoo-tm05
First, rewinding head to replay your work on top of it...
Applying: ramips: Add support for HooToo TM05
Using index info to reconstruct a base tree...
M package/boot/uboot-envtools/files/ramips
M target/linux/ramips/image/Makefile
M target/linux/ramips/image/mt7620.mk
M target/linux/ramips/mt7620/base-files/etc/board.d/02_network
M target/linux/ramips/mt7620/config-4.14
M target/linux/ramips/mt7620/config-5.4
Falling back to patching base and 3-way merge...
Auto-merging target/linux/ramips/image/mt7620.mk
CONFLICT (content): Merge conflict in target/linux/ramips/image/mt7620.mk
Auto-merging package/boot/uboot-envtools/files/ramips
error: Failed to merge in the changes.
Patch failed at 0001 ramips: Add support for HooToo TM05
hint: Use 'git am --show-current-patch' to see the failed patch
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Here would happen the magic: you had to skip the old, superseded HooToo commit!
$ git rebase --skip
Applying: ramips: Add support for RAVPower WD03
$ git log
commit 45566406e0aebbbfec99bd492e12867f1ca45f89 (HEAD)
Author: Russell Morris <rmorris@rkmorris.us>
Date: Tue Jul 14 21:23:53 2020 -0500
ramips: Add support for RAVPower WD03
Signed-off-by: Russell Morris <rmorris@rkmorris.us>
commit 8f237444520a795dba410c830ec42d315f39811e (arrmo/hootoo-tm05, hootoo-tm05)
Author: Russell Morris <rmorris@rkmorris.us>
Date: Tue Dec 24 18:38:36 2019 -0600
ramips: Add support for HooToo TM05
The HooToo TM05 is a battery powered router, with an Ethernet and USB port.
Vendor U-Boot limited to 1.5 MB kernel size, so use lzma loader (loader-okli).
MAC assignment based on vendor firmware,
2.4 GHz, *:b4 (factory 0x04)
LAN/label, *:b4 (factory 0x28)
WAN, *:b5 (factory 0x2e)
Specifications:
SOC: MediaTek MT7620N
.
.
.
Thanks! Will dig into this. Right now, fighting to get the RAVPower flashed. Seems I don't have a flash file from the vendor ... only HooToo, and that doesn't seem to be happy for some reason? I have the fw file from the vendor => not sure how to extract the flash from it .
Will do, thanks! I can see the elements (bootloader, kernel, rootfs) inside the archive file, just need to turn those into a flash image somehow ... LOL.
Funny, again we're thinking alike! Did that ... but no joy. Wondering now, do I need to "zero out" (0xFF) the unused portion of that 192kB. Hmmm. Will try that, as dd built me the file, flashed it, but still won't boot (i.e. no serial output at all).
Pulling my hair out again ... . OK, flashrom is a bit of a PITA - even to program a section, you have to have a full sized file. NP, here is what I did - yell if you see anything wrong!
dd if=/dev/zero bs=8M count=1 | tr "\000" "\377" > u-boot.full.bin
hexdump -C u-boot.full.bin
=> yep, file is 8M, all 0xFF
dd if=u-boot.bin of=u-boot.full.bin conv=notrunc
=> bootloader at the start of the file
flashrom -l rom.layout -i u-boot -w u-boot.full.bin -p linux_spi:dev=/dev/spidev0.0,spispeed=2000
So this has only the bootloader, but won't boot ... no serial, no LED's (normal sequence I mean), no ethernet. Wondering if it needs the u-boot-env or config perhaps?
So tried replacing u-boot (only) in the HooToo image => still no joy (and no serial, no LED's like expected, no ethernet). Dang it! And no luck finding a flash image for the RAVPower (like I have for the HooToo).
@arrmo I don't want to be "that guy" but I am anyway
do a full backup of flash for every device you work on. It can be done through LuCI on an initramfs.bin. I've done it over serial and TFTP on OEM image too.
BTW if you hate flashrom yet, feel free to install Adafruit Blinka and try my scripts. It should be an easy edit to get it working on RPi
OK, the RAVPower is back up and running ... sort of . I stumbled on to it, but it seems that during that "large" erase, something got broken. If I leave the flash programmer connected, then it will boot. It seems to me like the power supply went, and that gets provided by the flash programmer. So a bit of a fragile setup, but I will try to continue now. And FYI, the bootloader does seem to have a (subtle?) difference ... the address in the rows below is different in the two cases,
If you have some backup then you could flash it! Bootloader is there. How about Config and Factory OEM partitions? In case you don't have a WD-03 backup, then you could try from your HooToo TM-05 backup!
Did you try flashing kernel.bin and rootfs.bin through TFTP recovery from your PR?
Yep, exactly what I did! HooToo flash (from the vendor), and then replaced the bootloader. No joy, lots of errors (trying to boot OEM), like the following,
[ 19.576000] SQUASHFS error: Unable to read data cache entry [1c6b18]
[ 19.588000] SQUASHFS error: Unable to read page, block 1c6b18, size 9ae8
[ 19.604000] SQUASHFS error: Unable to read data cache entry [1c6b18]
[ 19.616000] SQUASHFS error: Unable to read page, block 1c6b18, size 9ae8
Yep, that was my next step - we're on the same page! LOL. But getting,
[ 0.736420] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 0.751398] Please append a correct "root=" boot option; here are the available partitions:
[ 0.768050] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 0.785388] Rebooting in 1 seconds..
And if I boot from initramfs, /proc/mtd is completely empty