I opened up an MX80 to see what was inside. Short summary:
CPU: AMCC PowerPC 460 APM86290
DRAM: 2 GB at 800MHz
NAND: 1024 MiB
HDD: 1TB WD Green
Bootlog: https://pastebin.com/rsE5RUt9
So the obvious questions:
Would it be possible to run anything other than the stock firmware on this?
Should I explore more (and how?) or should I just abandon it?
Did you get OpenWrt running on your MX80? How did you generate the bootlog? I tried getting connected via uart/serial but mostly get unintelligible text and characters. A few x's and f's.
This project has been 'on hold' during the summer, so not much progress.
The UART is marked 'J3' and has a baud rate of 57600.
Pins are:
1: Vcc
2: Rx
3: Tx
4: GND
Fun story here, I actually have a MX80 sitting in my closet but don't expect support anytime soon.
Specifically, that AMCC CPU had 0 mainline linux support last time I checked, so unless someone has the time and resources to port the Meraki GPL drop and work on up-streaming it, don't hold your breath for OpenWRT support.
The bootlog posted shows that the build date of the firmware is from mid-2018. Email open-source@meraki.com and request the GPL source code for the latest firmware. The MX80 is still under support until 2023, so it's likely still receiving firmware updates from Meraki.
If Meraki refuse to provide the GPL source code because the product is end-of-sale (as happened to me for the MS42) kindly remind them that under GPLv2 Section 3b they are required to provide the source code for any GPL binaries distributed in the last 3 years. End-of-sale is meaningless to the GPL, the build date is 2018, they're required to fork over the source code.
They should reply with the source code for the latest firmware, which will at least allow you to build the kernel and firmware.
Have you emailed open-source@meraki.com and did Meraki provide the GPL source code for your MX80? Without the source code, there won't be any progress toward a third-party firmware.
Instructions for building the OpenWRT source code and the Linux kernel for the MX80 are below.
After downloading and unpacking the tarball:
To build OpenWRT firmware:
cd meraki-firmware/openwrt
cp config-wired-powerpc-3.4 .config
make oldconfig
make -j1 BOARD=wired-powerpc-3.4 OPENWRT_EXTRA_BOARD_SUFFIX=_wired_3.4
To build Linux-3.4. kernel:
cd meraki-firmware/linux-3.4
cp ../openwrt/target/linux/wired-powerpc-3.4/config .config
make CROSS_COMPILE=../openwrt/staging_dir_powerpc_nofpu_wired_3.4/bin/powerpc-linux-uclibc- ARCH=powerpc oldconfig
make CROSS_COMPILE=../openwrt/staging_dir_powerpc_nofpu_wired_3.4/bin/powerpc-linux-uclibc- ARCH=powerpc prepare
touch rootlist
make CROSS_COMPILE=../openwrt/staging_dir_powerpc_nofpu_wired_3.4/bin/powerpc-linux-uclibc- ARCH=powerpc vmlinux
The U-boot source code for the MX80 you requested is available for download at
Hi Mihai, thanks a lot for requesting the source code from Meraki. I'll mirror it on GitHub so it's available for others to easily access.
OpenWrt support depends on a lot of factors, and if the earlier comments about the SoC not being in mainline Linux are correct, then it is unlikely that OpenWrt will support the device until the modifications are mainlined.
I don't own an MX80 myself, but I can take a look at the source code and see if it is possible to create a more flexible firmware from the source archive provided by Meraki.