Quantcast
Viewing all 902 articles
Browse latest View live

Bricked my i-Connect ? (2 replies)

I got an i-Connect and wanted to setup a small NAS/Audio server on it. I successfully installed ArchLinux, booting from an USB disk, following http://archlinuxarm.org/forum/viewtopic.php?t=1472.

This is a simple move: it just changes the bootcmd to scan usb port first and boot from /boot/uImage if it can be found.

Everything worked fine, but an ArchLinux update broke the system. Apparently, the last version of systemd (the replacement of init used in ArchLinux) requires a new kernel. I updated the kernel but the new kernel install warned me that it requires a recent version of uBoot to work, so I decided to try to update the uboot following http://forum.doozan.com/read.php?3,12381 using the iconnect uboot image provided there (great resource).

I must confess I skipped step 3 (and this one alone).
Quote

3. Be sure to save your current uBoot image in mtd0, or have a backup image saved somewhere as precaution.
so I do not have a backup image.

The MTD had no bad block in the region of uboot (dmesg), I erased, flashed with the untar'd image and checked the env variables with no problem. They were all unchanged (including the eth MAC address).

I wanted to get netconsole in case something might fail. So over the existing env, I changed the ipaddr and serverip

and added

fw_setenv if_netconsole 'ping $serverip' 
fw_setenv start_netconsole 'setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;' 
fw_setenv preboot 'run if_netconsole start_netconsole'

and rebooted. The crossed fingers did not help. I get nothing on netconsole (nc -l -u -p 6666 remains quiet on the serverip side). When the iconnect boots, the blue LED lights (in the weak mode) after 2 to 3 seconds, and then... nothing happens (as far as I can see).

I set up the netconsole because I do not have a serial access.
Before I rebooted, the env variables were as follows:

baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
netmask=255.255.255.0
usbstart=usb start
run_diag=yes
console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root)
CASset=min
MALLOC_len=1
bootargs_root=root=/dev/nfs rw
bootargs_end=:::orion:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethmtu=1500
eth1addr=00:50:43:5a:1a:2d
eth1mtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
iomega=123
nandEcc=1bit
ethprime=egiga0
ethact=egiga0
arcNumber=1682
uboot_start=0x0
uboot_size=0xc0000
env_start=0xa0000
env_size=0x20000
kernel_start=0x100000
kernel_size=0x300000
initrd_start=0x540000
initrd_size=0x300000
boot_start=0x980000
boot_size=0x1f400000
flash_load=run make_boot_args load1 load2 boot
load1=nand read.e 0x2000000 $(kernel_start) $(kernel_size)
load2=nand read.e 0x4500000 $(initrd_start) $(initrd_size)
boot=bootm 0x2000000 0x4500000
krn=run a b c
rd=run d e f
a=tftp 0x2000000 zImage
b=nand erase $(kernel_start) $(kernel_size)
c=nand write.e 0x2000000 $(kernel_start) $(kernel_size)
d=tftp 0x4500000 initrd
e=nand erase $(initrd_start) $(initrd_size)
f=nand write.e 0x4500000 $(initrd_start) $(initrd_size)
flashall=run krn rd
make_boot_args=setenv bootargs console=ttyS0,115200 mtdparts=orion_nand:;setenv bootargs $(bootargs)$(uboot_size)@$(uboot_start)(uboot),;setenv bootargs $(bootargs)$(env_size)@$(env_start)(env),;setenv bootargs $(bootargs)$(kernel_size)@$(kernel_start)(zImage),;setenv bootargs $(bootargs)$(initrd_size)@$(initrd_start)(initrd),;setenv bootargs $(bootargs)$(boot_size)@$(boot_start)(boot)
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=yes
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
hddPowerCtrl=no
enaAutoRecovery=yes
pcieTune=no
ethaddr=00:D0:B8:0D:29:C5
make_bootsetenv=make_boot_args setenv bootargs console=ttyS0,115200 mtdparts=orion_nand:;setenv bootargs $(bootargs)$(uboot_size)@$(uboot_start)(uboot),;setenv bootargs $(bootargs)$(env_size)@$(env_start)(env),;setenv bootargs $(bootargs)$(kernel_size)@$(kernel_start)(zImage),;setenv bootargs $(bootargs)$(initrd_size)@$(initrd_start)(initrd),;setenv bootargs
bootargs=setenv bootargs console=ttyS0,115200
boot_starsetenv=boot_start 0x980000
boot_sizesetenv=boot_size 0x1f400000
MAPOWERENV=Ver. 1.1.25 Chinese
usb_scan_1=setenv usb 0:1; setenv dev sda1
usb_scan_2=setenv usb 1:1; setenv dev sdb1
usb_scan_3=setenv usb 2:1; setenv dev sdc1
usb_scan_4=setenv usb 3:1; setenv dev sdd1
usb_scan_5=setenv usb 0:1; setenv dev sda2
usb_scan_6=setenv usb 1:1; setenv dev sdb2
usb_scan_7=setenv usb 2:1; setenv dev sdc2
usb_scan_8=setenv usb 3:1; setenv dev sdd2
bootcmd_usb_1=run usb_scan_1;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000
bootcmd_usb_2=run usb_scan_2;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000
bootcmd_usb_3=run usb_scan_3;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000
bootcmd_usb_4=run usb_scan_4;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000
bootcmd_usb_5=run usb_scan_5;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000
bootcmd_usb_6=run usb_scan_6;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000
bootcmd_usb_7=run usb_scan_7;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000
bootcmd_usb_8=run usb_scan_8;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000
make_usb_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/$(dev) rootdelay=10
bootcmd_usb=usb start;run bootcmd_usb_1;run bootcmd_usb_2;run bootcmd_usb_3;run bootcmd_usb_4;run bootcmd_usb_5;run bootcmd_usb_6;run bootcmd_usb_7;run bootcmd_usb_8
bootcmd=run bootcmd_usb; run flash_load
ipaddr=192.168.0.7
serverip=192.168.0.1
if_netconsole=ping $serverip
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
preboot=run if_netconsole start_netconsole

