User Tools

Site Tools


toh:cloudengines:pogoplugpro

CloudEngines Pogoplug Pro / V3

This page is work in progess!

CloudEngines Pogoplug Pro/V3

:!: CloudEngine marketed different devices under the name “Pogoplug”, some of which even share the same outward appearance. This page is for the devices using the Oxnas/PLXtech SoC.

The “V3 Pro” version is marked “P01” or “P02” on the bottom, the non-“pro” “V3” version is marked “B01”, “B02”, “B03”, “B04”, “P21”, “P24”, or “P25”.

Devices marked “E02” share the same case but not the hardware, they can be found at their own target: Kirkwood Pogoplug E02

OpenWrt 18.06 builds for the Pogoplug V3/Pro up to and including 18.06.2 are broken and do not write a kernel image to flash memory. This has been fixed, but not for existing versions. Snapshots generated after 2019-03-01 will work correctly, as will (future) OpenWrt releases 18.06.3 and 19.x.

Supported Versions

Hardware Highlights

ModelVersionSoCCPU MHzFlash MBRAM MBWLAN HardwareWLAN2.4WLAN5.0100M portsGbit portsModemUSB
Pogoplug V3B0*, P2*PLX NAS78207001281281x mini-PCIe---1-4x 2.0
Pogoplug V3 ProP01, P02PLX NAS7820700128128AW-NE762H PCI(e)b/g/n--1-4x 2.0

Installation

Important Notes

Support for the OXNAS Pogoplugs has been added with OpenWrt 15.05. OpenWrt 15.05 and LEDE 17.01 required a u-boot version more capable than the vendor u-boot that comes with the Pogoplug. This required a rather convoluted installation process, resulting in either loading a suitably capable u-boot from the less capable vendor u-boot (a “2nd stage u-boot”) or outright replacing the vendor u-boot (which is rather dangerous).

With 18.06, the OXNAS target has been significantly overhauled, one of the results is that it can now be booted from the vendor u-boot, no additional or replacement u-boot required anymore. However, one of the consequences is that you cannot upgrade from older versions to 18.06 or later using sysupgrade, you will need to go through the installation process outlined below.

Note: In versions 18.06.0 through 18.06.2, pre-compiled “official” images did not contain a kernel image, resulting in an unbootable Pogoplug even if you followed the correct install process. Pre-built OpenWrt 18.06.0 to 18.06.2 images are broken and can not be used. This has since been fixed, future 18.06.3 or 19.x OpenWrt images will work. Until then, you should only try to install snapshot images.

Prerequisites

You will need the following:

  • Three files:
    openwrt-oxnas-ox820-cloudengines-pogoplug-<series-3|pro>-initramfs-uImage
    openwrt-oxnas-ox820-cloudengines-pogoplug-<series-3|pro>-squashfs-ubinized.bin
    openwrt-oxnas-ox820-cloudengines-pogoplug-<series-3|pro>-squashfs-sysupgrade.tar
    (series-3 or pro depending on your Pogoplug hardware. For brevity of this guide, the files are only referenced by the last part of the filename)
  • A serial connection (see serial below) between your PC and the Pogoplug
  • An ethernet connection between your PC and the Pogoplug
  • A TFTP server on your PC, serving the initramfs-uImage file
  • An SCP client on your PC

Installation Process

Danger - live voltage!

The Pogoplugs contain their own unenclosed power supply in the lower part of the case. When connected to power, parts inside the case are live at mains voltage and must be handled with extreme care!

Seriously, this could kill you if you're not careful. Please completely disconnect the Pogoplug from power before opening the case and working inside, and make really sure to not touch anything inside as long as the Pogoplug is powered.

Step 1: u-boot

Open the serial connection and power on your Pogoplug. Once you see Hit any key to stop autoboot: …, hit any key to stop autoboot. You will be on the vendor u-boot command line, prompting you with CE>.

By using

printenv serverip
printenv ipaddr

you can see the IP u-boot expects to serve files through TFTP (“serverip”), and what it considers its own IP (“ipaddr”). Either set your PC's ethernet interface to the “serverip” IP, or use

setenv serverip <ip>
setenv ipaddr <ip>

to set another IP for your PC and for the Pogoplug.

Transfer the initramfs-uImage to uboot and start it:

tftp 64000000 initramfs-uImage
go 64000000

OpenWrt will start up, but only in memory.

Step 2: OpenWrt in RAM

In OpenWrt, the current default for the ethernet interface is “DHCP”. This may change in the future, but for now it is not quite ideal for our flashing process. Set it to a static IP using:

uci set network.lan.proto=static
uci set network.lan.ipaddr=192.168.1.1
uci set network.lan.netmask=255.255.255.0
ifup lan

and set your PC's ethernet interface to an address in the 192.168.1.x range. (You can also use the IPs you have seen in “Step 1” above, that would save you changing the PC's ethernet address all the time.)

Using SCP, transfer the squashfs-ubinized.bin image to OpenWrt's /tmp directory, and flash it from there:

sysupgrade -F /tmp/squashfs-ubinized.bin

(This sysugprade step requires -F.)

This will create the necessary partitions on your Pogoplug, but unfortunately it will not flash the kernel yet. Once the Pogoplug reboots, we need to go through the steps a second time.

Step 3: u-boot again

Repeat “Step 1” above, but before you issue go 64000000, do the following:

setenv bootcmd 'nboot 60500000 0 440000; bootm'
saveenv

This instructs u-boot to boot the OpenWrt kernel once we are finished with step 4 below. Now issue

go 64000000

Step 4: OpenWrt in RAM, again

Repeat “Step 2” above, but instead of squashfs-ubinized.bin, transfer the squashfs-sysupgrade.tar and flash it using:

sysupgrade /tmp/squashfs-sysupgrade.tar

(No -F necessary this time.)

This will finally write the kernel to flash. The Pogoplug will reboot, and you should be able to observe it booting into your complete OpenWrt installation. Again, the default LAN configuration is DHCP, so either plug it into a router serving DHCP or, while you are still connected, change the network configuration to a static IP.

Hardware

Serial

Pogoplugs come with a serial header, populated with a Molex 70107 connector (as used with CD-ROM audio cables).

The settings for accessing the serial console are as follows:

Bits per second: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

toh/cloudengines/pogoplugpro.txt · Last modified: 2019/04/24 22:16 by takimata