OpenWrt Forum Archive

Topic: Is there any direction to install Openwrt on PogoPlug Pro V3?

The content of this topic has been archived on 1 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

PC ip:192.168.1.100,ttl link to pogo,boot to uboot
  ....
tftp 64000000 openwrt-oxnas-ox820-u-boot.bin
...
tftpboot 0x62000000 openwrt-oxnas-pogoplug-pro-fit-uImage-initramfs.itb
....

use uci openwrt-oxnas-pogoplug-pro-squashfs-sysupgrade.tar to upgrade

this method is buggy, often compain can not find command: boot_openwrts

I would be interested in doing the same, my board identifies as "PPV3" (=PogoPlug Pro V3?) but on the device label it says Model: "POGO-B04". I see that there is https://downloads.openwrt.org/snapshots/trunk/oxnas/ where it talks about "pogoplug-pro".

This post talks about the oxnas-based PogoPlug systems, NOT about the kirkwood-based ones. On my device with stock firmware, it says:

~ # cat /proc/cpuinfo | grep Hardware
Hardware    : Oxsemi NAS

~ # uname -a
Linux Pogoplug 2.6.31.6_SMP_820 #96 SMP Tue Feb 8 12:08:54 PST 2011 armv6l GNU/Linux

Unfortunately I could not find any information on how to install OpenWrt on the PPV3 on the OpenWrt site. The only references I found were some Chinese web pages which I tried to translate using Google. Especially http://bbs.fishlee.net/thread-3356-1-1.html seems to be the most verbose. It does not talk about the official trunk/oxnas, but maybe the instructions are similar.

This is what I figured out from reading the page. WARNING: Do NOT do this unless you know what you are doing. You might BRICK your system. I have NOT tried the below and parts of it are just guessed based on the information on the net. If someone is willing to test the procedure and can confirm that it works, please let me know so that we can create a wiki page with the instructions.

1. Connect via the serial console and prepare TFTP on your host computer

Set the host computer's IP address to 192.168.1.100, gateway 192.198.1.1, subnet mask 255.255.255.0. Launch a TFTP server on the host computer that serves the files from https://downloads.openwrt.org/snapshots/trunk/oxnas/

You need a serial console to the PPV3. For this you have to open the device, and connect a serial to USB converter to the RX, TX and GND pins.

Connect the PPV3 to power while pressing ESC or SPACE on the serial console. This should get you into a U-Boot bootloader shell.

2. Load new U-Boot bootloader

Enter the following:

setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.100
tftp 64000000 openwrt-oxnas-ox820-u-boot.bin
setenv boot_openwrt nand read 0x64000000 0x440000 0x90000 \; go 64000000
setenv bootcmd run boot_openwrt
saveenv
go 64000000

The last command launches a new U-Boot version, which also needs to be interrupted with ESC, hence press ESC after you entered the bootm command.

3. Load new kernel and initramfs including the OpenWrt web interface

Once you see the new U-Boot console, enter the following:

setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.100
nand erase 0x440000 0x90000
nand write 64000000 0x440000 0x90000
tftpboot 0x62000000 openwrt-oxnas-pogoplug-pro-fit-uImage-initramfs.itb
bootm

4. Use the OpenWrt web interface to flash sysupgrade

Once the operation has finished, the device can be accessed from the browser at 192.168.1.1, username root, password blank. From here on, you can use the OpenWrt GUI to flash the firmware image. Go to System -> Flash Operations, select the firmware package file openwrt-oxnas-pogoplug-pro-squashfs-sysupgrade.bin and press the "Flash image..." button. Thre rest is a normal OpenWrt GUI sysupgrade procedure.

ATTENTION: You should leave the serial console connected while doing this, and you should watch the output for possible errors. The Chinese page mentions that the process is somewhat flaky and sometimes it is necessary to repeat the step a couple of times.

5. Report your experience

If someone is willing to test the procedure and can confirm that it works, please let me know so that we can create a wiki page with the instructions. Please also include the exact "Model:" information from the sticker on the bottom of your device (mine says: "Model: POGO-B04").

In case of disk mount problems the Chinese page recommends to change /etc/config/fstab to contain:

