Topic: Cisco Meraki MS220-8P

Like many others, I've managed to get my hands on both a Meraki MR18 and an MS220-8P through their webinar promo.
While I've been able to follow the instructions to get the MR18 reflashed with OpenWrt (wonderful!), I haven't seen anything at all, even board photos of the MS220-8P.

While I know the MS220-8Pisn't exactly a router or wireless access point that would normally be the target of openwrt, It seems like it would be a perfectly capable device.

I probed around and found some pins and filled through-hole solder pads that showed 3.3v on my multimeter (headers J6 and J3) but attaching my UART-USB adapter to them in any order would not produce any output...
Anybody have any ideas about where I can start?

I took mine apart and took some photos of the insides:

http://i.imgur.com/aDIov84.jpg
http://i.imgur.com/w39xyli.jpg
http://i.imgur.com/Vtiy59Z.jpg
http://i.imgur.com/Xd3PwwL.jpg

Re: Cisco Meraki MS220-8P

J4 pinout - VCC, TX, RX, GND

Partial boot log:
[    0.000000] Linux version 2.6.32.63-meraki-elemental (jimroewe@jimroewe-linux) (gcc version 4.8.3 (GCC) ) #1 Thu Feb 12 14:24:31 PST 2015
[    0.000000] CPU revision is: 02019654 (MIPS 24Kc)
[    0.000000] Memory: 124900k/131008k available (2091k kernel code, 5960k reserved, 575k data, 1036k init, 0k highmem)

If you hold reset button while powering on it will boot to Vitesse command line interface with following commands availavle:
Command Groups:
---------------
System  : System settings and reset options
IP      : IP configuration and Ping
Port    : Port management
MAC     : MAC address table
VLAN    : Virtual LAN
PVLAN   : Private VLAN
Security: Security management
PoE     : Power Over Ethernet
Firmware: Download of firmware via TFTP
Debug   : Switch debug facilities

I changed IP address and I can ping my TFTP server but can't access files on TFTP in this mode.

More information about platform can be found at Microsemi web site - search for SMBStaX

3 (edited by akadata 2017-08-16 13:44:21)

Re: Cisco Meraki MS220-8P

I've been doing a little searching since I got my MS220-8P and I confirm its SMBStaX

it sure seems to match the hardware /CPU .

It seems I cant post links here so please google "Vitesse linux sdk"  there is a compiler and full SDK available ;)

ill be adding a serial port later today or tomorrow and ill do some more digging around and come back with more information. I for one want to see OpenWRT or some open Linux on the Switch and get rid of the whole license issue

