Installing OpenWrt on Meraki MX60W, no luCI

Hey everyone. I was trying to install OpenWrt on a Cisco Meraki MX60W, following the guide here. It works all the way up to the point where I have to boot into OpenWrt. I run the bootm $fileaddr command, the boot log begins, and then it stops after about 30 seconds. I press enter to activate the console, and I am greeted by the OpenWrt splash message. However, I cannot access LuCI. To be more accurate, by looking in /etc/config/, uhttpd is not even installed, and neither is the LuCI package. From my understanding that's not how it should be.

I tried this process 2 or 3 times and the same thing happened. Here's my boot log.

U-Boot 2009.08-00049-g0ee25dd Meraki MX60 (Jul 27 2012 - 14:59:20)

CPU:   AMCC PowerPC  UNKNOWN (PVR=12c41c83) at 800 MHz (PLB=200, OPB=100, EBC=100 MHz)
       Bootstrap Option D - Boot ROM Location NAND wo/ECC 2k page (8 bits), booting from NAND
       32 kB I-Cache 32 kB D-Cache
Board: Buckminster Wireless - Meraki Buckminster Wireless Cloud Managed Router
============================
BoardID: 0 0
Reset Button Status: 1
============================
SDR0_PERCLK=0x40000300
I2C:   ready
DRAM:  512 MB
NAND:  1024 MiB
I2c read: failed 4
I2c read: failed 4
I2c read: failed 4
Net:   ppc_4xx_eth0
Initializing Bluestone Ethernet Port ...
Disabling port 0
Disabling port 1
Disabling port 2
Disabling port 3
ENET Speed is 1000 Mbps - FULL duplex connection (EMAC0)
*** ERROR: ping address not given
RESET is un-pushed

Set serverpath and run meraki_netboot to netboot

Hit any key to stop autoboot:  0
=> setenv owrt_load1 ubi read \${meraki_loadaddr} kernel
=> setenv owrt_load2 ubi read \${meraki_loadaddr} recovery
=> setenv lede_bootkernel bootm \${meraki_loadaddr_kernel} - \${meraki_loadaddr_fdt}
=> setenv owrt_bootkernel bootm \${meraki_loadaddr}
=> setenv owrt_bootargs setenv bootargs console=ttyS0,\${baudrate} rootfstype=squashfs mtdoops.mtddev=oops
=> setenv owrt_boot run meraki_ubi owrt_bootargs\; run owrt_load1 meraki_checkpart lede_bootkernel\; run owrt_load2 owrt_bootkernel
=> setenv bootcmd run owrt_boot
=> saveenv
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x160000 -- 100% complete.
Writing to Nand... done
=> setenv ipaddr 192.168.1.1
=> setenv bootargs console=ttyS0,$baudrate mtdoops.mtddev=oops;
=> tftpboot $meraki_loadaddr buck.bin;
Using ppc_4xx_eth0 device
TFTP from server 192.168.1.101; our IP address is 192.168.1.1
Filename 'buck.bin'.
Load address: 0x800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####################################################
done
Bytes transferred = 5525108 (544e74 hex)
=> bootm $fileaddr
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   mx60 initramfs
   Created:      2020-01-26  22:00:26 UTC
   Image Type:   PowerPC Linux Multi-File Image (gzip compressed)
   Data Size:    5525044 Bytes =  5.3 MB
   Load Address: 00000000
   Entry Point:  00000000
   Contents:
      Image 0: 5460482 Bytes =  5.2 MB
      Image 1: 32 Bytes =  0 kB
      Image 2: 64512 Bytes = 63 kB
   Verifying Checksum ... OK
## Loading init Ramdisk from multi component Legacy Image at 00800000 ...
## Flattened Device Tree from multi component Image at 00800000
   Booting using the fdt at 0xd35274
   Uncompressing Multi-File Image ... OK
WARNING: legacy format multi component image overwritten
   Loading Ramdisk to 1fb57000, end 1fb57020 ... OK
