Cisco Meraki MX64/MX65 image support

Thanks a lot for the info. Just build an image and PoE works while official 24.10.2 packages can be used.

openwrt-bcm53xx-generic-meraki_mx65-squashfs.sysupgrade.bin

owut check -v
owut - OpenWrt Upgrade Tool 2025.05.12~8353c4e9-r1 (/usr/bin/owut)
ASU-Server     https://sysupgrade.openwrt.org
Upstream       https://downloads.openwrt.org
Target         bcm53xx/generic
Profile        meraki_mx65
Package-arch   arm_cortex-a9
Root-FS-type   squashfs
Sys-type       sysupgrade
Version-from   24.10.2 r28739-d9340319c6 (kernel 6.6.93)
Version-to     24.10.2 r28739-d9340319c6 (kernel 6.6.93)
Build-FS-type  squashfs
Build-at       2025-06-23T20:40:36Z (~277 hours ago)
Image-prefix   openwrt-24.10.2-bcm53xx-generic-meraki_mx65
Image-URL      https://downloads.openwrt.org/releases/24.10.2/targets/bcm53xx/generic
Image-file     openwrt-24.10.2-bcm53xx-generic-meraki_mx65-squashfs.sysupgrade.bin
Installed      125 packages
Top-level       69 packages
Default         34 packages
User-installed  41 packages (top-level only)

Package version changes:
  kmod-hwmon-bcm59111          6.6.93-r1                                  missing to-version
  luci                         25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-app-firewall            25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-app-package-manager     25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-base                    25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-light                   25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-mod-admin-full          25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-mod-network             25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-mod-status              25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-mod-system              25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-proto-ipv6              25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-proto-ppp               25.168.50434~d6b13f6                       25.179.72978~e977ed6
  luci-theme-bootstrap         25.168.50434~d6b13f6                       25.179.72978~e977ed6
1 packages missing in target version, cannot upgrade
13 packages are out-of-date

Default package analysis:
  Default                      Provided-by
  nftables                     nftables-json

Can a MX65 power supply power a MX64?

I think you will fry the MX64. The MX65 PSU supplies 54V while the MX64 PSU supplies 12V. The size of the pins are different as well so it would not fit properly.

It might. I believe they used the same 90W supply (MX65 just had more ports)

1 Like

MX65 works just fine with 12V DC. The POE supports would not be enabled even with the image from LEO (@Leo-PL -- Thank you so much each time I think of MX65).

The extra power of 90w is mostly needed to service the WIFI radio and the POE. An average 1.5a / 12v DC with 2.5mm DC barrel power supply works fine for MX65.

I have tried this with a 12V DC supply (works fine). Also tried with 19v DC and it works fine too. Then I have tried with 48v DC supply it works fine and also starts to operate the POE ports.

Cheers!

Did you build using Firmware selector?
And the POE worked automagically? When I tried a couple of months ago, I had to use Leo version of firmware and the one from the Openwrt did not have POE support.

LMK.

No POE does not work with the standard images / firmware selector. You will have to build your own firmware using the steps described here:

Thanks. I am not that good on linux and so this is a bit intimidating. I will study this later and then perhaps build.

Any idea why the std openwrt do not have the POE enabled and it has to be cherry picked?

Because the original POE driver from the Meraki GPL sources is used which is not part of mainline linux. The driver code works but would need to be submitted upstream and get accepted in mainline linux before it can become a part of OpenWrt. I don't know how to code but others have said that the current driver code would need to be improved / updated to current standards before it would be accepted in mainline linux.

2 Likes

I tried based on @konus point to this post. When I enter "make", it takes a long time and starts making arth79 onward.
Is there a pointer to make just MX65 and how to give it packages to include?

Much appreciate. I am not a developer.

you need to choose the chipset and router model.
You can use the image I've provided above if you want?

Is this the one:

I have a question: If i ran upgrade from owut using CLI, will I lose the POE support baked in?

Also, is there a pointer where I can study how to provide the chipset and router with the make command?

1 Like

if you upgrade using owut you will lose the baked in POE support.
what did you choose in the make menuconfig

I did not remember. Now I picked property as far as I could. My .config file has following content:

