Cisco Meraki MX64/MX65 image support

No problem with the 7th of October images on my MX65.

1 Like

Konus, when you did this (if you remember) after editing the network file, how did you re-init the ethernet adapters ? ifconfig literally shows nothing loaded for ethernet.

I just checked git revision against the boot log and it matches. This is the latest image.
@yohan4ws can you show output of lsmod? Maybe something landed in the wrong place.

after the network config has been changed you need to restart the network such that the new config gets loaded:

/etc/init.d/network restart

Got mine mx64w today, i tought that this model with wireless will have wifi card in minipcie slot since we have circuits on mx64 board and it have integrated bcm4352 wireless sadly. But i'll try to load openwrt and play more with it.

@yohan4ws please redownload and retry, I've rebuilt the image from scratch and tested it on my dev unit. Network on initramfs works fully - I have no idea why didn't it probe earlier - maybe some older artifacts were included inadvertently. The build system sets the kernel build date to SOURCE_DATE_EPOCH set to the time of top commit, so this indicates the revision too.

Here are SHA256-sums:

dc5c2a13a7f9efb384b96c5ca18209b7c34ee898bb288e0ebbbb87ae3b84eb76  openwrt-bcm53xx-generic-meraki_mx64-initramfs.bin
bcfae315871cb27ffd77c32c86ea478b1074582401e92121b99c4730ccab035f  openwrt-bcm53xx-generic-meraki_mx64-squashfs.sysupgrade.bin
f089a2d704a14eda1fc2c3e3298bffe5f2b55785b2367a4118545e83586a4ccf  openwrt-bcm53xx-generic-meraki_mx64_a0-initramfs.bin
3ed9a102aa884a1969c8d708a41b0c54e512d0c2ca4463edaea85f3a663fb33d  openwrt-bcm53xx-generic-meraki_mx64_a0-squashfs.sysupgrade.bin
d7451a401c4ab4179b30074e2a486ebda0e1dfc1ee9269a0fc733e3688fd09ea  openwrt-bcm53xx-generic-meraki_mx65-initramfs.bin
53093e7c7feb8df5216dd235064d0d5fba8661dafb1cc3e823e1ba3abafe324a  openwrt-bcm53xx-generic-meraki_mx65-squashfs.sysupgrade.bin

I also used the Oct 7 2024 initramfs image to install MX65 from scratch and did not encounter any network issue.

1 Like

Leo, Thank you for your efforts on this.

Unfortunately I'm getting a "Wrong Image Format for bootm command" on your October 18th initramfs.bin

This is what I was getting with the original Clayface repo.

Something about needing a bootm compatible image? where as the -kernel.bin file would be a bootk ? - guessing on these from the comments earlier on in this thread.

winternull was having a similar issue, but it was resolved by using the initramfs that Clayface has previously posted that caused mine to panic.

I don't know how to pull information and chipset information from my device to see if there's some strange adapter or firmware revision difference on this unit. (no lspci )

@konus when I try to run network restart I'm getting a: /etc/rc.common: line 33: /sbin/wifi: not found.

I've edited /etc/init.d/network and commented out /sbin/wifi and was able to reload after adding wan1 and wan2 under the br-lan device.

@M10 Ifconfig and uci show network both don't show any devices

I've submitted everything in my gist :
As far as I can tell the ethernet adapter driver , for whatever reason , is not loading.

In the previous initramfs the Broadcom iProc I2C controller at load said bus is busy at boot.

This MX65 was taken out of production in April of 2023 after its subscription expired. To my knowledge, it was firmware up to date then.

When I installed uboot using dd if=uboot_mx65 of=/dev/mtdblock0 there were no errors.

I'm stumped...

I've logged ifconfig, uci show network, dmesg, lsmod in the gists:

yohan4ws’s gists (github.com)

Looks to me like an old U-boot installation. Please upgrade it first, or for the sake of completeness, post full console log showing that, especially all the version numbers.

And how do you load the image? Installation instructions recommend inserting USB drive and holding the reset button while powering on, to execute proper built-in procedure.

Also, in the case of deferred probe errors, please mount debugs (mount -t debugfs none /sys/kernel/debug if not mounted already) and show cat /sys/kernel/debug/devices_deferred

Hi Leo,

FAT formatted USB w/ 1GB Partition, your Oct 7 initramfs.bin copied to root,

