Catching up, the long list of TODOs has gotten quite a bit shorter. Quick summary, with the warning that there are some caveats to this list
- Boots from NAND
- sysupgrade works
- Wireless is up and running
- Factory images can be flashed through OEM GUI
Lots of little details in there, but things are moving along (more details on the README.md in my GitHub repo)
The bigger gaps ahead to resolve include:
- Overriding OEM bootargs (for serial-less install and easier revert to OEM)
- Switch configuration -- operational, but not "taking" different config (Similar reported on EA6305v3)
- Need to (select and) package IPQ4019 board files and perhaps QCA9888 board file
firstboot isn't erasing the overlay
sysupgrade doesn't seem to want to switch from mtd11 to mtd13 the first time, but does the second, or some such silliness
Dealing with the bootargs is the most annoying right now.
The approach used in
0067-generic-Mangle-bootloader-s-kernel-arguments.patch doesn't seem to help as it doesn't seem that ATAGs are being passed, just the FDT. That this is done before the kernel is running in any meaningful way (still in assembly-code sections) makes it hard to debug. (
head.S branches to the entry point of
arch/arm/boot/compressed/atags_to_fdt.c) I've poked into early
init and may need to do it there.
If someone reading this knows how to assemble two IPQ4019 board files (from OEM firmware, of which there are AH, EU, IC, and FCC pairs) into
board-2.bin format, a PM would be appreciated. I've found the Swiss army knife, but haven't figured out which of the tools, if any, can perform that task.
Thanks perhaps to the patches on
master, the QCA9888 seems tamed. It looks like something between February 28th and March 1st resolved it; probably Felix's related to race conditions and resetting. I'm crossing my fingers that it didn't just fix itself because I posted the issue with upstream! Thanks to Ben for looking into things as well. The best and worst kind of issues -- they resolve themselves, yet you have no idea why. At least after spending so much time testing and documenting, it seems fixed one way or another.
- On Linux 4.19 using a handful of cherry-pick commits from @chunkeey's staging tree
- Now using DSA for the switch, so VLANs are "sensible" -- though
bridge is required and there is no UCI integration
- Images will now boot without U-Boot environment modifications; install from OEM web interface without serial required.
Getting into the first moments of when Linux starts up to accomplish that last one was pretty ugly. Yes, you should start worrying when the comment begins
* OK... Let's do some funky business here.
Quite a journey, especially as there isn't anything even close to a console or message buffer when you're in
head.S assembly code, long before
init takes over.
The main remaining "wonkiness" is around
boot_part and U-Boot wanting to rewrite the environment for no good reason I can tell (checksum is good). At least now with OEM bootargs in U-Boot I've got a better test platform for this.
Still need to combine the two board.bin files for 2.4 and 5 GHz on the IPQ4019's radios into a board-2.bin form, and decide which of the pairs makes sense to submit upstream.
At least one of these commits or a variant appear to be in
master at this time.
jeff@deb-devel:~/devel/openwrt-ea8300$ git log --pretty=oneline --abbrev-commit master-cp ^master
1db1612bbc (master-cp) ipq40xx: include ipq40xx-ized qca8k version
2db429cf34 ipq40xx: fix NPE related to bogus use of fixed phy
505cfcfb1c ipq40xx: extend DT mdio node to be more accessible
abf050221c ipq40xx: add ipqess ethernet driver
2d6352f8b1 ipq40xx: add resets for individual MAC1-5 and PSGMII
fce445b243 ipq40xx: decouple mdio-ipq40xx and ar40xx
99e74d2e90 phytool: add phytool utility
c83b9fec9e ipq40xx: fix phy interrupt setting
Commit c83b9fec9e appears to have the same "title" as commit 784f2e73df on
2019-04-10 -- Pull Request On 4.14 Submitted
After poking at DSA under Linux 4.19 for quite a while, I decided that it is still too "experimental" to wait for.
Thanks to all that have provided both technical and non-technical support, here, on the mailing list, and on IRC.
Accepted for merge, thanks to all that helped. Please open a new thread if you have any questions about the device running on official snapshots or future releases.