Note that the internal flash (kernel/root) is the original iConnect firmware, which will probably not boot (because of the different arcnumber in the new uboot and the old one).

Is the 'weak blue led on' after 2.5" a sign of (relative) health ?
Any idea of where the issue could be ?
I assume a serial or worse JTAG access is now needed to unbrick it. Correct ?

older versions of uboot and netconsole? (1 reply)

I've been running squeeze off a usb hard drive on dockstar since I acquired many years ago. Much to my chagrin the dockstar no longer boots off the original cloudengines firmware off internal flash (if no usb devices plugged in). As I don't have a serial cable I'm loathe to change any uboot environment settings, since the usb hdd is currently the only device from which I can boot the dockstar successfully. I'm afraid one incorrect boot device directive will render me unable to communicate with the dockstar.

I wanted to try netconsole, but unfortunately I wasn't able to get it to work. (Operator error can't be ruled out, although I did read instructions and tried several times.) In fact there was no lan activity at all, which leads me to wonder if netconsole functionality was available on the installed version of uboot.

According to the md5sum of relevant part of mtd0, the installed uboot version is 'dockstar jeff-2010-08-30.' As far as I can discern this vesion doesn't seem to scan for devices on all usb ports, which also is an additional complication. Does anyone know for certain that netconsole functionality is supported on this version of uboot?

Really can use some guidance.

Thanks!

flash gone bad or mere file corruption? (1 reply)

Much to my chagrin my dockstar would no longer boot off internal flash (but still can boot off external usb). I'd really like to have the internal flash work again because it just makes failsafe/rescue with original firmware so much easier.

Here is the uboot netconsole output:

U-Boot 2010.06-00695-gbd23130-dirty (Aug 30 2010 - 23:04:56)
Marvell-Dockstar/Pogoplug by Jeff Doozan
Hit any key to stop autoboot:  8 
Marvell>> run bootcmd_pogo
run bootcmd_pogo
### JFFS2 loading 'uboot-original-mtd0.kwb' to 0x800000
read_nand_cached: error reading nand off 0x570000 size 8192 bytes
off = 0x56ffa0 magic 0x1985 type 0xe002 node.totlen = 2705
read_nand_cached: error reading nand off 0x83c200 size 8192 bytes
read_nand_cached: error reading nand off 0x8e6000 size 8192 bytes
off = 0x8e5f0c magic 0x1985 type 0xe002 node.totlen = 2917
read_nand_cached: error reading nand off 0xa44400 size 8192 bytes
off = 0xa43eb4 magic 0x1985 type 0xe002 node.totlen = 1955
read_nand_cached: error reading nand off 0xa4c600 size 8192 bytes
off = 0xa4c1a0 magic 0x1985 type 0xe002 node.totlen = 1761
read_nand_cached: error reading nand off 0xaea400 size 8192 bytes
off = 0xae9cac magic 0x1985 type 0xe002 node.totlen = 2643
read_nand_cached: error reading nand off 0xd42400 size 8192 bytes
off = 0xd423dc magic 0x1985 type 0xe002 node.totlen = 1940
read_nand_cached: error reading nand off 0xfa2600 size 8192 bytes
read_nand_cached: error reading nand off 0x110e400 size 8192 bytes
off = 0x110e330 magic 0x1985 type 0xe002 node.totlen = 1196
### JFFS2 load complete: 524288 bytes loaded to 0x800000
## Starting application at 0x00800200 ...
(flashing amber led)

