Cisco Meraki MX64/MX65 image support

I only have 1 4gb stick that will let me use FAT, I have just tried an 8gb with FAT32 and have the same result.

I got a serial adapter and can see that its trying to load.

RESET pressed: USB boot enabled
(Re)start USB...
USB:   Before reset, USB clk enable register is: 000002dd
Before reset, USB clk enable register is: 000002dd
usb2_reset_state is: 00000000
Register 1212 NbrPorts 2
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
reading openwrt-bcm5862x-generic-meraki_mx64-initramfs-kernel.bin
** Unable to read "openwrt-bcm5862x-generic-meraki_mx64-initramfs-kernel.bin" from usb 0:1 **
Bad Bootkernel magic

Full uboot log is here uboot log -

It looks as though you have a non a0 variant of this device. The regular image should work.

Ah good catch, I did not notice that. Looks like I should have payed a little more attention to your steps, I misinterpreted the step to determine which hardware version I had, thought if it was over 0x3F03 rather than between 0x3F00 and 0x3F03 as you stated, mine was 0x3F05.

So looks like the issue was good old PEBKAK!

Thanks for the help, much appreciated.

EDIT: If one wanted to revert back to stock, is that possible?

Same here I now looked closely at mine too it's a really faint purple colour but it only happens when the USB is plugged in, is that the same issue you have as I also can't get into diagnostic mode.


@clayface I finally have a bloody USB with an LED so when I hold down the reset button the led on the USB don't turn on until the rainbow colour happens so and I'm quite sure that the serial doesn't work as I bought 3 different adapters and none of them works so that's a no go and yea still not able to connect to telnet however I do get that purple light when trying to boot into diagnostic mode so I probably have to wait until @CleverOctopi gets his adapter and see from there.

Mine has been doing it with nothing plugged in besides power. I haven't found a solution yet, and haven't had the time to try and connect to serial unfortunately.

no rush, whenever you have time let me know as well as we have the same problem last night I tried reading the serial on my unit but no luck.

can someone send me the latest Sysupgrade image.

I have an MX64

credit it @zerg91 his link

Hi, @chaosjester is it okay if you can explain what you meant by the IP address changes to because I'm not able to telnet into mine when I try to telnet on the IP of even tho I see my PC's network port to I still cant access it so is it okay if you can explain what you ment.


When I had it set up via the Meraki dashboard I assigned the IP

Holding the reset button when plugging in till the router booted in to diagnostic mode, the IP would then be and I could telnet to it and run the initial commands to allow openwrt to boot.

When rebooting, as I had the incorrect file on my USB stick, it would skip over trying to boot off the USB stick then just boot back in to the standard Meraki firmware so the IP address was set back to and would go back to talking to the Meraki dashboard as normal.

Once the right image was on the USB stick though it all went as described in clayface's documentation and is now up and running with openwrt after being able to see what was happening with a USB to serial cable. IP was correct at and SSH access was all good, could push the file over and then run the update as documented.

If you are going back to the rainbow lights you might have the same issue as me, you might have the wrong image on the USB stick. The biggest issue I had was that I misinterpreted this:

If the output begins with anything between "0x3F00-0x3F03" you will need to use the A0 release. For any other output, eg "0x3F04" or higher, use the regular MX64 image.

My brain interpreted that if the mtd0 was locked you have the A0 version which is not at all correct, after re-reading the doco a bit slower and with the info a few posts up was able to get it going.

what should the settings for the MX64
have a picture below please do correct me if I'm wrong.

and also doing that it doesn't allow me to telnet into it so I don't know what the problem would be

There is no set way that should be, but it looks like you have it set up like I did.

So its likely that you are having a similar issue to me where after doing the commands in diag mode, its not booting from the USB stick.

I think you will need the USB to Serial adapter so you can see the boot logs.

Is this 21 compatible or just the image from above on 19 + custom patches / OoT stuff?

I am having a really hard time getting my head around compiling the "openwrt-bcm5862x-generic-meraki_mx64a0-initramfs-kernel.bin" image. I think I may be screwing up the config? I am a bit of a noob when it comes to compiling stuff but am keen to learn. Would anyone be willing to upload their compiled a0 variant image or give me a hand? Thanks.

The PR for this is in the process of being modified to use the existing bcm53xx platform. However there are issues with the kernel size with some other devices. There are two options:
comment out TARGET_DEVICES += tplink_archer-c5-v2 and TARGET_DEVICES += tplink_archer-c9-v1 or use the previous commit which creates a separate platform. I have a separate branch for this. This may be easier to do until the bcm53xx commits are merged.

If you do use the bcm53xx commit then there will be an issue with the filename - this will need to be rectified in the bootloader. For the time being you will need to rename the file as it will be openwrt-bcm53xx-generic-meraki_mx64-a0-initramfs.bin

I was able to get this installed onto my MX64 mine was 0x3F05. After testing with @zerg91 linked firmware it all seems to work well.

Only issue I have found now is LuCI will not installed because of a cert issue. I know LuCI is not installed by default but following the this it still does not work. Looking to learn how to compile my own firmware now and test it out.

Thanks to all that have been working on this!

@clayface I used your branch and compiled it with LuCI as well and all seems to be upgrading correctly. I will continue to test it out and report back.

1 Like

Thanks for that. It should be working fine for the MX64 but the MX65 is contingent on some extra qca8k patches in another PR. Note there's also a small patch due upstream that will take care of the MAC address, otherwise you'll get a random one each time. I think it won't affect you as the previous image will have stored the correct MAC.

  1. git clone
  2. Followed: to ensure i compiled it correctly.
  3. Copied the openwrt-bcm5862x-generic-meraki_mx64-initramfs-kernel.bin to a FAT USB
  4. Booted MX64 from USB and scp the sysupgrade.bin to /tmp
  5. ran sysupgrade on the .bin
    when i try to opkg update i recieve an error
    Collected errors:

the referenced dir above does not actuall exist hence the error but how do i get past this.
What did i mess up in this process?
My console does not specify the Clayface Branch when i login as saw in the post from jdesmarais81

Are releases available for the CF MX65?