OpenWrt Support for Linksys SPNMX57 variants

Originally, I was supplied with a SPNMX56 by my ISP, but the two child nodes supplied by them were SPNMX57's.

I'm not too knowledgeable on OpenWrt, and in fact routers as a whole, but I do know that they are more or less computers, albeit with a less generalised purpose :slight_smile:

I also do know that I am very impatient, and being a software developer by nature, I don't necessarily like waiting around for others to do something I can do!

I'll post the bootlog and /sys/firmware/fdt file below (though, I really should've FTP'd it to my system, rather than create an octal dump), with any progress I've made below.

Feel free to chip in, and I would appreciate some guidance / pointers / starter tips!

Great, start at https://openwrt.org/docs/guide-developer/add.new.device.

can you scp or tftp the fdt file to your PC and then also, if you're in stock anyways, tar/zip the entire /etc/ directory upload it them somewhere?
Since the firmware of the device isn't published anywhere, I recommend you to make a backup of your device before tinkering with it..

EDIT: besides work, I'm prioritizing work on the spi-qpic-snand driver, completing support for Xiaomi AX6000 and fixing the clocks/reset issues impacting the 2.5GB WAN port on AX6000 and SPNMX56.

and @frollic

Thank you both for your responses - yes, I will tftp the file instead, I just wasn't really sure how to approach the issue, getting a decent serial terminal emulator was a pain (ended up with Termius).

I'll take a backup of the entire device as advised, but worst case scenario, I do have another SPNMX57 I can pull the firmware from.

George, it's not a worry mate, you do your thing, I'm more than happy to leverage some of this stress off your shoulders.

http://0x0.st/8J8l.zip

Full dump of the router's firmware, including:

  • bootlog
  • /sys/firmware/fdt (and the .dts created from that)
  • full /etc folder
  • full /tmp/var folder
  • each partition available at /dev/mtd
  • md5 checksums

Mirror: https://gofile.io/d/6qQoiY
md5 checksum:

448941bfe3835ea5bb75c1e63b0da912  SPNMX57_dump.zip

Haven't been able to do anything as of far, just thinking of how to set up a build system, considering I'm on macOS. I'm thinking podman may be a good approach.

@georgem83 It doesn't seem to be too different to the other SPNMX router variants, do you happen to spot any differences initially?

Physically it looks 1:1 with an SPNMX56, with the addition of one 2.5G LAN port, with the other two LAN ports being 1G. The WAN port has remained 2.5G.

checked the fdt a bit further. It looks like a relatively simple adaptation of the SPNMX56 and other Linksys devices. The main difference is that it uses a qca8386 switch which the qca8084 driver that was sent upstream should support. I know @Ansuel has been playing with it in the qualcommbe target, can you share if this driver is ready for primetime?

The SoC's internal GE Phy isn't used. Since the qca8386 switch has 4 QCA8084 PHYs capable of 2.5G each, I wonder why Linksys or qcom has implemented 2x 2.5G (1 for LAN and 1 for WAN) and 2x 1G links. Maybe, if we're lucky, we could enable them all with 2.5G..