[    0.000000] Linux version 4.19.98 (builder@buildhost) (gcc version 8.3.0 (OpenWrt GCC 8.3.0 r12138-1e3bfbafd3)) #0 Sun Jan 26 22:00:26 2020
[    0.000000] Found initrd at 0xdfb57000:0xdfb57020
[    0.000000] Using PowerPC 44x Platform machine description
[    0.000000] -----------------------------------------------------
[    0.000000] phys_mem_size     = 0x20000000
[    0.000000] dcache_bsize      = 0x20
[    0.000000] icache_bsize      = 0x20
[    0.000000] cpu_features      = 0x0000000000000120
[    0.000000]   possible        = 0x0000000040000120
[    0.000000]   always          = 0x0000000000000020
[    0.000000] cpu_user_features = 0x8c008000 0x00000000
[    0.000000] mmu_features      = 0x00000008
[    0.000000] -----------------------------------------------------
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttyS0,115200 mtdoops.mtddev=oops
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 510016K/524288K available (5144K kernel code, 220K rwdata, 1184K rodata, 2348K init, 239K bss, 14272K reserved, 0K cma-reserved)
[    0.000000] Kernel virtual memory layout:
[    0.000000]   * 0xfffdf000..0xfffff000  : fixmap
[    0.000000]   * 0xfde00000..0xfe000000  : consistent mem
[    0.000000]   * 0xfde00000..0xfde00000  : early ioremap
[    0.000000]   * 0xe1000000..0xfde00000  : vmalloc & ioremap
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16
[    0.000000] UIC0 (32 IRQ sources) at DCR 0xc0
[    0.000000] UIC1 (32 IRQ sources) at DCR 0xd0
[    0.000000] UIC2 (32 IRQ sources) at DCR 0xe0
[    0.000000] UIC3 (32 IRQ sources) at DCR 0xf0
[    0.000020] clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
[    0.000035] clocksource: timebase mult[1400000] shift[24] registered
[    0.000104] pid_max: default: 32768 minimum: 301
[    0.000335] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000352] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.004140] random: get_random_u32 called from bucket_table_alloc.isra.21+0x14c/0x1b0 with crng_init=0
[    0.004777] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.004808] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.005506] NET: Registered protocol family 16
[    0.006696] PPC4XX OCM1: 32768 Bytes (enabled)
[    0.006720] PPC4XX OCM1: 32768 Bytes (non-cached)
[    0.006726] PPC4XX OCM1: 0 Bytes (cached)
[    0.006785] debugfs ppc4xx ocm: failed to create file
[    0.006958] 256k L2-cache enabled
[    0.067058] PCIE0: Checking link...
[    0.069617] PCIE0: Device detected, waiting for link...
[    0.069630] PCIE0: link is up !
[    0.178341] PCI host bridge /plb/pciex@d00000000 (primary) ranges:
[    0.178369]  MEM 0x0000000e00000000..0x0000000e7fffffff -> 0x0000000080000000
[    0.178384]  MEM 0x0000000f00000000..0x0000000f000fffff -> 0x0000000000000000
[    0.178394]   IO 0x0000000f80000000..0x0000000f8000ffff -> 0x0000000000000000
[    0.178419] 4xx PCI DMA offset set to 0x00000000
[    0.178424] 4xx PCI DMA window base to 0x0000000000000000
[    0.178430] DMA window size 0x0000000080000000
[    0.178458] PCIE0: successfully set as root-complex
[    0.179149] PCI: Probing PCI hardware
[    0.179281] PCI host bridge to bus 0000:40
[    0.179303] pci_bus 0000:40: root bus resource [io  0x0000-0xffff]
[    0.179316] pci_bus 0000:40: root bus resource [mem 0xe00000000-0xe7fffffff] (bus address [0x80000000-0xffffffff])
[    0.179329] pci_bus 0000:40: root bus resource [mem 0xf00000000-0xf000fffff] (bus address [0x00000000-0x000fffff])
[    0.179342] pci_bus 0000:40: root bus resource [bus 40-ff]
[    0.179465] PCI: Hiding 4xx host bridge resources 0000:40:00.0
[    0.181626] pci 0000:40:00.0: PCI bridge to [bus 41-7f]
[    0.181810] pci 0000:40:00.0: disabling bridge window [io  0x0000-0xffffffffffffffff] to [bus 41-7f] (unused)
[    0.181846] pci 0000:40:00.0: disabling bridge window [mem 0x00000000-0xffffffffffffffff 64bit pref] to [bus 41-7f] (unused)
[    0.181878] pci 0000:40:00.0: BAR 8: assigned [mem 0xe00000000-0xe000fffff]
[    0.181897] pci 0000:41:00.0: BAR 0: assigned [mem 0xe00000000-0xe0001ffff 64bit]
[    0.181919] pci 0000:41:00.0: BAR 6: assigned [mem 0xe00020000-0xe0002ffff pref]
[    0.181931] pci 0000:40:00.0: PCI bridge to [bus 41-7f]
[    0.181944] pci 0000:40:00.0:   bridge window [mem 0xe00000000-0xe000fffff]
[    0.192044] SCSI subsystem initialized
[    0.194450] clocksource: Switched to clocksource timebase
[    0.195356] NET: Registered protocol family 2
[    0.195884] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[    0.195916] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.195965] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.196009] TCP: Hash tables configured (established 4096 bind 4096)
[    0.196103] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.196129] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.196307] NET: Registered protocol family 1
[    3.105560] Unpacking initramfs...
[    3.109103] dw_dmac 4bffd0800.dma: DesignWare DMA Controller, 2 channels
[    3.113381] Crashlog allocated RAM at address 0x3f00000
[    3.114027] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    3.118999] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    3.131865] io scheduler noop registered
[    3.131885] io scheduler deadline registered (default)
[    3.132796] pcie_pme: probe of 0000:40:00.0:pcie001 failed with error -22
[    3.132915] aer: probe of 0000:40:00.0:pcie002 failed with error -22
[    3.133119] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    3.135303] console [ttyS0] disabled
[    3.135362] 4ef600400.serial: ttyS0 at MMIO 0x4ef600400 (irq = 35, base_baud = 462962) is a TI16750
[    3.717694] console [ttyS0] enabled
[    3.723366] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd3
[    3.729732] nand: AMD/Spansion S34ML08G1
[    3.733648] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    3.741291] Scanning device for bad blocks
[    4.260994] 4 fixed-partitions partitions found on MTD device 4e4000000.ndfc.nand
[    4.268488] Creating 4 MTD partitions on "4e4000000.ndfc.nand":
[    4.274406] 0x000000000000-0x000000100000 : "u-boot"
[    4.280040] 0x000000100000-0x000000200000 : "u-boot-env"
[    4.285891] 0x000000200000-0x000000240000 : "oops"
[    4.291220] 0x000000240000-0x000040000000 : "ubi"
[    4.303640] libphy: Fixed MDIO Bus: probed
[    4.307741] PPC 4xx OCP EMAC driver, version 3.54
[    4.312738] MAL v2 /plb/mcmal, 1 TX channels, 1 RX channels
[    4.318507] RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
[    4.325665] TAH /plb/opb/emac-tah@ef601350 initialized
[    4.331099] /plb/opb/emac-rgmii@ef601500: input 0 in rgmii mode
[    4.337139] libphy: emac_mdio: probed
[    4.352670] switch0: Atheros AR8327 rev. 4 switch registered on 4ef600c00.ethernet
[    4.909578] eth0: EMAC-0 /plb/opb/ethernet@ef600c00, MAC 00:01:73:01:23:41
[    4.916451] eth0: found Atheros AR8216/AR8236/AR8316 PHY (0x00)
[    4.922593] i2c /dev entries driver
[    4.926409] ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
[    4.935763] booke_wdt: powerpc book-e watchdog driver loaded
[    4.944641] NET: Registered protocol family 10
[    4.950891] Segment Routing with IPv6
[    4.954643] NET: Registered protocol family 17
[    4.959131] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    4.972045] 8021q: 802.1Q VLAN Support v1.8
[    4.976268] drmem: No dynamic reconfiguration memory found
[    4.984038] UBI: auto-attach mtd3
[    4.987397] ubi0: attaching mtd3
[    7.126577] ubi0: scanning is finished
[    7.147794] ubi0: attached mtd3 (name "ubi", size 1021 MiB)
[    7.153392] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
[    7.160245] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
[    7.166924] ubi0: VID header offset: 512 (aligned 512), data offset: 2048
[    7.173688] ubi0: good PEBs: 8174, bad PEBs: 0, corrupted PEBs: 0
[    7.179763] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    7.186963] ubi0: max/mean erase counter: 328/322, WL threshold: 4096, image sequence number: 1013921262
[    7.196404] ubi0: available PEBs: 8009, total reserved PEBs: 165, PEBs reserved for bad PEB handling: 160
[    7.205960] hctosys: unable to open rtc device (rtc0)
[    7.211222] ubi0: background thread "ubi_bgt0d" started, PID 420
[    7.228213] Freeing unused kernel memory: 2348K
[    7.232826] Run /init as init process
[    7.246135] init: Console is alive
[    7.249723] init: - watchdog -
[    7.260264] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.271344] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.288935] init: - preinit -
[    7.446271] eth0: link is up, 1000 FDX
[    7.450432] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.456316] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.472204] random: procd: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   11.572185] procd: - early -
[   11.575167] procd: - watchdog -
[   12.124130] procd: - watchdog -
[   12.127525] procd: - ubus -
[   12.134339] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.180512] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.187125] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.194127] procd: - init -
Please press Enter to activate this console.
[   12.499679] kmodloader: loading kernel modules from /etc/modules.d/*
[   12.531719] Loading modules backported from Linux version v5.4-rc8-0-gaf42d3466bdc
[   12.539292] Backport generated by backports.git v5.4-rc8-1-0-g368e8c51
[   12.590673] xt_time: kernel timezone is -0000
[   12.727729] PPP generic driver version 2.4.2
[   12.740148] NET: Registered protocol family 24
[   12.773653] urngd: v1.0.2 started.
[   12.808325] ath9k 0000:41:00.0: enabling device (0000 -> 0002)
[   12.940740] ieee80211 phy0: Atheros AR9300 Rev:3 mem=0xe5720000, irq=19
[   13.143959] random: crng init done
[   13.147390] random: 6 urandom warning(s) missed due to ratelimiting
[   13.248677] kmodloader: done loading kernel modules from /etc/modules.d/*
[   29.730472] eth0: link is up, 1000 FDX
[   29.744121] br-lan: port 1(eth0.1) entered blocking state
[   29.749556] br-lan: port 1(eth0.1) entered disabled state
[   29.755226] device eth0.1 entered promiscuous mode
[   29.760030] device eth0 entered promiscuous mode
[   29.797220] br-lan: port 1(eth0.1) entered blocking state
[   29.802647] br-lan: port 1(eth0.1) entered forwarding state
[   29.808369] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   30.755090] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready



BusyBox v1.31.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r12138-1e3bfbafd3
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# ls /etc/config
dhcp      dropbear  firewall  network   system    wireless
root@OpenWrt:/#

Once again, the console was not activated automatically. I pressed enter after a few minutes of inactivity.
Thanks for any leads as to what's going on!

You have installed a snapshot image.

2 Likes

Snapshots do not have LuCI installed. Run:

opkg update
opkg installed luci

Also, it's normal behavior to hit Enter in order to active the console.

1 Like

Thanks for the quick reply. I will look into using a stable release and come back.

1 Like

Update: Installing the latest stable build works fine! Maybe the guide shouldn't link to snapshots? Anyway, thanks for helping me!

In order to improve the installation instructions:

You followed https://openwrt.org/toh/meraki/mx60#flashing, except that you have used the following images, right?

openwrt-19.07.0-apm821xx-nand-meraki_mx60-initramfs-kernel.bin
openwrt-19.07.0-apm821xx-nand-meraki_mx60-squashfs-sysupgrade.bin

Can you show us where that is?

I only see snapshot links where the word "Snapshot" actually appears. All the other links I find show 19.07.0 (albeit only the sysupgrade file).

Also, the original flash instructions had you simply download the sysupgrade file to /tmp from the console after booting the initramfs-kernel.bin file...feel free to update the wording on the Wiki.

All the highlighted parts are snapshot:

The installation instructions seem to be a bit outdated (also regarding tar -> bin).

2 Likes