Here is a complete boot log: If it helps anyone ;)

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.12 18:37:52 =~=~=~=~=~=~=~=~=~=~=~=
yYtÿpˆ†l1þÌüÿ³ÈÜ[    0.000000] Linux version 2.6.32.63-meraki-elemental (jimroewe@jimroewe-linux) (gcc version 4.8.3 (GCC) ) #1 Thu Feb 12 14:24:31 PST 2015
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 02019654 (MIPS 24Kc)
[    0.000000] Determined physical RAM map:
[    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 PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00007ff0
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00007ff0
[    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] 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] Writing ErrCtl register=80016010
[    0.000000] Readback ErrCtl register=80016010
[    0.000000] Cache parity protection enabled
[    0.000000] Memory: 124900k/131008k available (2091k kernel code, 5960k reserved, 575k data, 1036k init, 0k highmem)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:66
[    0.001000] Calibrating delay loop... 277.50 BogoMIPS (lpj=138752)
[    0.023000] Mount-cache hash table entries: 512
[    0.026000] devtmpfs: initialized
[    0.029000] NET: Registered protocol family 16
[    0.045000] bio: create slab <bio-0> at 0
[    0.049000] Switching to clocksource MIPS
[    0.056000] NET: Registered protocol family 2
[    0.060000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.068000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.075000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.082000] TCP: Hash tables configured (established 4096 bind 4096)
[    0.088000] TCP reno registered
[    0.092000] NET: Registered protocol family 1
[    0.128000] VCORE-III Watchdog Timer enabled (30 seconds).  Prev boot was not caused by WDT reset.
[    0.141000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.147000] Registering unionfs 2.5.10 (for 2.6.32.46)
[    0.153000] msgmni has been set to 244
[    0.170000] io scheduler noop registered
[    0.174000] io scheduler deadline registered (default)
[    0.181000] Trying to register dev faulty etc
[    0.187000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.196000] serial8250.0: ttyS0 at MMIO 0x70100000 (irq = 14) is a 16550A
[    0.203000] console [ttyS0] enabled, bootconsole disabled
[    0.203000] console [ttyS0] enabled, bootconsole disabled
[    0.216000] m25p80 spi0.1: found mx25l12805d, expected m25p80
[    0.222000] m25p80 spi0.1: mx25l12805d (16384 Kbytes)
[    0.228000] 9 cmdlinepart partitions found on MTD device m25p80
[    0.234000] Creating 9 MTD partitions on "m25p80":
[    0.238000] 0x000000000000-0x000000040000 : "loader1"
[    0.247000] 0x000000040000-0x000000400000 : "boot1"
[    0.256000] 0x000000400000-0x000000440000 : "loader2"
[    0.265000] 0x000000440000-0x000000800000 : "boot2"
[    0.274000] 0x000000800000-0x000000880000 : "rsvd"
[    0.283000] 0x000000880000-0x000000e80000 : "bootubi"
[    0.292000] 0x000000e80000-0x000000ec0000 : "conf"
[    0.301000] 0x000000ec0000-0x000000fc0000 : "stackconf"
[    0.311000] 0x000000fc0000-0x000001000000 : "syslog"
[    0.321000] ONFI flash detected
[    0.325000] ONFI param page 0 valid
[    0.328000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron MT29F1G08ABADAWP)
[    0.342000] Scanning device for bad blocks
[    0.452000] UBI: attaching mtd5 to ubi0
[    0.457000] UBI: physical eraseblock size:   4096 bytes (4 KiB)
[    0.463000] UBI: logical eraseblock size:    3968 bytes
[    0.468000] UBI: smallest flash I/O unit:    1
[    0.472000] UBI: VID header offset:          64 (aligned 64)
[    0.478000] UBI: data offset:                128
[    1.418000] UBI: max. sequence number:       2
[    1.458000] UBI: attached mtd5 to ubi0
[    1.462000] UBI: MTD device name:            "bootubi"
[    1.467000] UBI: MTD device size:            6 MiB
[    1.472000] UBI: number of good PEBs:        1536
[    1.476000] UBI: number of bad PEBs:         0
[    1.481000] UBI: number of corrupted PEBs:   0
[    1.485000] UBI: max. allowed volumes:       23
[    1.490000] UBI: wear-leveling threshold:    4096
[    1.495000] UBI: number of internal volumes: 1
[    1.499000] UBI: number of user volumes:     0
[    1.504000] UBI: available PEBs:             1532
[    1.509000] UBI: total number of reserved PEBs: 4
[    1.513000] UBI: number of PEBs reserved for bad PEB handling: 0
[    1.519000] UBI: max/mean erase counter: 2/1
[    1.524000] UBI: image sequence number:  690195393
[    1.529000] UBI: background thread "ubi_bgt0d" started, PID 147
[    1.535000] UBI: attaching mtd9 to ubi1
[    1.539000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    1.546000] UBI: logical eraseblock size:    129024 bytes
[    1.551000] UBI: smallest flash I/O unit:    2048
[    1.556000] UBI: sub-page size:              512
[    1.561000] UBI: VID header offset:          512 (aligned 512)
[    1.566000] UBI: data offset:                2048
[    2.313000] UBI: max. sequence number:       3514
[    2.352000] UBI: attached mtd9 to ubi1
[    2.356000] UBI: MTD device name:            "gen_nand.0"
[    2.361000] UBI: MTD device size:            128 MiB
[    2.366000] UBI: number of good PEBs:        1024
[    2.371000] UBI: number of bad PEBs:         0
[    2.376000] UBI: number of corrupted PEBs:   0
[    2.380000] UBI: max. allowed volumes:       128
[    2.385000] UBI: wear-leveling threshold:    4096
[    2.389000] UBI: number of internal volumes: 1
[    2.394000] UBI: number of user volumes:     12
[    2.399000] UBI: available PEBs:             407
[    2.403000] UBI: total number of reserved PEBs: 617
[    2.408000] UBI: number of PEBs reserved for bad PEB handling: 20
[    2.414000] UBI: max/mean erase counter: 7/4
[    2.419000] UBI: image sequence number:  1363641321
[    2.424000] UBI: background thread "ubi_bgt1d" started, PID 161
[    2.480000] tun: Universal TUN/TAP device driver, 1.6
[    2.485000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    2.492000] i2c /dev entries driver
[    2.499000] TCP cubic registered
[    2.502000] NET: Registered protocol family 17
[    2.507000] 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
[    2.514000] All bugs added by David S. Miller <davem@redhat.com>
[    2.520000] Meraki MS220-8 board detected
[    2.527000] i2c-gpio i2c-gpio.1: using pins 6 (SDA) and 5 (SCL)
[    2.545000] devtmpfs: mounted
[    2.565000] Freeing unused kernel memory: 1036k freed
[    2.573000] Made it into bootsh: Feb 12 2015 14:22:47
[    2.579000] bootsh build T-155655-g6cbd92d7-jimroewe
grep meraki-board-config /proc/misc | awk '{print $1}'
[    3.558000] Algorithmics/MIPS FPU Emulator v1.5
[    3.790000] UBIFS: mounted UBI device 1, volume 4, name "storage"
[    3.796000] UBIFS: file system size:   7354368 bytes (7182 KiB, 7 MiB, 57 LEBs)
[    3.804000] UBIFS: journal size:       1032193 bytes (1008 KiB, 0 MiB, 6 LEBs)
[    3.811000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[    3.817000] UBIFS: default compressor: lzo
[    3.821000] UBIFS: reserved for root:  347364 bytes (339 KiB)
[    3.882000] Mapping 21028864 bytes for /dev/mtdblock/part1
[   11.037000] Ehdr.e_entry = 803527d0 Ehdr.e_phoff = 34
[   11.042000] Phdr.p_offset = 2000 phdr.p_vaddr=80100000 phdr.p_filesz=e67dbc phdr.p_memsz=e82248
[   11.385000] UBIFS: un-mount UBI device 1, volume 4
[   11.393000] Starting new kernel
[   11.396000] Will call new kernel at 803527d0
[   11.396000] Bye ...
[    0.000000] Linux version 2.6.32.63-meraki-elemental (jenkins@dal247.meraki.com) (gcc version 4.8.3 (GCC) ) #2 Wed Sep 21 11:19:59 PDT 2016
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 02019654 (MIPS 24Kc)
[    0.000000] Determined physical RAM map:
[    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 PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00007ff0
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00007ff0
[    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] 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] Writing ErrCtl register=80016010
[    0.000000] Readback ErrCtl register=80016010
[    0.000000] Cache parity protection enabled
[    0.000000] Memory: 113820k/131008k available (2419k kernel code, 17012k reserved, 629k data, 11700k init, 0k highmem)
[    0.000000] SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:66
[    0.001000] Calibrating delay loop... 277.50 BogoMIPS (lpj=138752)
[    0.023000] Mount-cache hash table entries: 512
[    0.026000] devtmpfs: initialized
[    0.029000] NET: Registered protocol family 16
[    0.046000] bio: create slab <bio-0> at 0
[    0.052000] Switching to clocksource MIPS
[    0.059000] NET: Registered protocol family 2
[    0.064000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.071000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.079000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.085000] TCP: Hash tables configured (established 4096 bind 4096)
[    0.091000] TCP reno registered
[    0.095000] NET: Registered protocol family 1
[    3.811000] Algorithmics/MIPS FPU Emulator v1.5
[    3.849000] VCORE-III Watchdog Timer enabled (30 seconds).  Prev boot was not caused by WDT reset.
[    4.622000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    4.628000] Registering unionfs 2.5.10 (for 2.6.32.46)
[    4.750000] msgmni has been set to 222
[    4.807000] io scheduler noop registered
[    4.811000] io scheduler deadline registered (default)
[    4.819000] Trying to register dev faulty etc
[    4.837000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    4.879000] serial8250.0: ttyS0 at MMIO 0x70100000 (irq = 14) is a 16550A
[    4.885000] console [ttyS0] enabled, bootconsole disabled
[    4.885000] console [ttyS0] enabled, bootconsole disabled
[    4.980000] m25p80 spi0.1: found mx25l12805d, expected m25p80
[    4.986000] m25p80 spi0.1: mx25l12805d (16384 Kbytes)
[    4.991000] 9 cmdlinepart partitions found on MTD device m25p80
[    4.997000] Creating 9 MTD partitions on "m25p80":
[    5.002000] 0x000000000000-0x000000040000 : "loader1"
[    5.073000] 0x000000040000-0x000000400000 : "boot1"
[    5.115000] 0x000000400000-0x000000440000 : "loader2"
[    5.180000] 0x000000440000-0x000000800000 : "boot2"
[    5.246000] 0x000000800000-0x000000880000 : "rsvd"
[    5.312000] 0x000000880000-0x000000e80000 : "bootubi"
[    5.386000] 0x000000e80000-0x000000ec0000 : "conf"
[    5.455000] 0x000000ec0000-0x000000fc0000 : "stackconf"
[    5.527000] 0x000000fc0000-0x000001000000 : "syslog"
[    5.614000] ONFI flash detected
[    5.617000] ONFI param page 0 valid
[    5.621000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron MT29F1G08ABADAWP)
[    5.634000] Scanning device for bad blocks
[    5.845000] UBI: attaching mtd5 to ubi0
[    5.866000] UBI: physical eraseblock size:   4096 bytes (4 KiB)
[    5.872000] UBI: logical eraseblock size:    3968 bytes
[    5.877000] UBI: smallest flash I/O unit:    1
[    5.882000] UBI: VID header offset:          64 (aligned 64)
[    5.887000] UBI: data offset:                128
[    6.875000] UBI: max. sequence number:       2
[    6.918000] UBI: attached mtd5 to ubi0
[    6.922000] UBI: MTD device name:            "bootubi"
[    6.927000] UBI: MTD device size:            6 MiB
[    6.932000] UBI: number of good PEBs:        1536
[    6.936000] UBI: number of bad PEBs:         0
[    6.941000] UBI: number of corrupted PEBs:   0
[    6.945000] UBI: max. allowed volumes:       23
[    6.950000] UBI: wear-leveling threshold:    4096
[    6.955000] UBI: number of internal volumes: 1
[    6.959000] UBI: number of user volumes:     0
[    6.964000] UBI: available PEBs:             1532
[    6.968000] UBI: total number of reserved PEBs: 4
[    6.973000] UBI: number of PEBs reserved for bad PEB handling: 0
[    6.979000] UBI: max/mean erase counter: 2/1
[    6.983000] UBI: image sequence number:  690195393
[    6.988000] UBI: background thread "ubi_bgt0d" started, PID 319
[    7.006000] UBI: attaching mtd9 to ubi1
[    7.010000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    7.017000] UBI: logical eraseblock size:    129024 bytes
[    7.022000] UBI: smallest flash I/O unit:    2048
[    7.027000] UBI: sub-page size:              512
[    7.032000] UBI: VID header offset:          512 (aligned 512)
[    7.038000] UBI: data offset:                2048
[    7.778000] UBI: max. sequence number:       3515
[    7.913000] UBI: attached mtd9 to ubi1
[    7.917000] UBI: MTD device name:            "gen_nand.0"
[    7.922000] UBI: MTD device size:            128 MiB
[    7.927000] UBI: number of good PEBs:        1024
[    7.932000] UBI: number of bad PEBs:         0
[    7.936000] UBI: number of corrupted PEBs:   0
[    7.941000] UBI: max. allowed volumes:       128
[    7.945000] UBI: wear-leveling threshold:    4096
[    7.950000] UBI: number of internal volumes: 1
[    7.955000] UBI: number of user volumes:     12
[    7.959000] UBI: available PEBs:             407
[    7.964000] UBI: total number of reserved PEBs: 617
[    7.969000] UBI: number of PEBs reserved for bad PEB handling: 20
[    7.975000] UBI: max/mean erase counter: 7/4
[    7.979000] UBI: image sequence number:  1363641321
[    7.985000] UBI: background thread "ubi_bgt1d" started, PID 339
[    8.774000] tun: Universal TUN/TAP device driver, 1.6
[    8.779000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    8.869000] i2c /dev entries driver
[    8.996000] TCP cubic registered
[    9.000000] Initializing XFRM netlink socket
[    9.122000] NET: Registered protocol family 10
[    9.128000] NET: Registered protocol family 17
[    9.133000] NET: Registered protocol family 15
[    9.138000] 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
[    9.145000] All bugs added by David S. Miller <davem@redhat.com>
[    9.151000] Meraki MS220-8 board detected
[    9.270000] i2c-gpio i2c-gpio.1: using pins 6 (SDA) and 5 (SCL)
[    9.341000] devtmpfs: mounted
[    9.541000] Freeing unused kernel memory: 11700k freed

[    9.615000] Made it into bootsh: Sep 21 2016 11:18:02
[    9.621000] bootsh build switch-8-201609211018-G74893c4b-j
[    9.627000] mount_bootpartition: mounting bootroot: No such file or directory
grep meraki-board-config /proc/misc | awk '{print $1}'
[    9.661000] unmount_bootpartition: unmounting bootroot: No such file or directory
[    9.959000] UBIFS: mounted UBI device 1, volume 4, name "storage"
[    9.965000] UBIFS: file system size:   7354368 bytes (7182 KiB, 7 MiB, 57 LEBs)
[    9.973000] UBIFS: journal size:       1032193 bytes (1008 KiB, 0 MiB, 6 LEBs)
[    9.980000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[    9.986000] UBIFS: default compressor: lzo
[    9.990000] UBIFS: reserved for root:  347364 bytes (339 KiB)
In manufacturing: FALSE
In manufacturing: FALSE
[   10.029000] 
init started: BusyBox v1.24.1 (2016-09-21 10:57:25 PDT)
WARNING! THIS CONSOLE IS LOGGED! UNAUTHORIZED ACCESS FORBIDDEN!
<Meraki> [   10.642000] sysctl: error: 'vm.extfrag_threshold' is an unknown key
[   10.802000] sh: write error: Device or resource busy
[   11.801000] switch: 'Meraki MS220-8' board detected
[   12.405000] sysctl -w vm.panic_on_oom=2
[   12.425000] vm.panic_on_oom = 2
[   19.407000] click: starting router thread pid 686 (857aa600)
[   27.728000] Single synchronous check for reset
[   28.140000] pd690xx 1-0030: device found
[   28.158000] poe: pd690xx as /class/poe/poe0
[   29.374000] pd690xx 1-0030: Controller 0 boot finished
[   29.489000] 
[   29.528000] boot 8 build switch-8-201609211018-G74893c4b-j board elemental mac 0C:8D:DB:7F:FC:35
[   29.556000] Module: vtss_core  .text=0xc1492000 .data=0xc1520210 .bss=0xc1520460
[   29.556000] Module: proclikefs  .text=0xc10fd000 .data= .bss=0xc10fdfa0
[   29.556000] Module: merakiclick  .text=0xc18c4000 .data=0xc19eebf0 .bss=0xc19eee40
[   29.556000] Module: elts_meraki  .text=0xc1eab000 .data=0xc208c7b0 .bss=0xc208cfb0
[   29.556000] Module: pd690xx_poe  .text=0xc21d2000 .data=0xc21d4300 .bss=
[   29.556000] Module: vc_click  .text=0xc2243000 .data=0xc2273340 .bss=0xc2273490
[   29.768000] phram: phram-oops device: 0x10000 at 0x7ff0000
[   31.564000] 
[   31.564000] !!!!! {/usr/bin/switch_brain} opening /click/switch_port_table/dump_stack_info_and_reset_stack_change failed: No such file or directory
[   33.819000] chatter: from_sw0 :: FromVitesse: initializing fdma
[   35.493000] chatter: big_acl :: BigACL: skipping undersized restore buffer (buf size: 0)
<Meraki> help
UNRECOGNIZED COMMAND LOGGED TO CLOUD SERVERS.


IT was not plugged into the network so lets see if this is really logged. I think this is the most interesting part of the boot.log that I can see

[    9.270000] i2c-gpio i2c-gpio.1: using pins 6 (SDA) and 5 (SCL)


To get the console to boot to a console I had to press reset and CTRL+C  

Available Commands:

System Configuration [all | (port <port_list>)]
System Version
System Name [<name>]
System Contact [<contact>]
System Location [<location>]
System Timezone [<offset>]
System Reboot
System Restore Default [keep_ip]
System Load
System>System Configuration all


Invalid command
System>System Configuration 


Invalid command
System>cver


Invalid command
System>version


Version      : SMBStaX (standalone) dev-build by tanks@soft201 2015-08-28T23:43:56+08:00 Config:config.mk
Build Date   : 2015-08-28T23:43:56+08:00
System>?/


Invalid command
System>/


>?


General Commands:
-----------------
Help/?: Get help on a group or a specific command
Up    : Move one command level up
Logout: Exit CLI

Command Groups:
---------------
System  : System settings and reset options
IP      : IP configuration and Ping
Port    : Port management
MAC     : MAC address table
VLAN    : Virtual LAN
PVLAN   : Private VLAN
Security: Security management
PoE     : Power Over Ethernet
Firmware: Download of firmware via TFTP
Debug   : Switch debug facilities

Type '<group>' to enter command group, e.g. 'port'.
Type '<group> ?' to get list of group commands, e.g. 'port ?'.
Type '<command> ?' to get help on a command, e.g. 'port mode ?'.
Commands may be abbreviated, e.g. 'por co' instead of 'port configuration'.
>firmware


Type 'up' to move up one level or '/' to go to root level
Firmware>?


Available Commands:

Firmware Load <ip_addr_string> <file_name>
Firmware NetLoad <url>
Firmware Information
Firmware Swap
Firmware>/


>debug


Type 'up' to move up one level or '/' to go to root level
Debug>?


Available Commands:

Debug PoE Backup_Supply [<supply_power>]
Debug API [<layer>] [<group>] [<port_list>] [full]
Debug APVLAN [<port>] [<port_list>]
Debug Assert <appl|os|except>
Debug Board [<mac_addr>] [<board_id>] [<board_type>]
Debug Chip [<chip_no>]
Debug Configuration Blocks [clear]
Debug Configuration Flash [enable|disable]
Debug Configuration Stack [enable|disable]
Debug Critd List [<module>] [detailed]
Debug Critd MaxLock [<module>] [clear]
Debug Firmware Bootloader <ip_addr> <file_name>
Debug Firmware CheckSame [enable|disable]
Debug Firmware Load <flash_name> <ip_addr> <file_name>
Debug Firmware NetLoad <flash_name> <url>
Debug Firmware Pause [<integer>]
Debug Frame TPID [<etype>]
Debug Frame Tx <port_none_list> [<packet_length>] [<dmac>] [<smac>] [<vid>] [<etype>]
Debug Frame TxCnt [<tx_cnt>]
Debug Heap
Debug I2C_Read <i2c_addr> <i2c_bytes>
Debug I2C_Scan_rd
Debug I2C_Write <i2c_addr> <i2c_data> [<i2c_data>] [<i2c_data>] [<i2c_data>] [<i2c_data>] [<i2c_data>] [<i2c_data>] 
Debug Init <integer> [<integer>] [<integer>]
Debug Interrupt_Source_Hook <int_source> [enable|disable]
Debug IP KMem
Debug IP Log [<value>]
debug IP Route
Debug IP Sockets
Debug IPMC Add <vid> <sip> <dip> <port_list> [ipv6]
Debug IPMC Delete <vid> <sip> <dip> [ipv6]
Debug IRQ [clear]
Debug LED Usid [<sid>]
Debug MAC Del <mac_addr> <integer> [<vid>]
Debug MAC Dump [<mac_max>] [<mac_addr>] [<vid>]
Debug MAC Eat <mac_addr> <port_list> <integer> [<vid>]
Debug MAC stack dump
Debug MAC Voladd <mac_addr> <port_cpu_list> [<vid>]
Debug MAC Voldel <mac_addr>
Debug MAC Voleat <mac_addr> <port_list> <integer> [<vid>]
Debug Memory Dump <addr> [<item_cnt>] [<item_size>]
Debug Memory Fill <addr> <fill_val> [<item_cnt>] [<item_size>]
Debug memtest [<size>] [<cnt>]
Debug Msg [<integer>] [<integer>] [<integer>]
          [<integer>] [<integer>] [<integer>]
Debug Packet Statistics [<integer>] [<integer>] [<integer>]
                        [<integer>] [<integer>] [<integer>]
Debug Packet Throttle [<xtr_qu>] [<max_frms_per_sec>]
Debug PHY auto-neg config <port> [enable|disable] [<master>]
Debug PHY Clock Config <port> <clock> [serdes|copper|tclk|xtal|disable] [25m|125m|3125m] [<squelch>]
Debug PHY do_page_chk [enable|disable]
Debug PHY i2c_rd <port_list> <i2c_mux> <i2c_device_addr> <i2c_reg_addr>
Debug PHY i2c_wr <port_list> <i2c_mux> <i2c_device_addr> <i2c_reg_addr> <i2c_data>
Debug PHY ib_cterm <port_list> <ib_cterm_value> <ib_eq_mode>
Debug PHY instance [default|phy_inst]
Debug PHY Loopback [<port_list>] [far|near] [enable|disable]
Debug PHY MMD_Read <port_list> <devad> <mmd_reg_addr> [binary|decimal]
Debug PHY MMD_Write <port_list> <devad> <mmd_reg_addr> <value>
Debug PHY ob_post0 <port_list> <value>
Debug PHY patch_settings_get <port_list>
Debug PHY Read <port_list> <addr_list> [<page>] [binary|decimal]
Debug PHY Statistic [<port_list>]
Debug PHY Write <port_list> <addr_list> <value> [<page>]
Debug PoE Cap_Detection [enable|disable]
Debug PoE Firmware Load <ip_addr_string> <file_name>
Debug PoE Reg_Rd <port_list> <addr>
Debug PoE Reg_Wr <port_list> <addr> <data>
Debug PoE status
Debug Port Advertise [<port_list>] [10hdx|10fdx|100hdx|100fdx|1000fdx] [enable|disable]
Debug Port Capabilities [<port_list>] [up|down]
Debug Port Change [<port_list>] [up|down] [clear]
Debug Port Configuration [<port_list>] [up|down]
Debug Port Group [<port_list>] [<group_no>]
Debug Port Info
Debug Port NPI <port> <cpu_qmask> [enable|disable]
Debug Port Registrations [clear]
Debug Port Statistics [<port_list>] [<command>] [up|down]
Debug Port Tags [<port_list>] [none|one|two] [up|down]
Debug Power I2C_Read <i2c_addr> <cmd_code> [<i2c_bytes>] [<cnt>]
Debug Power I2C_Test [<cnt>]
Debug Power I2C_Write <i2c_addr> <cmd_code> <i2c_data> [<i2c_data>]
Debug Prio [<thread_id>] [<thread_prio>]
Debug Prompt <prompt>
Debug Register Read <tgt_list> <addr_list> [binary|decimal]
Debug Register Write <tgt_list> <addr_list> <value>
Debug Resume
Debug Ser_rd
Debug Ser_wr [<serial_data>] [<serial_data>] [<serial_data>] [<serial_data>]
Debug SFP_rd <i2c_addr> <i2c_bytes> <i2c_clk_sel> <sfp_reg_addr> [<sfp_reg_addr>] 
Debug SFP_rd_phy [<port_list>] [<i2c_addr>]
Debug Suspend
Debug Sym Read <reg_syntax> [binary|decimal]
Debug Sym Write <reg_syntax> <value>
Debug System Reboot [cold|cool]
Debug Thread [backtrace] [enable|disable]
Debug Time [<date_time>]
Debug Trace Configuration [write|read|erase]
Debug Trace Global Level [none|error|warning|info|debug|noise|racket]
Debug Trace Module Level [<trace_module>] [<trace_group>] [none|error|warning|info|debug|noise|racket]
Debug Trace Module Port_trace [<port_list>] [enable|disable]
Debug Trace Module RingBuffer [<trace_module>] [<trace_group>] [enable|disable|yes|no]
Debug Trace Module Timestamp [<trace_module>] [<trace_group>] [enable|disable|yes|no]
Debug Trace Module Usec [<trace_module>] [<trace_group>] [enable|disable|yes|no]
Debug Trace Reverse
Debug Trace RingBuffer Flush
Debug Trace RingBuffer Print
Debug Trace RingBuffer Start
Debug Trace RingBuffer Stop
Debug Trace Thread Level [<thread_id>] [none|error|warning|info|debug|noise|racket]
Debug Trace Thread Stackuse [<thread_id>] [enable|disable|yes|no]
Debug VLAN Add <vid> [<ports_list>] [static]
Debug VLAN Conf [<port_list>]
Debug VLAN Delete <vid> [static]
Debug VLAN Empty
Debug VLAN Etype
Debug VLAN Fillup <vid>
Debug VLAN Lookup
Debug Wait <integer>
Debug>/


>?


General Commands:
-----------------
Help/?: Get help on a group or a specific command
Up    : Move one command level up
Logout: Exit CLI

Command Groups:
---------------
System  : System settings and reset options
IP      : IP configuration and Ping
Port    : Port management
MAC     : MAC address table
VLAN    : Virtual LAN
PVLAN   : Private VLAN
Security: Security management
PoE     : Power Over Ethernet
Firmware: Download of firmware via TFTP
Debug   : Switch debug facilities

Type '<group>' to enter command group, e.g. 'port'.
Type '<group> ?' to get list of group commands, e.g. 'port ?'.
Type '<command> ?' to get help on a command, e.g. 'port mode ?'.
Commands may be abbreviated, e.g. 'por co' instead of 'port configuration'.
>ip


Type 'up' to move up one level or '/' to go to root level
IP>?


Available Commands:

IP Address <vlan> <ip_ifaddr>
IP Address Delete <vlan> <ip_ifaddr>
IP Configuration
IP DHCP <vlan> [enable|disable]
IP Interface add <vlan_list>
IP Interface delete [<vlan_list>]
IP Interface list [<vlan_list>]
IP Mode [host|router]
IP Neighbour Clear
IP Neighbour List
IP Ping <ip_target> [(Length <ping_length>)] [(Count <ping_count>)] [(Interval <ping_interval>)]
IP Route Add <ip_net> <ip_gateway>
IP Route Delete <ip_net> <ip_gateway>
IP Route List
IP>route list


127.0.0.1/32 via OS:lo:127.0.0.1 <UP HOST>
224.0.0.0/4 via OS:lo:127.0.0.1 <UP>
::1/128 via OS:lo:::1 <UP HOST>
fe80:1::/128 via OS:lo:fe80:1::1 <UP>
fe80:1::1/128 via OS:lo <UP HOST>
fe80:2::/128 via VLAN1 <UP>
fe80:2::201:c1ff:fe00:0/128 via OS:lo:1:c100:: <UP HOST>
ff01:1::/128 via OS:lo:::1 <UP>
ff01:2::/128 via VLAN1 <UP>
ff02:1::/128 via OS:lo:::1 <UP>
ff02:2::/128 via VLAN1 <UP>
IP>/


>?


General Commands:
-----------------
Help/?: Get help on a group or a specific command
Up    : Move one command level up
Logout: Exit CLI

Command Groups:
---------------
System  : System settings and reset options
IP      : IP configuration and Ping
Port    : Port management
MAC     : MAC address table
VLAN    : Virtual LAN
PVLAN   : Private VLAN
Security: Security management
PoE     : Power Over Ethernet
Firmware: Download of firmware via TFTP
Debug   : Switch debug facilities

Type '<group>' to enter command group, e.g. 'port'.
Type '<group> ?' to get list of group commands, e.g. 'port ?'.
Type '<command> ?' to get help on a command, e.g. 'port mode ?'.
Commands may be abbreviated, e.g. 'por co' instead of 'port configuration'.
>potrt


Invalid command
>port


Type 'up' to move up one level or '/' to go to root level
Port>?


Available Commands:

Port Configuration [<port_list>] [up|down]
Port Mode [<port_list>] [auto|10hdx|10fdx|100hdx|100fdx|1000fdx|sfp_auto_ams]
Port Flow Control [<port_list>] [enable|disable]
Port State [<port_list>] [enable|disable]
Port MaxFrame [<port_list>] [<max_frame>]
Port Excessive [<port_list>] [discard|restart]
Port Statistics [<port_list>] [<command>] [up|down]
Port VeriPHY [<port_list>]
Port SFP [<port_list>]
Port>/


>system


Type 'up' to move up one level or '/' to go to root level
System>?


Available Commands:

System Configuration [all | (port <port_list>)]
System Version
System Name [<name>]
System Contact [<contact>]
System Location [<location>]
System Timezone [<offset>]
System Reboot
System Restore Default [keep_ip]
System Load
System>load


Load average(100ms, 1s, 10s):   0%,   0%,   0%
System>/


>system


Type 'up' to move up one level or '/' to go to root level
System>?


Available Commands:

4 (edited by akadata 2017-08-16 13:43:59)

Re: Cisco Meraki MS220-8P

After playing some more the debug interface seems to provide some useful information,

I hope this is useful to someone else?

 
Debug>Assert os


Generating OS assertion...
ASSERT FAIL: <A>misc_cli.c[1491]misc_cli_assert() Artificial OS assertion


eCos assertion:../../vtss_appl/misc/misc_cli.c:1491: Artificial OS assertion, version Version      : SMBStaX (standalone) dev-build by tanks@soft201 2015-08-28T23:43:56+08:00 Config:config.mk


Build Date   : 2015-08-28T23:43:56+08:00


Warning: Return addresses are highly unreliable (code seems to be compiled with -O2)


ID  State SetPrio CurPrio Name                   1sec Load 10sec Load Stack Base Size  Used 


--- ----- ------- ------- ---------------------- --------- ---------- ---------- ----- -----


DSR N/A       N/A     N/A DSR Context                  N/A        N/A        N/A   N/A   N/A


  2 Sleep       6       6 Network alarm support        N/A        N/A 0x80528678  4096  1676


#0  0x80135244


#1  0x80136444


#2  0x801465ec


#3  0x80130f34


#4  0x80130f08


  3 Sleep       7       7 Network support              N/A        N/A 0x803d6184  8192   380


#0  0x80135244


#1  0x8013674c


#2  0x801448dc


#3  0x80130f34


#4  0x80130f08


  4 Susp       15      15 pthread.00000800             N/A        N/A 0x80530264  7828   576


#0  0x80135244


#1  0x801317e4


#2  0x801a2d4c


#3  0x801a2cd8


#4  0x801a119c


#5  0x801a14f8


#6  0x80130f34


#7  0x80130f08


  5 Sleep       7       7 Main                         N/A        N/A 0x8036a558 16384   400


#0  0x80135244


#1  0x8013674c


#2  0x800816f4


#3  0x80080824


#4  0x80130f34


#5  0x80130f08


  6 Sleep       7       7 Critd                        N/A        N/A 0x8036f648  8192   600


#0  0x80135244


#1  0x80131a90


#2  0x80085174


#3  0x80130f34


#4  0x80130f08


  7 Sleep       8       8 Configuration                N/A        N/A 0x802b8b60  8192   880


#0  0x80135244


#1  0x80136444


#2  0x8004e228


#3  0x8004d420


#4  0x80130f34


#5  0x80130f08


  8 Sleep       7       7 Port Control                 N/A        N/A 0x80393150 32768  2492


#0  0x80135244


#1  0x80136444


#2  0x800b383c


#3  0x800ae134


#4  0x80130f34


#5  0x80130f08


  9 Sleep       4       4 INTERRUPT THREAD             N/A        N/A 0x80269a00  8192   464


#0  0x80135244


#1  0x80136444


#2  0x800448d0


#3  0x80130f34


#4  0x80130f08


 10 Run         7       7 CLI Serial                   N/A        N/A 0x8026cc80 40960 10152


#0  0x80135244


#1  0x80135244


#2  0x8012de94


#3  0x8012e3e0


#4  0x8012de94


#5  0x8012e3e0


#6  0x80141168


#7  0x8012dea8


#8  0x8012e8d0


#9  0x800400cc


#10 0x8012e918


#11 0x80044e54


#12 0x80044e54


#13 0x8012e8d0


#14 0x80046018


#15 0x8012e918


#16 0x80080e9c


#17 0x80081f60


#18 0x80088280


#19 0x8004a070


#20 0x801339b8


#21 0x80040570


#22 0x80123bc4


#23 0x80134ed8


#24 0x80134ed0


#25 0x80137bb8


#26 0x80123d10


#27 0x80124c80


#28 0x8012714c


#29 0x80135244


#30 0x80135244


#31 0x801339b8


#32 0x80040570


#33 0x8013d388


#34 0x801339b8


#35 0x80123bc4


#36 0x801301b4


#37 0x80134e94


#38 0x80134ed8


#39 0x80134ed0


#40 0x80124bac


#41 0x801271ec


#42 0x80124c00


#43 0x80137bb8


#44 0x80123d10


#45 0x80124c80


#46 0x80120a0d


#47 0x80124c80


#48 0x8012714c


#49 0x801a0e8c


#50 0x8019ee3c


#51 0x8012714c


#52 0x8019ee3c


#53 0x80085dd8


#54 0x8004a4a8


#55 0x80045c90


#56 0x80130f34


#57 0x80130f08


 11 Sleep       7       7 Telnet CLI Main              N/A        N/A 0x80277020  8192   584


#0  0x80135244


#1  0x80136444


#2  0x8019f6a0


#3  0x8004c280


#4  0x80130f34


#5  0x80130f08


 12 Sleep       7       7 LED                          N/A        N/A 0x802686b8  4096   832


#0  0x80135244


#1  0x80136444


#2  0x80043984


#3  0x80130f34


#4  0x80130f08


 13 Sleep       6       6 Packet TX Pending            N/A        N/A 0x80383a98  8192   776


#0  0x80135244


#1  0x80137dd0


#2  0x800931c0


#3  0x80130f34


#4  0x80130f08


 14 Sleep       6       6 Packet TX Done               N/A        N/A 0x803818f8  8192   624


#0  0x80135244


#1  0x8013674c


#2  0x80096028


#3  0x80130f34


#4  0x80130f08


 15 Sleep       7       7 Packet RX                    N/A        N/A 0x80385bb8 16384  1072


#0  0x80135244


#1  0x8013674c


#2  0x80093bf8


#3  0x80130f34


#4  0x80130f08


 16 Sleep       7       7 DhcpClient                   N/A        N/A 0x802c2e74  8192   340


#0  0x80135244


#1  0x8013674c


#2  0x80050300


#3  0x80130f34


#4  0x80130f08


 17 Sleep       5       5 IP2.driver                   N/A        N/A 0x80302890  8192   672


#0  0x80135244


#1  0x8013674c


#2  0x80065488


#3  0x80130f34


#4  0x80130f08


 18 Sleep       7       7 IP2.monitor                  N/A        N/A 0x802fd760  8192  1288


#0  0x80135244


#1  0x8013674c


#2  0x80061d98


#3  0x80130f34


#4  0x80130f08


 19 Sleep       7       7 IP2.main                     N/A        N/A 0x80362e58  8192  2800


#0  0x80135244


#1  0x80136444


#2  0x8006cf88


#3  0x80130f34


#4  0x80130f08


 20 Sleep       7       7 Mac Age Control              N/A        N/A 0x80365340  8192   328


#0  0x80135244


#1  0x8013674c


#2  0x8007e700


#3  0x80130f34


#4  0x80130f08


 21 Sleep       7       7 Firmware                     N/A        N/A 0x802c5268 16384   352


#0  0x80135244


#1  0x80136afc


#2  0x800599dc


#3  0x80059a94


#4  0x80130f34


#5  0x80130f08


 22 Sleep       7       7 Init Modules                 N/A        N/A 0x80378ad0 16384  3260


#0  0x80135244


#1  0x8013674c


#2  0x8008e284


#3  0x80130f34


#4  0x80130f08


 23 Sleep       7       7 Message TX                   N/A        N/A 0x803728a0  8192   664


#0  0x80135244


#1  0x80136444


#2  0x8008def4


#3  0x80130f34


#4  0x80130f08


 24 Sleep       7       7 Message RX                   N/A        N/A 0x803749b8 16384  1056


#0  0x80135244


#1  0x8013674c


#2  0x8008d580


#3  0x80130f34


#4  0x80130f08


 25 Sleep       7       7 Message Test                 N/A        N/A 0x8037cc28  8192   280


#0  0x80135244


#1  0x8013674c


#2  0x8009259c


#3  0x80130f34


#4  0x80130f08


 26 Sleep       7       7 POE                          N/A        N/A 0x8038abc8 32768  3264


#0  0x80135244


#1  0x80131a90


#2  0x8009e528


#3  0x80130f34


#4  0x80130f08


  1 Run        31      31 Idle Thread                  N/A        N/A 0x803d5368  2048   904


#0  0x80135244


#1  0x801339fc


#2  0x80040570


#3  0x801236f8


#4  0x80130dfc


#5  0x80130df4


#6  0x80135244


#7  0x80135244


#8  0x80135054


#9  0x80135790


#10 0x80130f34


#11 0x80130f08


#12 0x80081060


 28 Sleep       7       7 RUBYTECH POST                N/A        N/A 0x8039f5c8 16384  2156


#0  0x80135244


#1  0x80131a90


#2  0x800b9d4c


#3  0x800b8574


#4  0x80130f34


#5  0x80130f08


 29 Susp        7       7 marquee                      N/A        N/A 0x803a36e0  8192   240


#0  0x80130f08

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

5 (edited by akadata 2017-08-16 13:46:20)

Re: Cisco Meraki MS220-8P

The image below shows the back of J3,

<img src='//imgur.com/a/v4LY'>

Tested and I do not think its USB but its interesting with the resistors there

Re: Cisco Meraki MS220-8P

I've found it, and Guess what it uses OpenWRT Already

dl.meraki.net/linux/licenses/license-MS.html#openwrt

Time to write an email and maybe get charged $15 for obtaining the source code.

Re: Cisco Meraki MS220-8P

Cisco replied today with the source code + patches of the MS220-8P

dl.meraki.net/switch-8-10-20170825.tar.bz2

Re: Cisco Meraki MS220-8P

Nice investigation akadata!

I wonder what kind of work is needed... I'd imagine that just having sources doesn't make things magically easy to get working. Wish I was a programmer and knew how this stuff works.

Re: Cisco Meraki MS220-8P

My MS220-8P is expiring on 9/11. I am open and willing to be a guinea pig for testing if this gets any traction.

Re: Cisco Meraki MS220-8P

The email reply I got from meraki is below and has the information needed to get started.
I've found a few issues and missing Cisco code they didnt share but it's a starting point

Hi Andrew – I forwarded your question to the engineering team that prepared the tarball. This was the response:

He needs to copy openwrt/config-elemental to openwrt/.config, touch openwrt/.config.cmd, and type make in that directory. I figured this out by reading the error messages from openwrt. Since openwrt is ubiquitous, I would expect this to be debugable by the average engineer. If he means something else by broken, he would need to have more detail. Some of the software we use in the product is BSD licensed, some proprietary, and that is not included in this tarball.

Hopefully that helps. They also said that other requesters have made use of the tarball without issue, so they believe it should build in a publicly available build environment.

If you still have trouble, you’d have to provide me more specific information about what is not building to take back to the team. Please note though, as the engineer mentions above, the final product image wouldn’t be buildable from that tarball because it includes proprietary code and other open source code not subject to disclosure (e.g., BSD, MIT, Apache, etc). However, the parts like openwrt and the linux kernel should build based on what’s provided.

Re: Cisco Meraki MS220-8P

Nice work !

Re: Cisco Meraki MS220-8P

A little more research and this github repo may be helpful

https://github.com/vtss

It seems to have lots of Vitess support and a Kernel

Re: Cisco Meraki MS220-8P

Wonderbread24 wrote:

My MS220-8P is expiring on 9/11. I am open and willing to be a guinea pig for testing if this gets any traction.

Assuming you are Linux friendly have a raspberry pi or other "spi" interface the ms220-8p has what looks like an spi expander.

I'm  putting off  finding the correct pins to use on the jtag interface or other connector to left of serial which seems like the most likely option. Another thing I was wondering? What happens when the POE Power supply is unplugged inside? As the switch has 2 Power Supplys one has to be the POE One, Im thinking on the back left. Does it still function with this disconnected as it sure will save a few Watts and ££ if we dont want POE

You can use flashrom on the rpi to backup the existing flash and then we can all start playing with other firmware knowing we cant brick the switch.

Re: Cisco Meraki MS220-8P

akadata wrote:
Wonderbread24 wrote:

My MS220-8P is expiring on 9/11. I am open and willing to be a guinea pig for testing if this gets any traction.

Assuming you are Linux friendly have a raspberry pi or other "spi" interface the ms220-8p has what looks like an spi expander.

I'm  putting off  finding the correct pins to use on the jtag interface or other connector to left of serial which seems like the most likely option. Another thing I was wondering? What happens when the POE Power supply is unplugged inside? As the switch has 2 Power Supplys one has to be the POE One, Im thinking on the back left. Does it still function with this disconnected as it sure will save a few Watts and ££ if we dont want POE

You can use flashrom on the rpi to backup the existing flash and then we can all start playing with other firmware knowing we cant brick the switch.


lmk what you need hooked up, i have one expiring on the 21'st of oct.  i have a rasp, just dont know how to wire up spi and never dumped a rom, but i'm more then capable of trying.  i know my way around linux, just never used flashrom. 


just let me know what pins go to the pi and some general flashrom and i'll get that for you.

15 (edited by akadata 2017-11-09 00:58:46)

Re: Cisco Meraki MS220-8P

gangaskan wrote:
akadata wrote:
Wonderbread24 wrote:

My MS220-8P is expiring on 9/11. I am open and willing to be a guinea pig for testing if this gets any traction.

Assuming you are Linux friendly have a raspberry pi or other "spi" interface the ms220-8p has what looks like an spi expander.

I'm  putting off  finding the correct pins to use on the jtag interface or other connector to left of serial which seems like the most likely option. Another thing I was wondering? What happens when the POE Power supply is unplugged inside? As the switch has 2 Power Supplys one has to be the POE One, Im thinking on the back left. Does it still function with this disconnected as it sure will save a few Watts and ££ if we dont want POE

You can use flashrom on the rpi to backup the existing flash and then we can all start playing with other firmware knowing we cant brick the switch.


lmk what you need hooked up, i have one expiring on the 21'st of oct.  i have a rasp, just dont know how to wire up spi and never dumped a rom, but i'm more then capable of trying.  i know my way around linux, just never used flashrom. 


just let me know what pins go to the pi and some general flashrom and i'll get that for you.


I've not managed nor had time to find the SPI pins yet. however PM me and ill send a link to make your RPI + 8 pin SOIC chip do flashrom on a SPI chip,, sadly the MS220-8p has a SPI multiplexer

Once we get SPI connectivity, its a simple job of backup the ROM, mount the filesystem and extract the bits we are missing wink

Re: Cisco Meraki MS220-8P

akadata how are you accessing the debug console?  When I press reset on the MS220-8P and hold ctrl-c, the switch just reboots normally.

I have verified my uart is communicating with the switch properly.

Re: Cisco Meraki MS220-8P

akadata wrote:
gangaskan wrote:
akadata wrote:

Assuming you are Linux friendly have a raspberry pi or other "spi" interface the ms220-8p has what looks like an spi expander.

I'm  putting off  finding the correct pins to use on the jtag interface or other connector to left of serial which seems like the most likely option. Another thing I was wondering? What happens when the POE Power supply is unplugged inside? As the switch has 2 Power Supplys one has to be the POE One, Im thinking on the back left. Does it still function with this disconnected as it sure will save a few Watts and ££ if we dont want POE

You can use flashrom on the rpi to backup the existing flash and then we can all start playing with other firmware knowing we cant brick the switch.


lmk what you need hooked up, i have one expiring on the 21'st of oct.  i have a rasp, just dont know how to wire up spi and never dumped a rom, but i'm more then capable of trying.  i know my way around linux, just never used flashrom. 


just let me know what pins go to the pi and some general flashrom and i'll get that for you.


I've not managed nor had time to find the SPI pins yet. however PM me and ill send a link to make your RPI + 8 pin SOIC chip do flashrom on a SPI chip,, sadly the MS220-8p has a SPI multiplexer

Once we get SPI connectivity, its a simple job of backup the ROM, mount the filesystem and extract the bits we are missing wink


wont let me PM You hmm