Meraki MS220

Under Construction!
This page is currently under construction. You can edit the article to help completing it.

Cisco Cloud based switch with POE+ support

OpenWrt support

Not supported.

Hardware highlights

CPU Ram Flash Network WLAN USB Serial JTag
Vitesse VCore-III VSC7425 SOC, MIPS 24KEc V5.4 128 MB 16 MiB 8x 10/100/1000 + 2x SFP N/A 1x 2.0 Yes Yes

Hardware

Info

Architecture MIPS
Vendor Cisco Meraki
Bootloader Redboot / Linuxboot
System-On-Chip Vitesse VCore-III VSC7425 SOC,MIPS 24KEc V5.4
CPU/Speed EXAMPLE 451 MHz
Flash-Chip Macronix MB25L12805D / Micron MT29F1G08ABADAWP
Flash size 16Mb / 128Mb
RAM 128Mb
Wireless None
Ethernet 8x 10/100/1000(POE+) + 2x SFP
Switch ?
USB 1x 2.0
Serial YES - onbard pin header J4
JTAG YEs - Not populated J2 - 14 pin

Photos

Opening the case

Remove all 8 screws from the bottom of the case. Place case right side up on flat surface. Slide sides and top forward and off base unit ( it can be stiff as heat sink touches the top of case for heat dissipation.)

Serial

port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:

Jumper setup for Serial connection

Serial settings : 115200: 8:1 None

JTAG

port.jtag general information about the JTAG port, JTAG cable, etc.

How to connect to the JTAG Port of this specific device:
Insert photo of PCB with markings for JTAG port

Bootlogs

OEM bootlog