CONFIG_HAS_DEVICES=y
CONFIG_TARGET_BOARD="bcm53xx"
CONFIG_TARGET_SUBTARGET="generic"
CONFIG_TARGET_PROFILE="DEVICE_meraki_mx65"
CONFIG_TARGET_ARCH_PACKAGES="arm_cortex-a9"
CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe"
CONFIG_CPU_TYPE="cortex-a9"
CONFIG_LINUX_6_6=y
CONFIG_DEFAULT_base-files=y
CONFIG_DEFAULT_ca-bundle=y
CONFIG_DEFAULT_dnsmasq=y
CONFIG_DEFAULT_dropbear=y
CONFIG_DEFAULT_firewall4=y
CONFIG_DEFAULT_fstools=y
CONFIG_DEFAULT_kmod-gpio-button-hotplug=y
CONFIG_DEFAULT_kmod-hwmon-bcm59111=y
CONFIG_DEFAULT_kmod-leds-gpio=y
CONFIG_DEFAULT_kmod-leds-pwm=y
CONFIG_DEFAULT_kmod-nft-offload=y
CONFIG_DEFAULT_kmod-usb-ehci=y
CONFIG_DEFAULT_kmod-usb-ohci=y
CONFIG_DEFAULT_kmod-usb2=y
CONFIG_DEFAULT_libc=y
CONFIG_DEFAULT_libgcc=y
CONFIG_DEFAULT_libustream-mbedtls=y
CONFIG_DEFAULT_logd=y
CONFIG_DEFAULT_mtd=y
CONFIG_DEFAULT_netifd=y
CONFIG_DEFAULT_nftables=y
CONFIG_DEFAULT_nvram=y
CONFIG_DEFAULT_odhcp6c=y
CONFIG_DEFAULT_odhcpd-ipv6only=y
CONFIG_DEFAULT_osafeloader=y
CONFIG_DEFAULT_otrx=y
CONFIG_DEFAULT_ppp=y
CONFIG_DEFAULT_ppp-mod-pppoe=y
CONFIG_DEFAULT_procd-ujail=y
CONFIG_DEFAULT_uci=y
CONFIG_DEFAULT_uclient-fetch=y
CONFIG_DEFAULT_urandom-seed=y
CONFIG_DEFAULT_urngd=y
CONFIG_AUDIO_SUPPORT=y
CONFIG_GPIO_SUPPORT=y
CONFIG_PCI_SUPPORT=y
CONFIG_PCIE_SUPPORT=y
CONFIG_PWM_SUPPORT=y
CONFIG_USB_SUPPORT=y
CONFIG_USES_DEVICETREE=y
CONFIG_USES_SQUASHFS=y
CONFIG_NAND_SUPPORT=y
CONFIG_arm=y
CONFIG_arm_v7=y
CONFIG_ARCH="arm"

I did not see any place I could specify luci

Will try this. Else, I will then switch to your file. I have downloaded already.

Thanks for your guidance.

Hoping I have everything relevant here--

I have uboot (2012.10) running on an MX65w, but have been unable to get it to do anything useful with a few different .bin files. I've tried Leo's linked October google drive files (though the download hash doesn't match the listed file) and the previous Clayface one.

It will either start erroring with an EHCI timeout, an invalid FAT entry, or (if it makes it through the whole file) a crc32 error/bad data hash/ERROR: can't get kernel image.

I've tried a number of different 128mb/1gb/2gb flash drives as well. Am I doing something obviously wrong?

I am mostly a non-technical person and found that flashing mx65 one of the easiest. I have done 5 so far. I have saved the initramfs for this and subsequently you can flash it using the openwrt stock upgrade firmware.

Or you can used this version as that includes POE support missing from official version.

Let me know if you'd like a copy of initial boot image.

That'd be fantastic, thank you. I pushed an MR18 over last year and am hoping to get a 64 done too, but didn't want to call it quits on this one yet.

You can download this folder.
It has instructions in PDF format. Amazing person wrote these.
It has the initial RAM file.
And it also has the upgrade file that has POE support baked in by @hecatae

Good luck.

Thank you for those!
Strangely, I get the same crc32 error with this initramfs.bin
Checking the file from my computer with 7zip I get a value of 77FF3FD3, but u-boot consistently gives me a value of D96DB22A. I suspect it's a u-boot issue, and may try to reinstall somehow.

1 Like