Different mtd layout for Linksys WRT32X and WRT3200ACM

can someone tell me what is the difference between these two flash layouts?

basically what is the mtd9 in the 3200 version that is occupying so much space?

hardware seems the similar.

also, does that mean that when installing openwrt (or even OEM firmware) each main and alternative partition have 80MB in 3200 and 123MB in 32x?

is that a backup firmware partition?

I am a noob in this area and my question is NOT for hardware development but just curiosity.
this also is the case in my personal router (wrt1200ac).

#1 Factor -- Where does the OEM boot loader expect the kernel to be?

Unlike a "PC", there's no MBR/GPT/EUFI boot. The boot loader loads code from a specific address, then executes it. Hopefully, it is something like a kernel :wink: otherwise ...

#2 Factor -- Where are "cal" data stored?

While possible to move, dangerous if an error is made.

mtd9, the 86 MB "syscfg" partition, is present on one layout, but not the other. Trying to "reshuffle" the partitions so that the space can be split between firmware and alt firmware is challenging due to #1 -- can't easily relocate the kernel.

1 Like

do you know what that syscfg stuff is?
cant be all config files can it?
and if it is some firmware why doesn't 32x have it?

At least on the EA8300, it seems to be space that the OEM firmware uses that is preserved over boots. I would guess it has to do with Linksys' cloud management, possibly for OTA upgrades, but that's a guess.

so 32x doesnt have that but 3200 does?
I am not asking as a developer (I am not one)
I am asking as a user about "wasted" space.

Yes, from your perspective, Linksys "wasted space" in how they partitioned the device. They partitioned it for their firmware and services, not OpenWrt.

It's partitioned that way in upstream Linux as well


another question:
is there a boot partition on these devices (like the ones mentioned here)?
is it a opensource boot?(if that even means anythin, I am only familiar with grub and only heard about u-boot).
is the boot (partition or mechanism) hardcoded?

for example you said boot loader (is it the same as boot? or we only have boot laoder never something called boot) expect the kernel to be at a specified place.
is that changeable ? if it is, is that hard to do? so much so that it is not worth the effort?
so maybe we could be able to change the layout of flash?
or it is but the changing that make the boot loader (or the recovery methods) not function properly.

There are typically a couple boot loader stages, one very low level, typically burned into the chip, that has enough "smarts" to load a simple second-stage boot loader from flash, which then might be, or might call U-Boot. U-Boot generally should have source provided, but it is pretty rare that it builds.

One could write their own U-Boot with enough low-level knowledge of the hardware, or a loader "shim" in place of the kernel, that then loads the kernel from somewhere else. Either are a lot of work, especially for a device that already has plenty of flash for sensible use as a border or internal router.

Also: Changing U-Boot to boot a kernel from a different location means that it is equally challenging to go back to stock, be that OEM or OpenWrt. Yes, fail-over boot would be a disaster until you manually flashed both partitions. sysupgrade probably wouldn't be worth modifying for the transition stages. The tricky part is that the partitioning is in the kernel, not the flash, so you've got a Catch-22 in how to change the partitioning. It's got to boot off the old partitioning, but write the new.

I remember that I wrote from serial(in boot?) in tplink which I think in a layer up of mtd? so maybe it is possible to create an image that have a different layout and then write that to flash?.

maybe I am not understanding it correctly.
thanks for all the answer and my curiosity is satisfied for now as now I know that I cant change the oem applied structure that easily.

btw I dont care to go back to oem firmware even though the openwrt one is not completely stable (I get some random reboots sometimes that I cant track down but it seems I am not the only one that gets them.)

What is your actual intention here? Aside from the the flash partitioning (and the colour of the case), both devices are identical and behave the same way, with the same bugs and features under OpenWrt (yes, partition sizes (80 MB vs 120 MB) and locations differ, but it's plenty in either case) are exactly the same. Changing the partitioning for the sake of it just doesn't make any sense, as you lose compatibility with the installed bootloader and both the OEM firmware and the (distributed) OpenWrt firmware images, while putting your device at a serious risk as well (bricking hard, risk of losing wifi calibration data) - for no tangible gain.

mostly curiosity.
I just wanted to know what I am missing between two device that are almost the same but with one having an 80MB "wasted" space.
thanks for the answers.

btw where should I post a "dmseg" log of my router random reboot to see if anyone can point me in a right direction.

and also I have heard that mvbeu (if I am spelling it correctly) linksys devices that are marvell based are no longer getting official support from their oem in respect to opens source development.
do you have any suggestion for my next router?
even a vague one?
I need high RAM (for running my apps on the router instead of running a 24/7 pc) and wireless capability mostly.

btw are you familiar with raspberry pie capability as a router and access point?
is the onboard wifi chip on RPi 4B capable of covering a home with 8 or so devices?

I am sorry if I asked too many questions.

That question fits perfectly in the Hardware Questions and Recommendations section of this forum.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.