Upgrade Pogoplug Mobile (or Series 4) from OpenWrt to LEDE

No, wanted to help terme, he must run the command and share output

@bobafetthotmail how to generate a imagebuilder?

@terme when I get home I'll answer you.

see the documentation here https://lede-project.org/docs/user-guide/imagebuilder

@bobafetthotmail ah i forgot you find it inside "make menuconfig" as option as i mostly just build images

1 Like

Ok, my uboot and firmware should run on that device too. The Pogoplug V4 are both using the same mainboard (with same processor/flash/ram/ethernet/SD card slot), on mine they soldered more components (USB 3.0 and Sata).
I think there is a tutorial to solder a Sata port on yours and you can probably figure out what must be done by just looking at a picture of a Pogoplug V4 with Sata port soldered, although imho it's not really worth it when for like 20$ you can get the Pogoplug v4 with usb 3.0 and sata port.

My Pogoplug is still in factory condition it has 3.2 firmware installed, I taped serial cable to get SSH access but it fell off. Over weekend I will try to solder wires and reenable SSH. I believe my device is the same LWL user has:
https://forum.doozan.com/read.php?3,47594

except mine is on 3.2 firmware, it will not update to 3.4 as his did, probably because
CloudEngines turned off its services.

Ok, thanks for the information.

Small correction. If you use cables soldered/taped to contacts you are using serial connection on serial pins on the board. SSH is terminal over ethernet/Wifi.

Serial connection allows you to communicate with bootloader while it is starting, and then with the device firmware, and it always works in this device. SSH will not work to communicate with bootloader, and will not work if there is no ethernet or wifi connection.

As said above, the device is pretty much the same, it just has less optional features.

You can safely use the Uboot from the LEDE/OpenWRT link I provided above, as for uboot bootloader there is no difference at all between the two devices, and that uboot is pre-configured for LEDE. Stock uboot cannot load LEDE so it must be changed.

I think you should be able to use the Pogoplug v4 firmware I added, and I think it is better to use that instead of using Pogoplug E02 one. The main problem is that it requires more manual setup and it is not guaranteed to work, because it relies on a second stage bootloader (stock uboot loads and executes LEDE uboot that loads and executes the actual LEDE/OpenWRT firmware). I quite frankly don't know how well this works with the up-to-date uboot we are using now.

For Pogoplug v4 there is only Snapshot firmware, not "stable" release firmware, for now.
Snapshot builds like the one from link above are more annoying to use. There is no web interface in the built image so you need to connect with SSH or serial to install it every time you do a firmware upgrade. Or at least it was like this. It seems the current snapshot firmware has luci preinstalled (which is great).

Also, you can only install packages related to hardware drivers shortly after you installed the main firmware. If you try later you will probably get a dependency error due to kernel version, and you will have to upgrade firmware to latest snapshot build first, then you can install packages related to hardware drivers.

When OpenWRT makes a new release (LEDE changed name and is now called OpenWRT again, any new release will be called OpenWRT) in a few months you can upgrade to a stable release firmware and be fine.

----INSTALLATION INSTRUCTIONS----

We will start by testing that the current LEDE Pogoplug v4 firmware is working fine on your device before doing any permanent modification.

When it's time to make the choice and actually do permanent changes, I'll write a warning.

It's better if you read all the instructions and ask any questions before starting.

Download from https://downloads.lede-project.org/snapshots/targets/kirkwood/generic/

the file called cloudengines_pogoplugv4-initramfs-uImage

and from https://downloads.lede-project.org/snapshots/targets/kirkwood/generic/u-boot-pogoplugv4/

download the file called u-boot.kwb

The stock bootloader cannot read from USB so we will use TFTP (transfer over local ethernet cable from your PC to the device) to send it the firmware we want to test, and if it works fine, we will use this later to transfer the new uboot we want to write.

You will need to set up a TFTP server on your PC first, see the tutorial here https://lede-project.org/docs/user-guide/tftpserver?s[]=tftp