Is there a way to attempt to (safely) erase the affected flash areas and put back 'uboot-original-mtd0.kwb' and whatever else might be affected?

need u-boot source for Kurobox/Pro (5 replies)

I have a Kurobox/Pro (based on Marvell 88F5182) and am very interested in the Kirkwood thread to amalamte all support for Kirkwood SOC's. I know the 88F5182 is NOT Kirkwood but given a Kurobox/Pro u-boot source tree I possibly can recover this unit.
Here's a serial port capture of the boot up of my Kurobox/Pro. It doesn't seem to be quite sane. The header printed out indicates it is a u-boot modifies by DG (davygravy) but I cannot find the source for his work.

Orion1 CPU = Low

=== KURO U-Boot. ===
** LOADER **
** KUROBOX BOARD: KURO_BOX LE (CFG_ENV_ADDR=fffff000)


U-Boot 1.1.4 (Jun 20 2008 - 18:17:26) Marvell version: 1.12.1 - TINY + DG's KuroPro Netconse

DRAM CS[0] base 0x00000000 size 128MB
DRAM Total size 128MB
[256kB@fffc0000] Flash: 256 kB
Addresses 20M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (20M - 16M): Done
NAND: 256 MB

Soc: 88F5182 A2
CPU: ARM926 (Rev 0) running @ 500Mhz
Orion 1 streaming disabled
SysClock = 250Mhz , TClock = 166Mhz


USB 0: host mode
USB 1: host mode
PCI 0: PCI Express Root Complex Interface
PCI 1: Conventional PCI, speed = 33000000
Orion1 CPU = Low

I have tried to capture any possible netconsole output without success (I suspect the IP address is not in my network) and I cannot stop it at a command prompt in order to modify the environment.
I have done u-boot development for PPC and ixp boards as a developer in the past so I know about the u-boot code and I have a USB JTAG from Olimex which I will configure openocd for to allow me to flash a new u-boot.

