Cisco Meraki MX64/MX65 image support

I am a dumb ass I used squashfs instead of initramfs, 2 dumb mistakes tonight

I have done

#  dd if=uboot_mx65 of=/dev/mtdblock0
1024+0 records in
1024+0 records out
# Connection closed by foreign host.

Then put "openwrt-bcm53xx-generic-meraki_mx65-squashfs.sysupgrade.bin" in the USB drive (from your compiled link)

but encountered

reading openwrt-bcm53xx-generic-meraki_mx65-squashfs.sysupgrade.bin
Unable to read "openwrt-bcm53xx-generic-meraki_mx65-squashfs.sysupgrade.bin"
Bad Bootkernel magic

could you point me to the right direction please?
Thank you!

I thought dd went wrong but now i cannot get back into diagnostic mode to dd again
full log until power off here


hi, i've flashed u-boot on my mx64 A0, but when try to run initramfs i've getting bad magic number, can someone share a working initramfs image? thanks

edit: different flash drive and successfully flashed to openwrt, seems to work good, lots of free ram but kinda slow nat only like 270Mps with almost 100% sirq :frowning: need to try irqballance

i tried irqbalance but even just using the lan ports as switches i am only getting ~640Mbps peak switching speed, maybe a cpu bottleneck?

Is there anything besides irqbalance to increase switching throughput? currently lan is set to have a static address, would that be the issue and would "unmanaged" be a better choise?
Thank you!

CPU should not be involved in switching. Do you see high cpu utilization (in top or htop) when you transfer between lan ports?

Yeah i think CPU utilization went up to roughly 50% when im running iperf3 from MX65 to a server upstream, maybe because i set lan to have static IP instead of managed? I dont know

No, don't do that. This is just iperf3 being rather resource hungry. Properly testing switching throughout requires two separate stations external to the switch hocked up to them two network ports of the switch you're trying to test.

1 Like

Thank you for pointing out!

With both server and client on MX65's lan, iperf3 shows ~940Mbps, which is pretty great

However when MX65's lan is attached to a dumb switch, iperf3 between upstream server on that dumb switch and client on MX65' lan drops down to 800Mbps, i will try to draw it out

            |(lan port1)
            |(lan port2)

Is this the panelties for double switch?

You are very welcome.

No, apart from some very minor added latency you should still be able to push pretty much the same speed. However, this may be some kind of packet drop/loss issue that may or may not be improved enabling flow control. One thing to usually try is doing both direction iperf3 probes (e.g. using -R vs. not using it resp. reversing on which machine you do the -c vs. -s). Does iperf3 report any retries at all?

Sorry, I don't have my MX65 handy right now and also don't remember whether or not it has flow control enabled by default. Just let me know if that is something you like to pursue...

Anyway, I know that especially when mixing various speeds like Gigabit, 2.5-Gigabit, 5-Gigabit and/or 10 Gigabit this can be a huge issue. Basically, a faster connection may overwhelm a slower one causing buffer overflows resulting in all kinds of nasty issues causing suboptimal speeds.

May we ask what kind of a switch the other one is?

yep, client to upstream server has retrys see edit

Connecting to host, port 5201
[  5] local port 49104 connected to port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  94.8 MBytes   795 Mbits/sec  225    197 KBytes       
[  5]   1.00-2.00   sec  95.4 MBytes   800 Mbits/sec  206    184 KBytes       
[  5]   2.00-3.00   sec  95.0 MBytes   797 Mbits/sec  222    153 KBytes       
[  5]   3.00-4.00   sec  94.6 MBytes   794 Mbits/sec  218    184 KBytes       
[  5]   4.00-5.00   sec  94.0 MBytes   789 Mbits/sec  232    173 KBytes       
[  5]   5.00-6.00   sec  96.3 MBytes   808 Mbits/sec  182    191 KBytes       
[  5]   6.00-7.00   sec  95.8 MBytes   803 Mbits/sec  225    267 KBytes       
[  5]   7.00-8.00   sec  95.0 MBytes   797 Mbits/sec  230    187 KBytes       
[  5]   8.00-9.00   sec  96.0 MBytes   805 Mbits/sec  193    240 KBytes       
[  5]   9.00-10.00  sec  97.1 MBytes   814 Mbits/sec  230    208 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   954 MBytes   800 Mbits/sec  2163             sender
[  5]   0.00-10.01  sec   953 MBytes   799 Mbits/sec                  receiver

Reverse is better, when the server is sending it reaches around 913Mbps avg

the switch is a $10 tenda SG105 (5 port GbE), datasheet here Uses a mediatek MT7530DU chip, couldnt find a datasheet for this specific model but here is one for MT7530W, on this switch iperf3 can do ~940Mbps

EDIT: seems like client was underpowered(MR42 w/openwrt), used a x86 client and speed is back to 940Mbps both ways. I guess underpowered CPU can receive faster than sending

1 Like

By the way you will probably get different results depending on the port combinations used. The two WAN ports are on the BCM switch and lan3-7 and lan8-12 are QCA switches that are attached to the BCM switch. Having to traverse multiple switches, eg one host on lan3 and the other on lan8 will likely impact performance when iperfing compared to them being on the same switch, eg lan3 and lan4.

1 Like

That makes sense, thank you for the insight!

Hi all!
I have Cisco Meraki MX65 and I connected with usb serial device.
I first installed precompiled uboot for mx65 from this link and folowed instruction and power off device but i have problem with installing openwrt. Device is stucked at boot. Am I bricked my device or I missed something?
I am new on openWRT.

This is my serial console log and device stops there.

After CTRL+C Shmoo console

Please help @CM65 or @clayface

I have never seen this issue unfortunately. Is there any way for you to access the u-boot cli? Do you receive the same results every time, when holding reset when powering on and when not?

I recived same results everytime. I tried power device with or without reset button (holding or not), change usb (MBR partition FAT32 formated), different cappacity 4-64GB, USB gen 2 to 3.1 almost everyrhing but without openWRT cli. No way to get cli at all. Very frustrating... Do you have any idea how to solve this?

Has anyone idea how to solve this?

hi, you are sure that uboot was flashed correctly? if yes, put image but don't rename it on fat32 flash drive.

I have a similar issue. I only had a 64GB, it worked successfully when I created a 1GB FAT32 partition a nd left the rest unpartitioned.

1 Like

I will try and post results here.

Got one of my MX65Ws up an running with clayfaces image.. works perfectly.. I have 4 more mx 65Ws to work on now... So happy I was holding on to them in hopes of something just like this.. If only WiFi was an option :frowning:

So I was curious.. clayface, do you have a current build with the updated kernel and packages?