When the TFTP server is running, you will need to set up your PC's ethernet port to static IP address, 169.254.254.254 as this is what the uboot expects as source.

Place the file called cloudengines_pogoplugv4-initramfs-uImage in the TFTP server folder, and rename it to test.bin

Connect the ethernet cable to the PC and the pogoplug ethernet port, connect the serial console to the PC, then power up the Pogoplug v4.

As soon as you see text on the serial start pressing random letter keys to stop the boot process.

If you see something like the following line you can proceed:

CE>>

Otherwise if text is still scrolling by you missed the opportunity, pull the power plug on the pogoplug and try again.

Now write the following to start transferring the firmware in some free RAM space in the pogoplug.

tftp 0x20000 test.bin

The uboot should show transfer progress and it will state that the transfer was successful.

Then we can boot this firmware we just transferred. The firmware we are using here is supposed to boot and run from RAM, it does not touch flash memory.

bootm 0x20000

You should see text from LEDE/OpenWRT firmware as it starts up. After it is done, press Enter and you should see the OpenWRT logo.

You can now test that your USB port works, and that the ethernet port works to connect to the internet, and see if the green led works too. It should be accessible over ssh too, not just the serial console.
It has a dynamic IP, so you can either use OpenWrt.lan instead of the IP in your ssh settings, or you can write ip a in the serial console and see what IP the device was assigned.

Now do the check for bad blocks as detailed below by the other guy by writing in console:

dmesg | grep -i ‘bad’

It will print something like this

[ 0.645561] Scanning device for bad blocks
[ 0.662441] Bad eraseblock 114 at 0x000000e40000
[ 0.747850] Bad eraseblock 839 at 0x0000068e0000

This information tells us what sectors of the internal flash memory are damaged. It's normal for some of them to be damaged in new devices.

The only blocks that must NOT show as bad are the first four blocks, so 0,1,2,3,4

For example if you get something like this

[ 0.645561] Scanning device for bad blocks
[ 0.662441] Bad eraseblock 1 at 0x00000002000

you have a bad block at 1 and you cannot proceed with flashing uboot.

bad blocks beyond the first 4 ones are not an issue as the LEDE firmware can deal with occasional bad blocks in onboard flash.

Could you also post all the text it shows when booting up so I can see it too and confirm that it is all right?

Remember that this firmware is not written permanently, so all your changes will be lost on reboot.

When you are done, pull the plug from the pogoplug v4 to power it off and erase its RAM to prepare for the next step. So far we have not changed its firmware, only done temporary tests. If you power it up again it will still be the same as before, stock uboot and stock firmware.

WARNING WARNING WARNING
Now we will do permanent changes to the device. If you have any doubts please ask now.
Would also be better to show me the text you saw on console first before you proceed.
You might want to make a backup of your device's current firmware, or not, since pogoplugs have a useless firmware anyway.
WARNING WARNING WARNING

Place the u-boot.kwb file in the TFTP server folder, connect serial and ethernet cable, and change the IP address of your PC ethernet port to 169.254.254.254 as we will use tftp again to send over the new uboot.

Power up again the pogoplug and press keys to stop the autostart.

Now write

printenv ethaddr

The uboot will write something like this:

ethaddr=00:50:43:00:02:02

This is the device's MAC address, also present in the sticker
under the device.

Write this down as we will need to add it in the
new uboot configuration.

Use the following commands to load the new uboot:

tftp 0x20000 u-boot.kwb

If the uboot confirms that the transfer was successful,
then you can write it to flash with the following commands:

nand erase 0 0x200000
nand write 0x20000 0 0x1c0000

if after the last command the uboot wrote
"xxxx bytes written: OK"
then it was written correctly and we can proceed.

If it did not go well, post here the output and DO NOT shut down or reboot the pogoplug.
Shutting down or rebooting at this time will brick the device.
It's possible to unbrick it with serial console, but you will need to use the kwboot tool from a Linux PC or Virtual Machine, which is annoying.