I'm also very curious about bodhi's work in getting u-boot rebase to 2014.4 for my NSA320 and possibly a Buffalo LS-WVL/E (Which has nand flash and needs a set of more vanilla environment variables to just boot!

Herb

Unbricking OMNINAS kd20 (oxnas820) (5 replies)

I have Shuttle Omninas kd20, and I managed to screw its u-boot image in NAND. So it does not boot into u-boot from NAND anymore. The board does have serial header (which I am using), but no JTAG header. And obviously it has 2 SATA interfaces (it's a NAS box).

I am trying to use this guide to boot from SATA disk, and it works. Almost. First, using different stage1 images result in reported frequecies that do not match those in the names of the images. I need to use stage1/stage1.wrapped800 to get reported 750 MHz that is "right" for the board.

After booting into the u-boot, I can do almost anything using tftp: chain-load another u-boot, or boot a kernel. So far so good. But NAND operation is unstable. Erase works, reading usually works, writing always hangs. So I cannot recreate the u-boot partition in NAND, and presumably ubifs won't work if I try.

NAND access (obviously) worked fine when I was booting from NAND, including when I chain-loaded an external u-boot over tftp.

All of the above makes me think that the problem is in stage1, that does not suit my board, and incorrectly initializes something in the hardware.

I (obviously) have u-boot built from the source that works when chain-loaded over tftp.

Now the question: how can I constuct the stage1 and u-boot images that are suitable for writing onto the SATA disk, and do I need to modify the contents of the first sector (the one constructed by perl "print"s in disk_create)? I did not find any resources explaining this.

Thanks!

Latest uBoot for Pogoplug Mobile? (9 replies)

I just picked up 4 Pogoplug Mobiles from Ebay for a little less than $6 each shipped.

What's the latest and greatest uBoot for the Pogoplug Mobile?

Would it be davygravy's posted here - http://forum.doozan.com/read.php?3,7477? Is there a nice simple script to install the uBoot with the appropriate env variables? If not, why not? Just curious since a script makes it so much simpler and less error prone.

Thanks

gray

Pogoplug Mobile - Booting default Pogoplug OS in NAND (4 replies)

Hello,

Quick disclaimer, I'm new to uBoot and Linux booting so please bare with me.

I've been looking into booting the default Pogoplug OS from davygravy's uboot. Basically I'm looking for similar functionality of the Pogoplug E02, where if you don't have anything plugged in, the Pogoplug will boot back into its default OS. This feature is useful for rebuilding a corrupt usb drive, but more importantly I'm just looking to better understand the uboot process.

I found the original thread where Jeff explains the method he uses for the Pogoplug E02 - http://forum.doozan.com/read.php?3,210,214

Quote

The installer saves a copy of the pogoplug uboot image to the root directory of the pogoplug environment (mtd2). When the new uBoot runs, it tries to boot from the USB devices, but if they're not found or unbootable, it will load the old uBoot image and let that run to boot into the original Pogoplug installation.

Here is "pogo_bootcmd" uboot environment variable/command used to boot the "copy of the pogoplug uboot image"
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi

I got a few questions:

1) How do I create the "uboot-original-mtd0.kwb" file (containing the original Pogoplug Mobile uboot)? From looking at Jeff's installation script, the uboot-original-mtd0.kwb file is downloaded from his server.

Using my E02 as a base test unit, I tried the following command. However the md5 on the kwb file didn't match the one Jeff provides and my Pogoplug E02 failed to boot into the default Pogoplug OS.
nanddump --noecc --omitoob -l 0x80000 -f /uboot-original-mtd0_2.kwb /dev/mtd0

I got the command from Jeff's uBoot installation script
# dump the first 512k of mtd0 to /tmp
$NANDDUMP --noecc --omitoob -l 0x80000 -f /tmp/uboot-mtd0-dump /dev/mtd0

I'm a little confused why he doesn't use this mtd0 backup versus downloading the kwb file, so I suspect there is a difference between the nand dump and kwb file he provides.

2) In the "pogo_bootcmd", how does the fsload command ("fsload uboot-original-mtd0.kwb") know where (what mtd partition) to load the kwb file from? Also, what does the address "0x800200" mean or referring to?

Thanks

Pogoplog Mobile - contents of default MTD partitions (no replies)

Hello,

The default mtd partition layout for the Pogoplug Mobile is the following:

#cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00200000 00020000 "u-boot"
mtd1: 00300000 00020000 "uImage"
mtd2: 00300000 00020000 "uImage2"
mtd3: 00800000 00020000 "failsafe"
mtd4: 07000000 00020000 "root"

I had a few questions, which hopefully someone can help answer or provide me some tips on finding the answer myself.

I know "root" contains the root filesystem, but how about the other partitions?

Why are there two uImage partition - "uImage" and "uImage2"?
What's in the "failsafe" partition?

I'm looking into booting the rescue system or OpenWRT from NAND and looking for a better understanding of the default MTD partition layout. Thanks

Pogoplug v2 Uboot woes (5 replies)

I've been reading through these forums for a few days and cannot figure out my issue.