config global
   option anon_swap '0'
   option anon_mount '0'
   option auto_swap '1'
   option auto_mount '1'
   option delay_root '5'
   option check_fs '0'

(Last edited by probono on 28 Dec 2014, 12:48)

yes, I am using something like this, but be careful, it often failed at:
can not find command: boot_openwrt
it is said if you already installed Openwrt with its uboot, you need not reinstall uboot.

you need a ttl -> link cable to do these jobs.

Who has Pogoplug Pro with openwrt 3.14.9 or later, please show output  cat /proc/mtd

Uhm, 3.14.9 is not an OpenWrt version. Looks like a kernel version to me.

OK. You have OpenWRT with kernel 3.14.9 or later ?

I don't own a Pogoplug Pro, sorry. FWIW, kernel 3.14.9 was introduced in r41362, the oxnas target came later in r43388 built with kernel 3.18, and later switched back to kernel 3.14 in r43521. So I believe every build from openwrt.org is "kernel 3.14.9 or later".

Andreu wrote:

Who has Pogoplug Pro with openwrt 3.14.9 or later, please show output  cat /proc/mtd

cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00e00000 00020000 "boot"
mtd1: 07200000 00020000 "ubi"


uname -a
Linux OpenWrt 3.18.8 #1 SMP Fri Mar 6 13:53:11 CET 2015 armv6l GNU/Linux