If the above worked and there was no error, write

reset

and press enter, the device will reboot and you should see again text scrolling by.
Press a random key to stop it, and now you should see

pogoplugv4>

We now add the MAC address back, write (with the address you saw before):

setenv ethaddr '00:50:43:00:02:02'

Confirm that the uboot has understood by writing

printenv ethaddr

If all looks ok, save the setting with

saveenv

At this point the uboot is installed and configured, and you will be able to use USB flash drive to load a new firmware.

Take the cloudengines_pogoplugv4-initramfs-uImage file and rename it to initramfs.bin, then place it in a USB flash drive formatted with FAT32 (most thumb drives less than 32GB are like that by default).

Insert the USB flash drive in the USB 2.0 port of the device, connect the ethernet cable to your router (so it can access the internet later), and power on the pogoplug.

At this point it should boot automatically from the USB drive, and again you will end in the same RAM firmware as before. Remove the USB drive as now it is not needed anymore.

To write this to the internal flash memory, you must do a normal sysupgrade (firmware upgrade)

So, if it was connected to the Internet, you can download the firmware upgrade package:

wget http://downloads.lede-project.org/snapshots/targets/kirkwood/generic/openwrt-kirkwood-cloudengines_pogoplugv4-squashfs-sysupgrade.bin

and then start the upgrade with

sysupgrade openwrt-kirkwood-cloudengines_pogoplugv4-squashfs-sysupgrade.bin

This will reformat the internal flash memory and write the firmware in the device, and then reboot.

On reboot it should start up correctly and will be again accessible over serial console or ssh at OpenWrt.lan or whatever is the IP it gets assigned from your router.

If you want to install luci web interface, you can install it now by writing
opkg update
opkg install luci

1 Like

Also just some words of caution before you do this as i found out last night

CHECK FOR BAD BLOCK first
CHECK FOR BAD USB first

If you have any bad block you will have issues with this procedure !!!

if you have bad blocks in the u-boot area flashing it via tftp it will cause issues

if you have bad block in the data or ubi area where lede will be installed the kernel wont boot with a checksum error (especially if you have written a boot image via tftp)
e.g
dmesg | grep -i 'bad'

root@LEDE:/# dmesg | grep -i 'bad'
[ 0.645561] Scanning device for bad blocks
[ 0.662441] Bad eraseblock 114 at 0x000000e40000
[ 0.747850] Bad eraseblock 839 at 0x0000068e0000

or

dmesg | grep "bad PEBs"
[ 2.281770] ubi0: good PEBs: 1014, bad PEBs: 2, corrupted PEBs: 0

If your USB reports as bad find one that does not it will not boot

I will try also bobafetthotmail suggested LEDE for the Pogo4 as i have the 1 with USB3 and SATA, im still running the E02 build as of now

but i have bad block in my data/ubi area and had to do a tftp flash and then also boot from usb and do sysupgrade

I bricked my Pogo4's with bad uboot flash but it can be recovered with kwboot (the notes say the E02 does not support it- i will still verify)

Here is a simple tftp server setup on ubuntu with dnsmasq:
sudo apt install dnsmasq
sudo dnsmasq -i eno1 --enable-tftp --tftp-root=/home/user/tftp/ -d -u user -p0 -K

and here was the kwboot recovery command:
http://forum.doozan.com/file.php?3,file=160,filename=kwboot-tool.tar.gz,download=1

wait a good whilte for it to actually work load then press any key to stop uboot
./kwboot -t -B 115200 /dev/ttyUSB0 -b ~/tftp/u-boot.kwb -p

Oh most helpful i also came across some notes and stuff by LoetZimmer
credits to him

some useful scripts to create ubi files,etc

https://loetzimmer.de/openwrt/
https://loetzimmer.de/openwrt/lede-make_ubifs.txt
https://loetzimmer.de/openwrt/lede-kirkwood-pogo_e02-root.ubifs.conf
https://loetzimmer.de/openwrt/lede-kirkwood-pogo_02-uboot_config.txt