I have a pogoplug v2 that I've been running happily as an arch server for about 4 years. The other day, I lost power to the device and it no longer boots. I hooked a serial up to it and I can get the uboot terminal, so that's good (from what I've read)

Here's what I get when I boot with the a USB containing my old alarm install. The output is the same when compared to a newly created arch install as well as one I have from a working pogoplug:
U-Boot 2014.04.R3-1 (May 26 2014 - 19:45:55) Arch Linux ARM
Pogo E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
** File not found /rescueme **
** Unrecognized filesystem type **
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            91 MiB
UBI: number of good PEBs:        727
UBI: number of bad PEBs:         1
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             716
UBI: total number of reserved PEBs: 11
UBI: number of PEBs reserved for bad PEB handling: 7
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
1 bytes read in 112 ms (0 Bytes/s)
Found bootable drive on usb 0:1
EHCI timed out on TD - token=0xa0008d80
EHCI timed out on TD - token=0x20008d80
EHCI timed out on TD - token=0x20008d80
 ** ext4fs_devread read error - block
** File not found /boot/uInitrd **
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.14.4-1-ARCH
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3965072 Bytes = 3.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
stopping USB..
Unknown command 'fsload' - try 'help'
Unknown command 'fsload' - try 'help'
resetting ...
and then it does that on a loop.

Here's what it does when I reboot with no USB device plugged in:
SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            91 MiB
UBI: number of good PEBs:        727
UBI: number of bad PEBs:         1
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             716
UBI: total number of reserved PEBs: 11
UBI: number of PEBs reserved for bad PEB handling: 7
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
** Bad device usb 0 **
** Bad device usb 1 **
** Bad device usb 2 **
** Bad device usb 3 **
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
stopping USB..
Unknown command 'fsload' - try 'help'
Unknown command 'fsload' - try 'help'
resetting ...

Here's what I get when I printenv:
PogoE02> printenv
arcNumber=3542
baudrate=115200
bootargs=$(console) $(bootargs_root)
bootargs_root=root=/dev/mtdblock2 ro
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
bootdelay=3
bootm=echo Booting from ${disk} ...; run setargs; bootm ${loadaddr};
bootz=echo Booting from ${disk} ...; run setargs; bootz ${loadaddr} - ${fdt_addr};
console=ttyS0,115200
ethact=egiga0
ethaddr=00:25:31:00:95:6A
fdt_addr=0x800000
fdt_file=/boot/dtbs/kirkwood-pogo_e02.dtb
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
importbootenv=echo Importing environment (uEnv.txt)...; env import -t $loadaddr $filesize
ipaddr=192.168.1.99
led_error=orange blinking
led_exit=green off
led_init=green blinking
load=echo Attempting to boot from ${type} ${disk}:1...;if run loadbootenv; then run importbootenv;fi;echo Checking if uenvcmd is set ...;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;echo Running default loadzimage ...;if run loadzimage; then run loadfdt;run bootz;fi;echo Running default loaduimage ...;if run loaduimage; then run bootm;fi;
loadaddr=0x810000
loadbootenv=load ${type} ${disk}:1 ${loadaddr} /boot/uEnv.txt
loadfdt=load ${type} ${disk}:1 ${fdt_addr} ${fdt_file}
loaduimage=load ${type} ${disk}:1 ${loadaddr} ${uimage}
loadzimage=load ${type} ${disk}:1 ${loadaddr} ${zimage}
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
serverip=192.168.1.89
setargs=setenv bootargs console=${console},${baudrate} ${optargs} root=/dev/sd${letter}1 rw rootwait ${mtdparts}
stderr=serial
stdin=serial
stdout=serial
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
uimage=/boot/uImage
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_device=0:1
usb_init=run usb_scan
usb_root=/dev/sda1
usb_rootdelay=10
usb_rootfstype=ext3
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_scan_list=1 2 3 4
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
zimage=/boot/zImage

Environment size: 3558/131068 bytes


I can't get it to boot into the PogoPlug OS, nor can I get it to the point where it will connect via ethernet. Ethernet port just flashes when I plug in the cable, despite having a valid IP schema in the environment.

Does anyone have anything that they'd like me to try or any suggestions?

Thanks!

Pogoplug Mobile V4-A1-01 troubles (11 replies)

Hello,
I just bought my first pogoplug, and decided to play around with it. I follow the directions at archlinux for the Pogoplug Series 4. After I was done, I was left with a flashing green light. I spent a few hours reading on how to fix it and I think I'm at the point where I could use some assistance.

I was able to search around and found the pin layout and setting used for serial connection. I was also able to install ubuntu 64 in virtualbox and got kwboot to work. I think I need to use "uboot.uartpogoMobile-MMC-mtdparts-NoUSB.kwb.tar.gz"
found here http://forum.doozan.com/read.php?3,7477,7670#msg-7670 but I'm not sure if I can correct what arch already did.

At this point, I'm sort of lost on how to proceed. I was looking to try Arch but have no problems with Debian since my Pi also runs that. I'm very new to linux so this process has been a major journey. Can someone point me in the right direction from here.
Thanks

Pogo E02 will only boot with USB drive (3 replies)

Hi,
I just got another Pogo E02 and installed Archlinux and associated apps with no problems. It boots fine if I have the USB flash drive connected. The problem is when I try to boot it back into the original Pogoplug factory environment it stops booting if no flash drive is connected.

In serial console I get the following:

oC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

no USB devices available

no USB devices available

no USB devices available

no USB devices available
PogoE02>

My uboot printenv is:

baudrate=115200
bootcmd=usb start; setenv letter 9;for type in usb; do for disk in 0 1 2 3; do if ${type} part ${disk};then setexpr letter $letter + 1;run load;fi;done;done;
bootdelay=3
bootm=echo Booting from ${disk} ...; run setargs; bootm ${loadaddr};
bootz=echo Booting from ${disk} ...; run setargs; bootz ${loadaddr} - ${fdt_addr};
console=ttyS0
ethact=egiga0
ethaddr=00:25:31:04:81:B7
fdt_addr=0x800000
fdt_file=/boot/dtbs/kirkwood-pogo_e02.dtb
importbootenv=echo Importing environment (uEnv.txt)...; env import -t $loadaddr $filesize
letter=9
load=echo Attempting to boot from ${type} ${disk}:1...;if run loadbootenv; then run importbootenv;fi;echo Checking if uenvcmd is set ...;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;echo Running default loadzimage ...;if run loadzimage; then run loadfdt;run bootz;fi;echo Running default loaduimage ...;if run loaduimage; then run bootm;fi;
loadaddr=0x810000
loadbootenv=load ${type} ${disk}:1 ${loadaddr} /boot/uEnv.txt
loadfdt=load ${type} ${disk}:1 ${fdt_addr} ${fdt_file}
loaduimage=load ${type} ${disk}:1 ${loadaddr} ${uimage}
loadzimage=load ${type} ${disk}:1 ${loadaddr} ${zimage}
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),-(rootfs)
setargs=setenv bootargs console=${console},${baudrate} ${optargs} root=/dev/sd${letter}1 rw rootwait ${mtdparts}
uimage=/boot/uImage
zimage=/boot/zImage