I tried this on a Pogoplug Pro (P-01) with mPCI-e and while it boots it then hangs at the OpenWRT busybox command line.  I am not able to access the GUI at 192.168.1.1 even though I can ping it from the Windows 7 machine I am trying to connect to it with.   I was able to SSH into the Pro once I set up a root password at the OpenWRT command line.  But still no GUI.  This is what I see:

 v1.22.1 (2015-03-28 16:09:33 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

_______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (Bleeding Edge, r45073)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
root@OpenWrt:~#

I have to confess not being familiar with OpenWRT setup and CLI commands as I am used to Debian and Ubuntu.

Question:  The PP Pro only has one ethernet port.  Do I need to connect a USB ethernet adapter to make this thing work in that I would have a WAN adapter and then LAN adapter?

maplewang wrote:
Andreu wrote:

Who has Pogoplug Pro with openwrt 3.14.9 or later, please show output  cat /proc/mtd

cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00e00000 00020000 "boot"
mtd1: 07200000 00020000 "ubi"


uname -a
Linux OpenWrt 3.18.8 #1 SMP Fri Mar 6 13:53:11 CET 2015 armv6l GNU/Linux

I got the same results.

Edit:  My starting point was not the stock u-boot as I am running the latest bodhi spl and u-boot from doozan's site.  Not sure if this has any impact.

(Last edited by LeggoMyEggo on 29 Mar 2015, 03:03)

I just saw this http://blog.qnology.com/ and will try his instructions on the initial lan setup later.  In my case I will use serial console to set this up. 

At this point, we're ready to boot into OpenWRT. Note that by default, OpenWRT will default to 192.168.1.1 and will act as a DHCP Server. Plug a network cable from your computer directly into the Pogoplug and power it on. You should now be able to Telnet into the Pogoplug at 192.168.1.1 (username and password not required). Note that SSH is disabled and will automatically start after a root password is set.

#####Initial Boot via Telnet######
#set passwd and enable ssh
passwd

#Reconfigure Network to DHCP Client
#disable dhcp server on lan
uci set dhcp.lan.ignore=1
uci commit dhcp
/etc/init.d/dnsmasq restart

#set wired ethernet interface to dhcp client
uci set network.lan.proto=dhcp
uci commit network
reboot


Plug the Pogoplug and your computer back into your network. Check your router for the IP Address assigned to your Pogoplug. You should now be able to SSH into the Pogoplug.

(Last edited by LeggoMyEggo on 29 Mar 2015, 04:29)

Alright I tried it.  Still no go though sad

U-Boot SPL 2013.10-tld-4 (Sep 07 2014 - 14:10:12)
  Boot device: NAND
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set


U-Boot 2013.10-tld-5 (Mar 07 2015 - 16:50:17) for OXNAS

DRAM:  128 MiB
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:
Led:    GREEN
mii0
Main Loop
Waiting for PHY auto negotiation to complete... done
ENET Speed is 1000 Mbps - FULL duplex connection
Using mii0 device
ping failed; host 192.168.1.2 is not alive
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x440000, size 0x90000
 589824 bytes read: OK
## Starting application at 0x64000000 ...


U-Boot 2014.10 (Mar 28 2015 - 05:38:44) for OXNAS

DRAM:  128 MiB
NAND:  128 MiB
UBI: attaching mtd1 to ubi0
UBI: scanning is finished
UBI: attached mtd1 (name "mtd=1", size 114 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
UBI: VID header offset: 512 (aligned 512), data offset: 2048
UBI: good PEBs: 912, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 912, PEBs reserved for bad PEB handling: 9
Volume ubootenv not found!

** Unable to read env from ubi:ubootenv **
Volume ubootenv2 not found!

** Unable to read redundant env from ubi:ubootenv2 **
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   dwmac.40400000
Error: dwmac.40400000 address not set.

IDE:   SATA PHY not ready for device 0
SATA PHY not ready for device 1
ide_preinit failed
Hit any key to stop autoboot:  0
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Saving Environment to UBI...
UBI: detaching mtd1 from ubi0
UBI: mtd1 is detached from ubi0
UBI: attaching mtd1 to ubi0
UBI: scanning is finished
UBI: attached mtd1 (name "mtd=1", size 114 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
UBI: VID header offset: 512 (aligned 512), data offset: 2048
UBI: good PEBs: 912, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 912, PEBs reserved for bad PEB handling: 9
Writing to redundant UBI... Volume ubootenv2 not found!

** Unable to write env to ubi:ubootenv2 **
Read 0 bytes from volume kernel to 62000000
Volume kernel not found!

NAND read: device 0 offset 0x4e0000, size 0x400000
 4194304 bytes read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
dwmac.40400000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Waiting for PHY realtime link. done
Speed: 1000, full duplex
*** ERROR: `ethaddr' not set
Speed: 1000, full duplex

OK I was able to eventually get it to get a dhcp address on my LAN if I manually edited the /etc/config/network file using vi.  I could then SSH to the plug over my LAN once I set the root password in serial console.  So when I then tried to update the plug with opkg and load all the base packages including Luci,  I instantly ran out of available storage space and I am not sure how to put the rootfs on external storage using exroot and block-mount.   It should be noted that the installation of u-boot per the above is not complete, there is no permanent boot enviroment file stored that survived a reboot so each time I rebooted, I had to go through all the steps from the beginning. 

I think my biggest problem at this point in making this work without intervention is having NOT started from a stock u-boot configuration.  The bodhi/doozan u-boot I am using probably overlays or overlaps the areas the OpenWRT u-boot is stored and prevents the proper installation of the OWRT environment.  I am sure it could work eventually but at this point for me it's too much work for this particular device and I erased the OWRT u-boot and rootfs and re-flashed the bodhi u-boot and environment.

(Last edited by LeggoMyEggo on 30 Mar 2015, 04:49)

Well I tried it again, this time I booted via serial console from a usb flash drive with the files already installed on it.  I was able to boot again to the OpenWRT command line.  I tried to install opkg's (again) and it failed due to lack of space.  I then mounted /dev/tmp to /overlay and that freed up a bunch of space so I loaded everything I could including LuCi.  I was able to access the LuCi web interface and that seemed to function normally.  But the next problem I encountered was OWRT would not mount my usb flash drive even though it showed up in fdisk.  I wanted to mount the flash drive so I could pivot the rootfs onto the flash drive.  Another problem I encountered was the Ath9K wireless module I have was not recognized by the OS even though I loaded the proper packages.

On further reflection, there might be a way to get this to work even though I have a modern bootloader already on the device.  Becasue the Oxnas chip first looks to the sata interface for the bin boot file, I might be able to write the openwrt-oxnas-ox820-u-boot.bin file as stage 1 per the technique mentioned here:  http://forum.doozan.com/read.php?3,1601 … msg-19718.  While it should work, I am not sure what to put in the boot environment file.  Also, I don't know what effect having the firmware on sata has on the ability to be able to consistently boot OWRT without the serial console supervision I mention above. 

I might end up picking up a stock Pro just to test if I can avoid all this aggravation and load the new firmware on nand and then have the ability to have unsupervised booting to OWRT.  That would be great as I would like to use an Atheros ath9k mini pci-e card as an AP for a room in my place.

I hear an echo in here....................

Hey if someone has a stock Pogoplug Pro (without a modified u-boot) they can try the installation routine on it would be helpful to know how this goes.  In particular to see if the firmware installation sticks and is saved in nand.  My Pogoplug has an updated u-boot so I have to chain-load the OpenWRT u-boot.  Even after successfully booting,  the OpenWRT installation does not "stick" so I have to go through the whole process from the beginning each time I attempt to install.

Again, if someone could try this with a stock plug it would be helpful.

Interesting. So the images for Classic and Pro only differ in the dtb?

Also, is there a particular reason to keep the Debian u-boot over the u-boot that comes with the OpenWrt build? I'm asking because (as in one of my previous posts) one could simply daisy-chain into the new u-boot from factory u-boot.

In any case, I'll try to get OpenWrt installed via UART and the original u-boot, maybe that's a good task for a lazy Sunday. Your post provides some helpful pointers, even if you're going about it in a completely different environment.

(Last edited by metai on 12 Apr 2015, 06:34)

metai wrote:

Interesting. So the images for Classic and Pro only differ in the dtb?

Yes, the only different between the Pro and non-Pro (V3/Classic) is the builtin PCIE WiFi card. So actually you can use the classic dtb on both the Pro and non-Pro. At this point since the PCIE WiFi card doesn't work, no point in using the pro dtb file.

Also, is there a particular reason to keep the Debian u-boot over the u-boot that comes with the OpenWrt build? I'm asking because (as in one of my previous posts) one could simply daisy-chain into the new u-boot from factory u-boot.

I'm using the "Debian u-boot" (bodhi's) because I'm planning to use Debian not OpenWRT on my Pogoplug Pro. I provided the tutorial on OpenWRT because @LeggoMyEggo was having some difficulty getting OpenWRT up and running.

Not sure why you would want to chainload uboot's when just the one is flexible enough to boot what you need.

Edit - forgot to say thank you again @metai for the unsquash command

(Last edited by grayman4hire on 12 Apr 2015, 19:29)

grayman4hire wrote:

I'm using the "Debian u-boot" (bodhi's) because I'm planning to use Debian not OpenWRT on my Pogoplug Pro.

Ah, that makes perfect sense. So it's not a shortcoming of the u-boot supplied with OpenWrt.

Not sure why you would want to chainload uboot's when just the one is flexible enough to boot what you need.

After some thinking I'm not so sure about it either. Maybe it's because back when I first tried, the openwrt-oxnas target was still quite experimental and if the u-boot didn't work, you could always fall back to the factory one (insufficient for OpenWrt, but good enough to jumpstart the unit and reflash).

The other day, I posted this in the developer forum sans any response. I thought to mention it here to see if anyone has seen such a kernel setting for OXNAS platform. Knowing OXNAS platform is a 32-bit, I just raise my eyebrow me to see the Linux kernel default setting for an OXNAS platform is set to 64-bit.

OpenWRT running on Pogoplug Pro v3 here thanks to grayman4hire, LeggoMyWggo, bodhi and you guys here, thank you very much. 

I have one or more RTL8811AU USB wireless units from Rosewill I'll be looking for a way to install drivers if that's possible.

(Last edited by JoeyRouter on 27 Apr 2015, 19:51)

metai wrote:

Starting with CC15 RC3, we have pre-built images for the various subtargets:
https://downloads.openwrt.org/chaos_cal … s/generic/

I think it's time to research and document a simple, clean installation on the Pogoplugs.

I wonder if the pre-built will work on any external storage while the stock (factory) firmware still resides in the NAND storage.

The discussion might have continued from here.