Cisco Meraki MX64/MX65 image support

I made that for my image using a youtube video I saw. and updated the boot image before compiling

I had the same issue the first time with wget return 8, I think I had to set the nameserver / dns and then it worked. Which packages did you set when you compiled?

Banner is set on /home/"user"/openwrt/package/base-file/files/etc/banner

  __  __ ______ _____            _  _______   __  ____   __ __ _  _   
 |  \/  |  ____|  __ \     /\   | |/ /_   _| |  \/  \ \ / // /| || |  
 | \  / | |__  | |__) |   /  \  | ' /  | |   | \  / |\ V // /_| || |_ 
 | |\/| |  __| |  _  /   / /\ \ |  <   | |   | |\/| | > <| '_ \__   _|
 | |  | | |____| | \ \  / ____ \| . \ _| |_  | |  | |/ . \ (_) | | |  
 |_|  |_|______|_|  \_\/_/ _  \_\_|\_\_____|_|_|__|_/_/_\_\___/  |_|  
      / __ \|  __ \|  ____| \ | \ \        / /  __ \__   __|          
     | |  | | |__) | |__  |  \| |\ \  /\  / /| |__) | | |             
     | |  | |  ___/|  __| | . ` | \ \/  \/ / |  _  /  | |             
     | |__| | |    | |____| |\  |  \  /\  /  | | \ \  | |             
      \____/|_|    |______|_| \_|   \/  \/   |_|  \_\ |_|             
       Clayface Branch                                                    
 %D %V, %C

Up for about 6 days with no issue at all. Running as my main router currently

I have the same issue as @ninjAli85
can you share your compiled image?
or maybe the youtube video you used?
im currently booted into snapshot(used the compiled image of @zerg91) and seeing a lot of strange errors while trying to install luci.

Some images:

mx64-a0 might give an error if moving from the bcm5862x platform because the device name has changed (mx64a0/mx64-a0). Might need to force the update for it to work.

This is on the bcm53xx platform now so opkg should be fine. There are also some applications pre-installed.

Any big issues let me know.


Thanks much appreciated ! Everything seems to be working now.

1 Like

So use the original image and then upgrade to this?

yes that will work fine

Hi, first of all many thanks for your efforts to bring openwrt to Meraki hardware.
If not for the money, at least for the environmental impact of giving new life to these dead pieces of iron. So, very appreciated.

BTW can you share the related initramfs-kernel.bin image as well? In my case the MX64-A0 since my mtd0 is locked.


The same situation: locked mtd0 block on Meraki MX64W-A0.

Thanks for efforts of all!

How do I compile an image with an updated kernel version? 5.10.80?
Sorry I am new at this

Clone the master branch and build (master was updated to 5.10.80 two days ago, so recent master snapshots should have it as well).

Hi, Can I use:
./mtd write uboot_mx64 /dev/mtdblock0
dd if=uboot_mx64 of=/dev/mtdblock0
Because "dd" command is missing!

My logs:

Images, if someone needed them:

Hello! I have a MX64 decommissioned. In case someone needs it to work on creating an image for it, you can let me know.

2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
Bad Bootkernel magic

The USB is the problem here. Do you have if formatted correctly (DOS partition table, FAT32)?

1 Like

Thank you very much. Yes my USB flash drive was formatted FAT32 MBR. I have tried several file formats formatted from Windows, Linux on several USB flash drives, but always have a single blink only. Maybe it's a hardware issue. Thank you again, when I know the root cause of the problem, I will try to find a solution.

Yesterday, I successfully flashed the device! I'm not sure about correct procedure (after the 1000th time), but I'm almost sure, that I left the device to boot to the Meraki firmware and then I restarted from the reset button and not from a power line. In this way USB drive is already found (in the real time logs you can see this) and after soft boot process, the device immediately find an USB drive and flash the initramfs kernel image.

Messy log: log file. Take a look from [ 17.368000] to [ 17.472000].

Images are good and tested, at least for MX64W device - A0 version.

Thanks, for the help!

1 Like

Yesterday, I also successfully installed OpenWrt on my MX65. However, initially, I struggled a little bit. Takeaway:

  • Press reset to enter recovery which allows reading USB mass storage.
  • Use dd if=uboot_mx65 of=/dev/mtdblock0 to replace U-Boot.
  • Don't use the MX65 image posted by @clayface on October 9 as that one is somehow huge (>34 MB vs. barely 6 MB) and gave me an undefined instruction error in U-Boot.
  • When building one's own image the following configuration also builds the initially required initramfs one: Target Images ---> [*] ramdisk.

With that, it was all smooth sailing. Thanks!

1 Like

@sumo that is a strange error. The image is my personal one (with a ton of stuff added) used on two devices here.

A few issues left to resolve on these, I'll give some details:

The kernel is limited to 3MB in this current setup due to the partition layout, using one of the bootkernel partitions. On the MR32 (which has a similar layout) the OEM bootkernel is kept. This kexecs, so this can be used to house the OpenWrt kernel. However there are issues when doing this on the MX64/MX65. Firstly the MX64/65 bootkernel resets the coherency regs(unique to this bcm5862x platform), which makes most things stop working unless the 'dma-coherent' property is removed in the device tree (in theory this should affect performance as well). Secondly the i2c bus stops working, needed for the at24 and the PoE.

It was suggested to change u-boot and directly boot an ubi stored fit image. This might be an option however u-boot partition is also restricted to 512KiB, so adding too many extra features makes the image too large. However we can maybe move shmoo, nvram etc to the end (there is 1MB unused at the end of the partition layout iirc). There are a wide range of possibilities here but not sure what is best. These will all make reverting to Meraki OS very difficult. I'm not sure how long it will be before the kernel exceeds 3MB (currently we are at about 2.7).

The second issue is this PoE fw image/driver. The fw image needs to be upstreamed to linux-firmware. In theory only Broadcom should do this. If someone were to try this, showing that the image is extracted from a GPL archive provided by cisco, I am unsure what the response would be. However we can still proceed to add the device without PoE support and add this in later once resolved.

1 Like

Evening all, recently managed to flash my MX64 locked to openwrt. Although getting issues with luci. Any suggestions or does someone have compiled image with luci already?


hi, thanks for Your work, i've got recently mx64, but don't know how to gain telnet access. i've bought usb serial adapter but al i can get is " UNRECOGNIZED COMMAND LOGGED TO CLOUD SERVERS" .please help!

Use MBR for the usb drive btw, GPT drives wont read, took me way too long to figure that out