Environment size: 1434/131068 bytes

Any help would be appreciated,
Thank you

Pogoplug v4 / mobile on bodhi's latest build wont start linux (3 replies)

Hi all, hope you can help. Awsome job on suporting debian on these devices!
I followed all the steps on http://forum.doozan.com/read.php?3,12381 to install uboot - it worked great, I have uboot running and can interact with it via nc.
I then tried creating my kernel on a usb stick following http://forum.doozan.com/read.php?2,12096
So, it was a little unclear about how to partition the drive, but I settled on a single large partition (28gb) in ext2 and change the etc/fstab file to ext2
Now when I boot I get all the way to 'Starting Kernel' and I get a solid green light (initially its flashing).
It stays there for seemingly ever, and I never see any network traffic (using wireshark) , so it seems like its dead.
Any suggestions about next steps - Have tried various older kernel / rootfs's and nothing I have tried seems any different.

Pogoplug V4 original MTD partitions (2 replies)

Since a lot of people have been getting the Pogo V4/Mobile lately, just thought I'd repost the download link to one of my Pogo V4s original MTDs here. In case anybody wants to revert to stock, and can't do it because they have already installed newer U-Boot.

Dowload at Dropbox:
pogoplug_v4_mtd_original.tar.bz2
md5
064a298c89ae5a1b207061e11b401930

You only need to use mtd0 to restore u-boot. And that's enough to go back to stock. Other mtds are included in the tarball just in case the whole NAND needs to be restored :)

And if you use these mtd partitions to restore, please remember to reset the cesvcid to your own number :), and also reset ethaddr to your own box, so that you can continue using Pogoplug service. The environment variable looks like this:
cesvcid=V88XBRRLWPC9WYGQxxxxxxxxx

How to restore:
=============

Warning: Don't do this if you have any bad block in these MTD partitions, especially mtd0 (check your dmesg). And also do this at your own risk, it's highly recommended that you have serial console attached to recover from any bad flash.

The original mtd0 was saved using the following nanddump command:

/tmp # ./nanddump -nf usb/mtd0 /dev/mtd0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00200000...

So in order to restore mtd0 back, you can use flash_erase and nandwrite. Below are actual flashing and output. Your output should look exactly like these. If not, don't reboot, and post the question here.

1. make sure the mtparts are correct
# fw_printenv mtdparts
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
2. Erase mtd0:
#flash_erase /dev/mtd0 0 16
Erase Total 16 Units
Performing Flash Erase of length 131072 at offset 0x1e0000 done
3. Write mtd0 backup file back to NAND:
# nandwrite -on /dev/mtd0 mtd0
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 9 at offset 0x120000
Writing data to block 10 at offset 0x140000
Writing data to block 11 at offset 0x160000
Writing data to block 12 at offset 0x180000
Writing data to block 13 at offset 0x1a0000
Writing data to block 14 at offset 0x1c0000
Writing data to block 15 at offset 0x1e0000

If you need to restore mtd1 to mtd4, then calculate the number of blocks for each mtd (i.e. a block is 128K, 1M is 8 blocks).