Connect power while holding reset button, as soon as I see LED flash orange/white I connect my TTL. (though now after writing this I realize holding down reset at power on doesn't affect the boot process)

If the TTL is connected at power on, the MX65 won't boot

Without a USB connected, and I "reset" at u-boot> prompt I get the following:

U-Boot 2012.10 (May 04 2022 - 23:46:39)Meraki MX64 Boot Kernel Loader.

I've left TTL connected and "reboot" open-wrt#>
This should be the most complete boot log.

(https://gist.github.com/yohan4ws/015db49bec54da007c7ea9608bf1f344)

root@OpenWrt:~# mount -t debugfs none /sys/kernel/debug/
mount: mounting none on /sys/kernel/debug/ failed: Resource busy

root@OpenWrt:~# cat /sys/kernel/debug/devices_deferred
mdio_mux-1.0:10
mdio_mux-1.2000:10
18024000.ethernet
18036000.ethernet-switch

I should also mention, at boot, the screen stops scrolling at :
[ 70.326386] platform 18024000.ethernet: deferred probe pending
[ 70.332253] platform 18036000.ethernet-switch: deferred probe pending
[ 70.338716] mdio_bus mdio_mux-1.0:10: deferred probe pending
[ 70.344390] mdio_bus mdio_mux-1.2000:10: deferred probe pending

I have to press enter to get to the openwrt console prompt.

I installed uboot_mx65 from here :
clayface/U-boot-MX64-20190430_MX65 (github.com)

How do I upgrade the uboot ? I can't find a newer image.

Would it be worth re-applying the original uboot_mx65 ?

Am I going to be setting up a compiling VM and joining the dev community? :flushed:

I don't see 'at24' probe at your device, which would block probe of Ethernet port and the switch three. I've stumbled upon this on my device while developing, but I can't imagine this not to work if you used my latest images, because this driver is built into the kernel. In the first one I posted - it wasn't, which was one of the things breaking the failsafe mode.

What is the sha256sum of initramfs you used?
What is the sha256sum of your U-boot on the device (/dev/mtd0)?

One (maybe not so) stupid question: how many Ethernet ports does your device have? Because I'm starting to doubt if it's actually a MX65, which has twelve ports in total. Or an incorrect variant of U-boot is loaded.

is anyone can share your mx65 op firmware. thanks

1000% it's an mx65. 2 wans 8 lan + 2 poe no wifi. Has 2x QCA8337-AL3C in addition to the BCM58625 SoC.

Your newest initramfs unfortunately doesn't boot.

It stops at "Wrong Image Format for bootm command"

I'll pull a crc of the partition later today or tomorrow.

Can I , from the wrt prompt shell, re write the original uboot_mx65 ?

Let's get first things first. What's the checksum of your current U-boot? If the right binary is there, there is no point in rewriting it. From the boot log it looks like that's the correct version, but may be the "small" one used as intermediate during installation. I want to make sure it's not the case first.
IIRC I used mtd command from within OpenWrt to update U-boot on my devices, but that was looooong ago.

1 Like

root@OpenWrt:~# dd if=/dev/mtd0 of=/tmp/uboot.bin
2048+0 records in
2048+0 records out

root@OpenWrt:~# sha256sum /tmp/uboot.bin
342b68d1687a955255cd85dbeb6aa524a0d492cb43436b6a0d04aa3b1f1aef67 /tmp/uboot.bin

root@meraki-mx65-2:~# sha256sum /dev/mtd0
342b68d1687a955255cd85dbeb6aa524a0d492cb43436b6a0d04aa3b1f1aef67  /dev/mtd0

Now I am really puzzled. This matches with mine - so, no need to rewrite anything. Looks like you could just sysupgrade to my build and be done with it. Now please ensure, that the only initramfs image on the USB stick you use for emergency boot is mine and it's checksum matches. If this doesn't help - then I don't know what does.
That would be:

The documentation that I've read, says to winscp the sysupgrade bin.

I don't currently have a way of getting the upgrade file onto the media without network access.

If I setup a dev environment I'd be inclined to load the ethernet driver as module.

When booted with your oct 7 initramfs ( your Oct 18 won't load for me) I don't see anything for usb media loaded.

That's because the initrafms doesn't support any USB storage and filesystems - it has to stay minimal so U-boot can decompress it successfully.

What's the point in that? Ethernet driver is clearly waiting for at24 to probe for reason unknown to me, but it could be not loaded at all. And as I stated previously - I've stumbled upon this during development, while everything was in the modules. Ethernet driver requires at24 to read MAC from the onboard EEPROM.

Once again: what is the sha256sum of the file you're trying to load? I'm asking for this a third time - becasue I can't imagine that the same file breaks badly on your device, while on mine (and others) it works flawlessly.

You know more than me on this .. This is the only initramfs that boots on my device, that I downloaded from your repo that was uploaded Oct 7.

I missed your request for the hash of the initramfs , apologies for the repeat request and thank you again for your continued assist.

You and I share the same perplexion on why my mx65 is some sort of an unbootable unicorn. I did the check per docs before I flashed the uboot and it showed the larger file size so I didn't use the small. the sha256 of mtd0 is the same.

PS D:> get-filehash .\openwrt-bcm53xx-generic-meraki_mx65-initramfs.bin -Algorithm SHA256

SHA256 D7B7B2C89503807161B922454ECA64E21187204D9A81167F87AAACD674D5FAE0

The other perplexing thing is why I can't boot your most recent initram fs and the original -kernel.bin file where it says

"Wrong Image Format for bootm command"

And the checksum (of the Oct. 7 file) matches indeed. Maybe... try a different USB drive? When testing two days ago, I've stumbled upon one which didn't work - I couldn't see the error though, because I don't have an USB-serial adapter on hand. Only a second one worked. More and more stuff suggests some kind of faulty hardware to me.

You can try some more things:

  • clear the environment from within U-boot (env default -a; saveenv) or erase it from OpenWrt and then try reloading, maybe load address (or whatnot) is borked.
  • Repartition and reformat the USB drive from scratch, then ensure the file can be read back from it correctly.
  • manually try to modprobe at24 and modprobe i2c-bcm-iproc on the image which boots - in the first place, check they're even under /lib/modules/* - because they should not be there, as these are built-in.
  • try loading the older initramfs by @clayface from the U-boot repo - which requires the manual WAN intervention to get going, but will allow you to sysupgrade - in that older version at24 wasn't a hard dependency due to use of nvmem subsystem to read MAC address.