LinuxLoader built Nov 12 2014 18:01:50 init_pll ok init_spi ok init_memctl ok wait_memctl ok Training DRAM ok init_irq ok init_dram_uncached ok init_icache ok init_dcache ok enable_caches ok init_board ok Low level initialization complete, exiting boot mode [ 0.000000] Linux version 3.18.102-meraki-elemental (ssegal@sf201.meraki.com) (gcc version 5.4.0 (GCC) ) #1 Fri Apr 13 11:18:08 PDT 2018 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 02019654 (MIPS 24KEc) [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 00317000 @ 00100000 (usable) [ 0.000000] memory: 00079000 @ 00417000 (usable after init) [ 0.000000] User-defined physical RAM map: [ 0.000000] memory: 07ff0000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x07feffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x07feffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x07feffff] [ 0.000000] Reserving 0MB of memory at 0MB for crashkernel [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32496 [ 0.000000] Kernel command line: console=ttyS0,115200 mtdparts=m25p80:0x40000(loader1),0x3c0000(boot1),0x40000(loader2),0x3c0000(boot2),0x80000(rsvd),0x600000(bootubi),0x40000(conf),0x100000(stackconf),0x40000(syslog) ubi.mtd=bootubi ubi.mtd=gen_nand.0 mem=134152192 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Writing ErrCtl register=80045ba0 [ 0.000000] Readback ErrCtl register=80045ba0 [ 0.000000] Cache parity protection enabled [ 0.000000] Memory: 125064K/131008K available (2655K kernel code, 135K rwdata, 364K rodata, 484K init, 101K bss, 5944K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:66 [ 0.000000] sched_clock: 32 bits at 1kHz, resolution 1000000ns, wraps every 2147483648000000ns [ 0.001000] Calibrating delay loop... 276.99 BogoMIPS (lpj=138496) [ 0.012000] pid_max: default: 32768 minimum: 301 [ 0.013000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.014000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.020000] devtmpfs: initialized [ 0.023000] NET: Registered protocol family 16 [ 0.049000] Switched to clocksource MIPS [ 0.059000] NET: Registered protocol family 2 [ 0.066000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.073000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.079000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.085000] TCP: reno registered [ 0.089000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.095000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.101000] NET: Registered protocol family 1 [ 0.643000] VCORE-III Watchdog Timer enabled (30 seconds). Prev boot was not caused by WDT reset. [ 0.654000] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.675000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.681000] msgmni has been set to 244 [ 0.717000] io scheduler noop registered [ 0.721000] io scheduler deadline registered (default) [ 0.726000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled [ 0.735000] console [ttyS0] disabled [ 0.739000] serial8250.0: ttyS0 at MMIO 0x70100000 (irq = 14, base_baud = 13020833) is a 16550A [ 0.748000] console [ttyS0] enabled [ 0.748000] console [ttyS0] enabled [ 0.755000] bootconsole [early0] disabled [ 0.755000] bootconsole [early0] disabled [ 0.766000] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xf1 [ 0.772000] nand: Micron MT29F1G08ABADAWP [ 0.776000] nand: 128MiB, SLC, page size: 2048, OOB size: 64 [ 0.788000] Scanning device for bad blocks [ 0.902000] m25p80 spi0.1: found mx25l12805d, expected m25p80 [ 0.907000] m25p80 spi0.1: mx25l12805d (16384 Kbytes) [ 0.913000] 9 cmdlinepart partitions found on MTD device m25p80 [ 0.919000] Creating 9 MTD partitions on "m25p80": [ 0.923000] 0x000000000000-0x000000040000 : "loader1" [ 0.934000] 0x000000040000-0x000000400000 : "boot1" [ 0.941000] 0x000000400000-0x000000440000 : "loader2" [ 0.953000] 0x000000440000-0x000000800000 : "boot2" [ 0.960000] 0x000000800000-0x000000880000 : "rsvd" [ 0.972000] 0x000000880000-0x000000e80000 : "bootubi" [ 0.979000] 0x000000e80000-0x000000ec0000 : "conf" [ 0.991000] 0x000000ec0000-0x000000fc0000 : "stackconf" [ 0.999000] 0x000000fc0000-0x000001000000 : "syslog" [ 1.011000] i2c /dev entries driver [ 1.016000] TCP: cubic registered [ 1.019000] NET: Registered protocol family 17 [ 1.024000] 8021q: 802.1Q VLAN Support v1.8 [ 1.028000] Meraki MS220-8 board detected [ 1.033000] i2c-gpio i2c-gpio.1: using pins 6 (SDA) and 5 (SCL) [ 1.053000] UBI: attaching mtd6 to ubi0 [ 2.061000] UBI: scanning is finished [ 2.102000] UBI: attached mtd6 (name "bootubi", size 6 MiB) to ubi0 [ 2.109000] UBI: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 2.115000] UBI: min./max. I/O unit sizes: 1/256, sub-page size 1 [ 2.121000] UBI: VID header offset: 64 (aligned 64), data offset: 128 [ 2.128000] UBI: good PEBs: 1536, bad PEBs: 0, corrupted PEBs: 0 [ 2.134000] UBI: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 2.141000] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 117022304 [ 2.150000] UBI: available PEBs: 1532, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 2.159000] UBI: background thread "ubi_bgt0d" started, PID 222 [ 2.165000] UBI: attaching mtd0 to ubi1 [ 2.896000] UBI: scanning is finished [ 2.930000] UBI: attached mtd0 (name "gen_nand.0", size 128 MiB) to ubi1 [ 2.937000] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes [ 2.944000] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 [ 2.951000] UBI: VID header offset: 512 (aligned 512), data offset: 2048 [ 2.957000] UBI: good PEBs: 1024, bad PEBs: 0, corrupted PEBs: 0 [ 2.963000] UBI: user volume: 12, internal volumes: 1, max. volumes count: 128 [ 2.971000] UBI: max/mean erase counter: 1585/911, WL threshold: 4096, image sequence number: 1363641321 [ 2.980000] UBI: available PEBs: 462, total reserved PEBs: 562, PEBs reserved for bad PEB handling: 20 [ 2.990000] UBI: background thread "ubi_bgt1d" started, PID 227 [ 3.064000] devtmpfs: mounted [ 3.077000] Freeing unused kernel memory: 484K [ 3.085000] random: init urandom read with 43 bits of entropy available [ 3.093000] Made it into bootsh: Apr 13 2018 11:17:18 [ 3.098000] bootsh build T-201804131017-Gcbd29c59-ssegal [ 3.251000] UBIFS: background thread "ubifs_bgt1_4" started, PID 313 [ 3.305000] UBIFS: recovery needed [ 3.582000] UBIFS: recovery completed [ 3.586000] UBIFS: mounted UBI device 1, volume 4, name "storage" [ 3.592000] UBIFS: LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 3.601000] UBIFS: FS size: 7354368 bytes (7 MiB, 57 LEBs), journal size 1032193 bytes (0 MiB, 6 LEBs) [ 3.610000] UBIFS: reserved for root: 347364 bytes (339 KiB) [ 3.616000] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 44276436-7740-4C6A-A3EA-0F2E0BA8F500, small LPT model In manufacturing: FALSE In rma mode: FALSE [ 8.620000] random: nonblocking pool is initialized [ 12.080000] kexec: Starting new kernel [ 12.085000] Will call new kernel at 0047a4f0 [ 12.085000] Bye ... [ 0.000000] Linux version 3.18.57-meraki-elemental (jenkins@dal247.meraki.com) (gcc version 5.4.0 (GCC) ) #2 Fri Aug 24 13:22:04 PDT 2018 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 02019654 (MIPS 24KEc) [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 0046d000 @ 00100000 (usable) [ 0.000000] memory: 00cb3000 @ 0056d000 (usable after init) [ 0.000000] User-defined physical RAM map: [ 0.000000] memory: 07ff0000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x07feffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x07feffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x07feffff] [ 0.000000] Reserving 0MB of memory at 0MB for crashkernel [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32496 [ 0.000000] Kernel command line: console=ttyS0,115200 mtdparts=m25p80:0x40000(loader1),0x3c0000(boot1),0x40000(loader2),0x3c0000(boot2),0x80000(rsvd),0x600000(bootubi),0x40000(conf),0x100000(stackconf),0x40000(syslog) ubi.mtd=bootubi ubi.mtd=gen_nand.0 mem=0x7FF0000 ramoops.mem_address=0x7FF0000 ramoops.mem_size=0x10000 ramoops.block_size=0x10000 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Writing ErrCtl register=80045ba0 [ 0.000000] Readback ErrCtl register=80045ba0 [ 0.000000] Cache parity protection enabled [ 0.000000] Memory: 111160K/131008K available (3592K kernel code, 195K rwdata, 736K rodata, 13004K init, 119K bss, 19848K reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:66 [ 0.000000] sched_clock: 32 bits at 1kHz, resolution 1000000ns, wraps every 2147483648000000ns [ 0.002000] Calibrating delay loop... 276.99 BogoMIPS (lpj=138496) [ 0.013000] pid_max: default: 32768 minimum: 301 [ 0.014000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.015000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.018000] ftrace: allocating 12018 entries in 24 pages [ 0.045000] Performance counters: mips/24K PMU enabled, 2 32-bit counters available to each CPU, irq -1 (share with timer interrupt) [ 0.052000] devtmpfs: initialized [ 0.058000] NET: Registered protocol family 16 [ 0.059000] ramoops: using module parameters [ 0.060000] pstore: Registered ramoops as persistent store backend [ 0.061000] ramoops: attached 0x10000@0x7ff0000, ecc: 0/0 [ 0.123000] Switched to clocksource MIPS [ 0.154000] NET: Registered protocol family 2 [ 0.161000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.168000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.175000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.181000] TCP: reno registered [ 0.184000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.190000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.197000] NET: Registered protocol family 1 [ 4.458000] VCORE-III Watchdog Timer enabled (30 seconds). Prev boot was not caused by WDT reset. [ 4.469000] futex hash table entries: 256 (order: -1, 3072 bytes) [ 4.500000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 4.506000] msgmni has been set to 217 [ 5.217000] io scheduler noop registered [ 5.221000] io scheduler deadline registered (default) [ 5.394000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled [ 5.427000] console [ttyS0] disabled [ 5.431000] serial8250.0: ttyS0 at MMIO 0x70100000 (irq = 14, base_baud = 13020833) is a 16550A [ 5.439000] console [ttyS0] enabled [ 5.439000] console [ttyS0] enabled [ 5.446000] bootconsole [early0] disabled [ 5.446000] bootconsole [early0] disabled [ 5.573000] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xf1 [ 5.580000] nand: Micron MT29F1G08ABADAWP [ 5.584000] nand: 128MiB, SLC, page size: 2048, OOB size: 64 [ 5.595000] Scanning device for bad blocks [ 6.550000] m25p80 spi0.1: found mx25l12805d, expected m25p80 [ 6.556000] m25p80 spi0.1: mx25l12805d (16384 Kbytes) [ 6.561000] 9 cmdlinepart partitions found on MTD device m25p80 [ 6.567000] Creating 9 MTD partitions on "m25p80": [ 6.572000] 0x000000000000-0x000000040000 : "loader1" [ 6.667000] 0x000000040000-0x000000400000 : "boot1" [ 6.675000] 0x000000400000-0x000000440000 : "loader2" [ 6.722000] 0x000000440000-0x000000800000 : "boot2" [ 6.740000] 0x000000800000-0x000000880000 : "rsvd" [ 6.823000] 0x000000880000-0x000000e80000 : "bootubi" [ 6.885000] 0x000000e80000-0x000000ec0000 : "conf" [ 7.009000] 0x000000ec0000-0x000000fc0000 : "stackconf" [ 7.040000] 0x000000fc0000-0x000001000000 : "syslog" [ 7.195000] tun: Universal TUN/TAP device driver, 1.6 [ 7.200000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 7.207000] i2c /dev entries driver [ 7.214000] TCP: cubic registered [ 7.217000] Initializing XFRM netlink socket [ 7.224000] NET: Registered protocol family 10 [ 7.806000] NET: Registered protocol family 17 [ 7.811000] NET: Registered protocol family 15 [ 7.815000] 8021q: 802.1Q VLAN Support v1.8 [ 7.820000] Meraki MS220-8 board detected [ 7.911000] i2c-gpio i2c-gpio.1: using pins 6 (SDA) and 5 (SCL) [ 8.045000] UBI: attaching mtd6 to ubi0 [ 8.461000] random: nonblocking pool is initialized [ 9.367000] UBI: scanning is finished [ 9.412000] UBI: attached mtd6 (name "bootubi", size 6 MiB) to ubi0 [ 9.418000] UBI: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 9.425000] UBI: min./max. I/O unit sizes: 1/256, sub-page size 1 [ 9.431000] UBI: VID header offset: 64 (aligned 64), data offset: 128 [ 9.437000] UBI: good PEBs: 1536, bad PEBs: 0, corrupted PEBs: 0 [ 9.443000] UBI: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 9.450000] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 117022304 [ 9.460000] UBI: available PEBs: 1532, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 9.469000] UBI: background thread "ubi_bgt0d" started, PID 414 [ 9.495000] UBI: attaching mtd0 to ubi1 [ 10.244000] UBI: scanning is finished [ 10.286000] UBI: attached mtd0 (name "gen_nand.0", size 128 MiB) to ubi1 [ 10.293000] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes [ 10.300000] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 [ 10.306000] UBI: VID header offset: 512 (aligned 512), data offset: 2048 [ 10.313000] UBI: good PEBs: 1024, bad PEBs: 0, corrupted PEBs: 0 [ 10.319000] UBI: user volume: 12, internal volumes: 1, max. volumes count: 128 [ 10.326000] UBI: max/mean erase counter: 1585/911, WL threshold: 4096, image sequence number: 1363641321 [ 10.336000] UBI: available PEBs: 462, total reserved PEBs: 562, PEBs reserved for bad PEB handling: 20 [ 10.345000] UBI: background thread "ubi_bgt1d" started, PID 418 [ 11.524000] devtmpfs: mounted [ 11.745000] Freeing unused kernel memory: 13004K (8056d000 - 81220000) [ 12.036000] Made it into bootsh: Aug 24 2018 13:15:33 [ 12.042000] bootsh build switch-10-201808241214-G0a4ba17b-rel-owner [ 12.198000] UBIFS: background thread "ubifs_bgt1_4" started, PID 564 [ 12.290000] UBIFS: recovery needed [ 12.539000] UBIFS: recovery completed [ 12.543000] UBIFS: mounted UBI device 1, volume 4, name "storage" [ 12.549000] UBIFS: LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 12.558000] UBIFS: FS size: 7354368 bytes (7 MiB, 57 LEBs), journal size 1032193 bytes (0 MiB, 6 LEBs) [ 12.568000] UBIFS: reserved for root: 347364 bytes (339 KiB) [ 12.574000] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 44276436-7740-4C6A-A3EA-0F2E0BA8F500, small LPT model In manufacturing: FALSE In rma mode: FALSE [ 12.637000] init started: BusyBox v1.25.1 (2018-08-24 12:51:28 PDT) WARNING! THIS CONSOLE IS LOGGED! UNAUTHORIZED ACCESS FORBIDDEN! <Meraki> [ 13.752000] sysctl: error: 'kernel.softlockup_panic' is an unknown key [ 13.760000] sysctl: error: 'kernel.watchdog_thresh' is an unknown key [ 14.005000] sh: write error: Device or resource busy [ 14.118000] vtss_core: module license '(c) Vitesse Semiconductor Inc.' taints kernel. [ 14.126000] Disabling lock debugging due to kernel taint [ 14.726000] switch: 'Meraki MS220-8' board detected [ 15.675000] sysctl -w vm.panic_on_oom=2 [ 15.703000] vm.panic_on_oom = 2 [ 16.325000] click: starting router thread pid 746 (80d92c00) [ 17.182000] Single synchronous check for reset [ 17.489000] [ 17.526000] boot 34 build switch-10-201808241214-G0a4ba17b-rel-owner board elemental mac [ 17.562000] Module: vtss_core .text=0xc1411000 .data=0xc14a90b0 .bss=0xc14a9320 [ 17.562000] Module: proclikefs .text=0xc007c000 .data= .bss=0xc007d040 [ 17.562000] Module: merakiclick .text=0xc182c000 .data=0xc197c800 .bss=0xc197ca80 [ 17.562000] Module: elts_meraki .text=0xc1f59000 .data=0xc224faa0 .bss=0xc22513d0 [ 17.562000] Module: vc_click .text=0xc23ba000 .data=0xc23ebfa0 .bss=0xc23ec130 [ 17.724000] ls -1 /sys/fs/pstore/dmesg-ramoops-* 2>/dev/null [ 17.756000] /usr/bin/check_bootreason: reading file : No such file or directory [ 20.871000] !!!!! {/usr/bin/switch_brain} opening /click/switch_port_table/dump_stack_info_and_reset_stack_change failed: No such file or directory [ 22.777000] chatter: from_sw0 :: FromVitesse: initializing fdma [ 24.007000] chatter: dhcp_tracker :: DHCPTracker: skipping undersized restore buffer (buf size: 0) [ 26.390000] !!!!! {/usr/bin/switch_brain} failed writing /click/switch_port_table/set_port_storm_control errno 2 len 211 data: "PORT 1, ENABLED true\nPORT 2, ENABLED ..." [ 27.312000] chatter: big_acl :: BigACL: skipping undersized restore buffer (buf size: 0) <Meraki> <Meraki> <Meraki>


OpenWrt bootlog

COPY HERE THE BOOTLOG ONCE OPENWRT IS INSTALLED AND RUNNING


Notes

Not openwrt yet however Hal has done some work to remove the Cisco cloud OS and allow local control https://watchmysys.com/blog/2020/06/ms220-8p-custom-firmware-from-scratch/

Tags

How to add tags