no led, serial not working (1 reply)

hi,

i have a pogoplug e02 (pink). i have installed an archlinux and played a lot with different installs. A half year ago i tried a new boot loader and after that i was not able to boot the device any longer. It wont boot from usb stick and it wont boot from nand flash.

Now i have some more freetime, so i tried to get up a serial connection.
The wiring (tx <> rx, rx <> tx, gnd) is definitively right and the pl2303 driver is installed correctly.
With putty i can connect on my COM port with the right baud rate and so on, but there is no output at all.

The front led is not glowing, never. when i push the reset button on the motherboard the ethernet port led is blinking one time and then nothing.

Is there another way to unbrick my device? any other ideas?

greez Basti

Grub for ARM u-boot (no replies)


Pogoplug v4 Hangs at "Waiting for storage device(s) to settle" (3 replies)

Model: POGO-V4-A1-01
1 x USB 2.0
1 x SD

Using Seagate 3TB external HD, model STBV3000100

I went through the setup instructions which worked well except that fdisk had issues partitioning my drive. I did the partitioning with gparted on a separate computer, but other than that, everything in the first phase went as plan.

I rebooted the plug and when it came back, it had the flashing green light. I hooked into its serial console and watched it all go down:

U-Boot 1.1.4 (Jan 13 2012 - 22:33:21) Arch Linux ARM (PPV4 r1) PHYADDR=0

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFD60

Soc: 88F6192 A1 (DDR2)
CPU running @ 800Mhz L2 running @ 400Mhz
SysClock = 200Mhz , TClock = 166Mhz

DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3
DRAM CS[0] base 0x00000000   size 128MB 
DRAM Total size 128MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB
Flash:  0 kB
                                  
CPU : Marvell Feroceon (Rev 1)
CLOUD ENGINES BOARD: PPV4A1
 
Streaming disabled
Write allocate disabled
 

USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0
(Re)start USB...
USB:   scanning bus for devices... 2 USB Device(s) found
Waiting for storage device(s) to settle before scanning...

I saw several reports where "Waiting for storage device(s) to settle before scanning..." was followed by a newline and the character "T". I do not have the T. It completely hangs at this point and accepts no input.

If I boot without the HD attached, I get to the ALARM prompt. I can then attach the HD and attempt to do "usb stop", "usb start", but it doesn't detect the USB device in that instance ("1 USB Device(s) found").

I've since tried reformatting the drive to have only a single 4GB ext3 partition, but no luck there either. I have done this, again, with gparted. I have not tried fdisk to partition and format the HD since the initial setup when it did not work.

What should I do? Thanks in advance!

Pogoplug Mobile NAND messed up pretty decently :) (5 replies)

Here's my setup:
-Pogoplug Mobile (plugged in and activated to get in via SSH)
-Arduino Uno R2 as Serial connection, soldered

I've been 'playing' with hardware and software for quite a couple of decades, and thought I knew anything about what I'd normally consider 'normal' modifications, but this bugger seems to have confused the crap out of me!

Current status, directly from kwboot's serial connection:

==================================
U-Boot 2011.12 (Apr 21 2012 - 12:34:49)
Cloud Engines-Pogoplug Mobile:MMC version

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  128 MiB
*** Warning - readenv() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0 
No MMC card found
** Bad partition 1 **
** Bad partition 1 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Pogov4> mtdparts

device nand0 <orion_nand>, # parts = 5
 #: name		size		offset		mask_flags
 0: u-boot              0x00200000	0x00000000	0
 1: uImage              0x00300000	0x00200000	0
 2: uImage2             0x00300000	0x00500000	0
 3: failsafe            0x00800000	0x00800000	0
 4: root                0x07000000	0x01000000	0

active partition: nand0,0 - (u-boot) 0x00200000 @ 0x00000000

defaults:
mtdids  : none
mtdparts: none
Pogov4> printenv
baudrate=115200
bootargs=$(bootargs_console)
bootargs_console=console=ttyS0,115200
bootcmd=setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000
bootcmd_mmc=mmc init; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd
bootcmd_usb=usb start; ext2load usb 0:1 0x00800000 /uImage; ext2load usb 0:1 0x01100000 /uInitrd
bootdelay=3
ethact=egiga0
ethaddr=01:23:45:67:89:10 <== Yeah, I know, it's a MAC, but it's MY MAC :P
mtddevname=u-boot
mtddevnum=0
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
partition=nand0,0
stderr=serial
stdin=serial
stdout=serial