1 Like

If you have any bad block you will have issues with this procedure !!!

if you have bad blocks in the u-boot area flashing it via tftp it will cause issues

The uboot area is the first 4 blocks, as long as he does not have bad blocks in the first four blocks it will be fine with my instructions.

but i have bad block in my data/ubi area and had to do a tftp flash and then also boot from usb and do sysupgrade

That's why the default installation procedure I documented in the commit and wrote above uses the usb boot + sysupgrade. I also had failed blocks in data partition and flashing firmware from uboot would not work.

1 Like

yes @bobafetthotmail your instructions are very good, thank you for your effort

Im am running the snapshot release now on my pogo4

have just configured them both E02 and Pogo4 on a OLSR mesh

using RT2800 usb mesh capable dongles for wifi

@bobafetthotmail @markbirss Hi! this means that you were able to upgrade from OpenWrt 15.05.1 to LEDE on the pogo's ? Mine it boots to Debian too when I put the SD-Card, If I follow that instructions can I upgrade my pogo's mobile too?

Can we start a new thread with info about this? It was difficult? I am really interested on mesh network, never tried since there was a lot of incomplete or very old info when I wanted to try, so I didn't tried.

Thanks

@braian87b I did not directly upgrade from OpenWRT 15.05.1 to LEDE, If I recall I had a sysupgrade error when I tried sysupgrading inside the existing OpenWRT to LEDE

