Been using OpenWrt for a long time so I'm pretty familiar with the UART and Serial connections. Recently I seem to have fried my UART adapter (RXD is always on for some reason) and I have a need to upgrade some MX60 units.
I already successfully completed this upgrade on my MR16 without UART.
IS there an equivalent "I_want_a_brick=1" method to flash the MX60? These units aren't mission critical, but I would like them to survive without me buying another UART adapter (something I'm working on today/this week)
My current version is OpenWrt 21.02.3 r16554-1d4dea6d4f / LuCI openwrt-21.02 branch git-22.083.69138-0a0ce2a
Upgrading from 21.02 to 22.03 should be straightforward, using the normal sysupgrade process. You should not need serial or anything special - just download the sysupgrade image and use the built-in firmware upgrade method.
Having serial available is always a good idea in case things go sideways, but this particular upgrade should be pretty simple and drama free.
For the MX60 and MX60W have some Kernel issue where we need to repartition some of the MTD in order to make it large enough for the newer Kernels. It says you need to do it via UART, and when I upload the sysupgrade image it tells me a bunch of warnings about upgrade not supported.
I see that in the documentation for the initial installation and also for the ar71xx to ath79 transition. But where are you seeing that the sysupgrsde from 21.02 to 22.03 requires serial (it is possible I’m just missing it).
Well, that is the image I would have recommended. So it does seem that you need the serial adapter after all. Or, at least, I’m not going to tell you to force the upgrade without one because I don’t want to put you at risk to brick the thing.
Serial adapter ordered. The MR16 had the same UART requirement, but I was able to flash by hacking some files on the device to reformat the mtd partitions to a larger size during the flash.
From within OpenWrt, you can use fw_setenv and its kin to change boot environment variables without a UART. It's also important to increase meraki_loadaddr to properly load and boot the new larger kernels.
The issue is I don't know what to change it to in order to make it large enough, but the process is fully documented using uboot and loading a kernel from tftp via UART.
A second question: Maybe my flash is already laid out with large enough partitions. What commands would I use to check existing partition sizes, and what is the size needed to support newer kernels? Is it 10MB?
I think the only thing needed between the wiki instructions and a new version is to change meraki_loadaddr from the factory original 800000 to 1000000. That is a change to RAM utilization not flash, it provides 16 MB of space for the uncompressed kernel instead of 8.
Now that I've processed what was said, I think the following is true.
The RAM change from 8000000 to 1000000 is just an env variable that needs to be updated, and I should be able to use the firmware tools to make the change from within openwrt.
From within OpenWRT env I did fw_setenv meraki_loadaddr=1000000 and it fails to boot now with amber LED. Will be plugging in the UART soon I guess to sort that out.
Any ideas why changing the ram size breaks what I have going?