Environment size: 653/131068 bytes
===================================

The only thing modified above is the MAC - because :P

If ANYONE can help, here's what I'm looking at:

-I would LOVE to restore my nand back to factory defaults - back to the beginning - but although I have the mtd0-4 parts posted for the V4 boxes from here, I can't SSH to the box, so nandwrite isn't viable :(

-I have tried SEVERAL different uboot's (as follows) and all can't setenv... :(
uboot.2014.07-tld-1.pogo_v4.mtd0.kwb
uboot.nandpogoMobile-MMC-mtdparts-NoUSB.kwb
uboot.uartpogoMobile-MMC-mtdparts-NoUSB.kwb

-I CAN tftpboot and uartboot, but for the damned life of me cannot get an SD or USB stick to boot (most likely because there aren't images I can find and most directions prep the sticks/drives using files from the now dead pogo) :(


I know it's alot to ask - and for that I apologize, but any help would be so helpful!

I'll document everything and hell, if there's no bare-metal recovery directions, I'd LOVE to document that for anyone!

Thank you in advance!

Help: Fresh install Pogo Mobile hangs at "Starting Kernel ..." (12 replies)

A little about me- I'm a complete noob with Pogoplug's and Uboot, but I have a lot of experience with Debian Linux and CLI.

Ok so, I installed Uboot on a new Pogoplug Mobile(v4) and Debian on USB stick. Following the instructions here:
http://blog.qnology.com/2014/07/hacking-pogoplug-v4-series-4-and-mobile.html

(It's like a copy of Bodhi's instructions, but specifically for the pogo mobile)

The only thing I changed from the original instructions is using ext2 filesystem, and ./fw_setenv usb_rootfstype ext2.

I'm using Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2. Also I set up Jeff's netconsole output. (In my router, I assigned the pogo's mac to the ipaddress 192.168.0.240)

After reboot, I get no response from ping or ssh.

Here is the output from running netcat on my computer.

~$ nc -l -u -p 6666
   
U-Boot 2014.07-tld-1 (Jul 18 2014 - 00:59:45)
Pogoplug V4
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
2461416 bytes read in 568 ms (4.1 MiB/s)
6362802 bytes read in 981 ms (6.2 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.14.0-kirkwood-tld-1
   Created:      2014-04-06  20:44:27 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2461352 Bytes = 2.3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-3.14.0-kirkwood-tld-1
   Created:      2014-04-06  20:44:41 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6362738 Bytes = 6.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK


Starting kernel ...

And that's where it stops. I have no clue about what to do from here.

dmesg bad block detected (2 replies)

While looking at dmesg saw this.....

[    6.756660] Scanning device for bad blocks
[    6.820850] Bad eraseblock 808 at 0x000006500000

The device seems to be running debian fine as of now. Should I be worried? I already have Jeff's uboot and rescue installed.

BTW How do I check the version of u-boot and rescue boot installed?

Exploiting the PogoPlug Mobile (2 replies)

Didn't think this fit anywhere else, hopefully someone already saw this - VERY helpful :)

GTVhacker Pogoplug Mobile

The PogoPlug has an open bootloader and its kernel drops to a root shell making this a very open device. On top of that a user is also able to enable a SSHD server if they visit My.PogoPlug.com and enable it. Enabling SSHD not only sets dropbear to start on boot but also forces the user to change the root password. This however is only offered if a user opts to setup SSHD.

This leaves a lot of users with a default root password, but seemingly without any services running that could use it.
Lucky for us a diagnostic page runs on every pogoplug and can be accessed at:

https://IP-OF-POGOPLUG-MOBILE/sqdiag/

This diagnostic pages uses the root credentials as its login/password.
After accessing this diagnostic page you will need to access the hidden command execution portion. This can be access by visiting the following

https://root:ceadmin@IP-OF-POGOPLUG-MOBILE/sqdiag/HBPlug?action=command


After visiting the above URL you should now have an input field that you can enter in any command which will execute with root privileges.
Accessing from CURL The below command will test a PogoPlug for the default login and command execution script. For a quick test substitute COMMANDHERE with reboot.
POC:
curl -k "https://root:ceadmin@IP-OF-POGOPLUG-MOBILE/sqdiag/HBPlug?action=command&command=COMMANDHERE&quot;


Below are the default root credentials for the PogoPlug, these are only changed if a user enables SSHD through the PogoPlug cloud interface.
Username: root
Password: ceadmin

Viewing all 902 articles
Browse latest View live