As the instructions provided by @bobafetthotmail above the preferred steps are to upgrade your uboot (skip this if you have a recent version and boot the initramsfs_uimage from usb and then do a sysupgrade (that what i did)

But instead of using that uboot i used doozan's version and also I erased my flash completely and setup the required mtdparts

@braian87b yes you should be able to install from USB

@braian87b yes sure we can start a new thread for this. The instructions I have for this is mostly work already done by others.

Install support for a supported Mesh Wifi Dongle and then follow Justin's OLSR Guide

https://www.justingoetz.net/docs/docs_openwrt/olsr/adhoc-wpa.html

with a bit more effort you can also do 802.11s mesh with LibreMesh
next i will use CJDNS ontop of LibreMesh

Upgrade with sysupgrade from 15.05 to LEDE is not tested and I don't think it is possible, but my instructions will always work as they erase and overwrite all internal flash memory (apart from uboot and uboot envs).

Besides, for any upgrade from major versions you will erase all configuration anyway, so it's not a big issue imho.

Please answer questions below.

Mine it boots to Debian too when I put the SD-Card, If I follow that instructions can I upgrade my pogo's mobile too?

You have Bodhi's uboot installed? Please state what is the current setup in your Pogoplug. You used a second stage uboot ?

My instructions above are for stock uboot, so there is a part about replacing stock uboot with LEDE/OpenWrt uboot first. This is not necessary if you have bodhi's uboot.

Also LEDE/OpenWRT uboot is not configured to boot Debian.

If you have serial console or you can use fw_setenv from Debian we can change bodhi's uboot configuration so it will be able to boot LEDE/OpenWRT too.

It can be set up to look first for Debian (what it does now), and if there is no Debian anywhere then it will boot LEDE/OpenWRT from internal flash. So you will have a "dual boot" configuration.
I will also add the configuration to have the pogoplug look for a recovery firmware in a USB flash drive, so you can recover from bad LEDE/OpenWRT easily without using serial console.

Please post the output of fw_printenv (from debian) or printenv (from uboot serial console) and I'll tell you how to change the uboot configuration.

I have stock uboot with modified envs, I followed the qnology instructions as I stated here: Upgrade Pogoplug Mobile (or Series 4) from OpenWrt to LEDE - #5 by braian87b.

Ok, I will print the envs tonight and write down here.

Hi im trying to install snapshot openwrt to my Pogov4, got the latest uboot from bodhi and got the initrafs version booted from a usbdisk. i cant get openwrt started from teh nand thou. Could you gives pointers on what to change in the envs or how to install openwrt on teh nand?

root@debian:~/tools# fw_printenv
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide mmc
disks=0 1 2 3
ethact=egiga0
if_netconsole=ping $serverip
ipaddr=192.168.0.231
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb_addr=0x1c00000
load_initrd_addr=0x1100000
load_uimage_addr=0x800000
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
mainlineLinux=yes
mtdids=nand0=orion_nand
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.220
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi
usb_ready_retry=15
arcNumber=3960
machid=f78
ethaddr=00:25:31:05:1f:4a
mtdparts=mtdparts=orion_nand:1M(u-boot),-(rootfs)
dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb

Installing OpenWrt on NAND can be done by simply booting the initramfs image, and then doing a sysupgrade. It will write the firmware on NAND.

Then the uboot must be configured to also boot OpenWrt. The easy way would be to install the OpenWrt uboot, which is already configured.
OMG, bodhi went off the rails with his uboot scripting there... it's much more complex than the last time I installed on my devices, but that's not an issue here.

Assuming you want to keep also the ability to boot Debian, which is probably why you aren't just installing OpenWrt uboot, you will need to change the uboot configuration with the following commands.

From the serial console of uboot you use setenv, from debian you use fw_setenv command, if you write these from uboot console with setenv then you must save the config to flash with saveenv, if you use fw_setenv from Debian the config is written to flash automatically

WARNING: I cannot guarantee 100% that this will work as I cannot test it, but according to my experience it should work, and even if it does not the uboot will still try to boot Debian first, so if booting OpenWrt fails you can post here again without having to solder serial console or opening the case.

So these are the commands:

fw_setenv mtdparts 'mtdparts=orion_nand:0x1c0000(uboot),0x40000(uboot_env),0x7e00000(ubi)'
fw_setenv owrt_bootargs 'setenv bootargs'
fw_setenv owrt_bootcmd 'run owrt_bootargs ; usb reset ; fatload usb 0:1 0x2000000 initramfs.bin ; bootm 0x2000000 ; ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000'
fw_setenv bootcmd 'run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec ; run owrt_bootcmd'

First line tells uboot the flash partitions used by OpenWrt, which is required if you want to boot OpenWrt at all.

Second line prepares a uboot command to clear Debian bootargs before loading OpenWrt. This is called by the third line.

Third line does these things:

  • it calls the second line to clear bootargs as OpenWrt does not need any, and the Debian ones would break it.

  • it sets the uboot for looking on a FAT32-formatted usb drive for a file called "initramfs.bin" and if it finds it then will load and execute it (this is basically a recovery feature, so in case you brick the firmware you just place a initramfs firmare on a USB flash drive and rename it "initramfs.bin" to get it loaded, and from there you can reflash or do whatever. This is what the OpenWrt uboot also does and I think is convenient.

  • If it does not find such file on USB it will actually try to boot OpenWrt from NAND flash.

The last line modifies the current bootcommand of your uboot so that FIRST it will do what it is doing already (i.e. search for Debian and try to load it), THEN if it fails to load Debian it will execute the OpenWrt boot sequence I set on line 3.

Now, the boot will take 3-4 seconds if the uboot only needs to execute my configuration, I don't know how fast is bodhi's configuration.

What I know is that his boot delay is very long. that uboot will wait 10 seconds for no reason, on boot.

Unless you have a reason to have it sit there doing nothing for 10 seconds on boot (in addition to the time it will actually use to boot Debian or OpenWrt), lower this wait to 2 seconds (which is plenty time to stop it and get into uboot console if you have serial access) with

fw_setenv bootdelay 2

After you did these uboot configuration changes power off the device, pull the power plug and wait 5 seconds to be sure that the RAM is wiped. For some reason just rebooting after an uboot settings change could not work well and quite a few times it would just fail to boot OpenWrt because it is passing garbage bootargs and OpenWrt kernel would fail to find the firmware on flash.
This happened on any Kirkwood device I have, isn't specific of this Pogoplug.
But whatever, just pull the plug and wait 5 seconds before powering up again, and it will be fine.

Cheers!
that was all i needed, allready got everything else ready. i now have openwrt snapshot running on the pogoplug 4v :smiley: with bodhi's latest uboot and debian also still boots.

1 Like

Thanks for confirming that all works fine. :grinning:

Hi, I already know that there is so much noise on this topic, but I had two questions just in case that you (some users with PogoPlugs and knowledge on this knows how:

There is a new OpenWrt 18.06.0 but in kirkwood it does not have any .tar.gz there, just some images for other devices:
https://downloads.openwrt.org/releases/18.06.0/targets/kirkwood/generic/

Also, there is a folder with a u-boot image, maybe?

https://downloads.openwrt.org/releases/18.06.0/targets/kirkwood/generic/u-boot-pogoplugv4/

Did you someone upgraded to Lede 17.05.x or to OpenWRT 18.06.0 with success?

My 2nd question is: I had tried to do an extroot (I've done this hundreds of time with no problems with other OpenWRT Routers) but I had no luck on the Pogo... Upgrade Pogoplug Mobile (or Series 4) from OpenWrt to LEDE (last link on there), this one: https://gist.github.com/braian87b/7a50f5634b6b39748cf72d42ff7d4476

Thanks.

tar.gz files aren't generated any more, you would need to compile from source and enable that option in the build system to create them.

use the uboot.kwb in that folder, it works both if you flash it and with kwboot tool.

yes, but I didn't use tar.gz nor your "extroot" setup.

That's not extroot. That's "rootfs on external device". And I really doubt you did this with any router as it will never work unless you can change uboot configuration to boot from USB or SDcard/mmc (and the uboot supports that to begin with).

This is actual extroot tutorial and the recommended way to have a larger internal storage for OpenWrt system https://openwrt.org/docs/guide-user/additional-software/extroot_configuration

1 Like

How to adapt instructions in this thread to install 19.07 on E02?
I have E02 which runs Archlinux Arm. To install Archlinux I followed instructions on https://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray few years ago. Their script changed bootloader for Archlinux.
I would like to flash Openwrt to NAND.
I am thinking to flash single stage Openwrt bootloader as decribed here:
https://openwrt.org/toh/cloudengines/pogoplug
and then follow this thread to boot initramfs Openwrt from USB stick, once Openwrt boots I flash Openwrt with sysupgrade to NAND, yes? Would this work to brick my device?

Did you miss the warning at the top of the wiki page? I didn't manage to boot the image for flash last I tried. My Pogo E02 is running Debian from bodhi's thread on Doozan forums.

That said, I would not change bootloader as this is one of the few Kirkwood devices where kwboot uboot recovery does NOT work. If you install a primary bootloader that does not work, the device is bricked and you cannot fix it without serious electronic equipment and skills.

Archlinux's uboot for these devices should be decent enough that you can use it for OpenWrt too, you just need to change the boot configuration to be the same of OpenWrt's uboot for this device.
I would try modifying the bootloader settings as described in this post Upgrade Pogoplug Mobile (or Series 4) from OpenWrt to LEDE - #55 by bobafetthotmail
so that if you fail to boot OpenWrt you can still boot Arch or Debian.

If you post the result of fw_printenv I can provide you specific commands for your current uboot, as the commands I gave there were tailored for bodhi's uboot configuration as installed by that guy.

Also you should change the mtdparts one as this device has a different flash partitions than the one in the example.

fw_setenv mtdparts 'mtdparts=orion_nand:0xe0000@0x0(uboot),0x20000@0xe0000(uboot_env),0x100000@0x100000(second_stage_uboot),-@0x200000(ubi)'

See here the full boot configuration here in the patch for the sources to make the pogoplug E02 uboot (that may or may not actually boot OpenWrt) https://github.com/openwrt/openwrt/blob/master/package/boot/uboot-kirkwood/patches/140-pogoplug_e02.patch

1 Like