Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Pogo V3 - UBoot envs fehlerhaft

    Nobody is reading this thread right now.

Rog2

Ist gelegentlich hier
Registriert
25. September 2013
Beiträge
83
Reaktionspunkte
36
Punkte
38
Hallo Freunde der Sonne,

Ich habe vor bei einem Uboot update vor ca. 1 Jahr meinen Pogo V3 zerschossen und konnte ihn danach nicht mehr reaktivieren. Das Problem war, dass ich wahrscheinlich die u-boot envs falsch gesetzt habe und deshalb nicht mehr darauf zugreifen konnte (ich konnte über das netzwerk nicht mehr darauf zugreifen).

Als ich ihn letztens entdeckt habe, hat mich dann doch wieder der Ehrgeiz gepackt und ich habe mir einen TTL Adapter besorgt. Hier ist der Output:

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 2015.10-tld-1 (Nov 21 2015 - 01:17:59 -0800)
OXNAS OX820

DRAM: 128 MiB
NAND: 128 MiB
In: serial
Out: serial
Err: serial
Net: dwmac.40400000
Hit any key to stop autoboot: 0
starting 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

Reset IDE: SATA PHY not ready for device 0
ide_preinit failed

Partition Map for USB device 0 -- Partition Type: DOS

Part Start Sector Num Sectors UUID Type
1 62 7968178 00072dc9-01 83
loading envs from usb 0 ...
** File not found /boot/uEnv.txt **

no IDE devices available
running scan_disk ...
Scan device usb
device usb 0:1
1 bytes read in 221 ms (0 Bytes/s)
Found bootable drive on usb 0
loading uImage ...
4109733 bytes read in 373 ms (10.5 MiB/s)
loading uInitrd ...
1953812 bytes read in 289 ms (6.4 MiB/s)
loading DTB /boot/dts/ox820-pogoplug-pro.dtb ...
7029 bytes read in 237 ms (28.3 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
Image Name: Linux-3.3.17.0-oxnas-tld-1
Created: 2017-01-19 9:22:45 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4109669 Bytes = 3.9 MiB
Load Address: 60008000
Entry Point: 60008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
Image Name: initramfs-3.17.0-oxnas-tld-1
Created: 2014-11-01 7:18:53 UTC
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 1953748 Bytes = 1.9 MiB
Load Address: 60000000
Entry Point: 60000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
Booting using the fdt blob at 0x62c00000
Loading Kernel Image ... OK
Loading Ramdisk to 67c4e000, end 67e2afd4 ... OK
Loading Device Tree to 67c49000, end 67c4db74 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

OX820> printenv
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; reset
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x60500000 0x60e00000 0x62c00000; else bootm 0x60500000 0x60e00000; fi; else if run load_dtb; then bootm 0x60500000 - 0x62c00000; else bootm 0x60500000; fi; fi
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
disks=0 1 2 3
dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
ethact=dwmac.40400000
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
ipaddr=192.168.2.88
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x62c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x60e00000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x60500000 /boot/uImage
mainlineLinux=yes
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot=run preboot_nc
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
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 ext2load $dev $disknum:1 0x60500000 /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.2.1
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_import=echo importing envs ...; env import -t 0x60500000
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=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
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
usb_custom_params=zswap.enabled=1
usb_ready_retry=15

Environment size: 2747/131068 bytes

Den Stick habe ich schon neu erstellt, aber irgendwie scheint er nicht richtig zu booten bzw ich bekomme es nicht mit, da ich nicht per Netzwerk darauf zugreifen kann. Ich verstehe auch nicht, wieso ich ich 2 verschiedene U-Boot Varianten im Flash habe.

Kann mir jmd. einen Hinweis geben, wie ich das wieder hinbekomme?
 
Hi,
wenn du Konsolenzugriff hast, probiere mal sowie hier beschrieben uboot neu zu installieren: ht*p://blog.qnology.com/2015/04/hacking-pogoplug-v3oxnas-proclassic.html
 
Leider komme ich an dieser Stelle nicht weiter, da ich zwar Konsolenzugriff (via Serial) habe, aber keine Netzwerkzugriff. Deshalb kann ich die Pakete auch nicht herunterladen, um uboot erneut zu installieren. Ich habe festgestellt, dass der Punkt "ethaddr=52:3b:20:9c:11:51" die falsche Mac Adresse beinhaltet. Mittels setenv ethaddr XX:XX:XX:XX:XX:XX konnte ich dies korrigieren (wird printenv danach auch korrekt angezeigt), aber leider habe ich trotzdem keinen Netzwerkzugriff. Nach meinem Verständnis müsste der Pogo die IP 192.168.2.88 wählen (siehe printenv; 192.168.2.1 ist der Router).

Leider passiert das nicht. Nach einem Reboot ist die geänderte MAC Adresse wieder geändert (keine Ahnung warum).
 
Den hatte ich unter Linux am PC erstellt nach dieser Anleitung: h**p://forum.doozan.com/read.php?2,16044 und mit diesem Image:
 
Sorry, das opige image war falsch. Ich hatte ja ein fertiges rootfs benötigt. Also hatte ich folgendes genutzt:

Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2

Der vollständige Log ist oben im Spoiler schon eingetragen (Nach: "Uncompressing Linux... done, booting the kernel." passiert nichts mehr
 
die environment speichert man in der Regel mit einem der unten stehenden Befehle, dann bleiben sie auch nach dem boot erhalten.

Code:
save
save env
save environment
savenv
 
Kannst du mal probieren ob du ohne Stick den Pogo soweit wie hier beschrieben vorbereiten kannst über die serielle Schnittstelle: Gelöst - Suche V3 Image

Leider nicht, da zum installieren des neuen Uboot auch ein Netzwerkzugriff zur Verfügung stehen muss.

die environment speichert man in der Regel mit einem der unten stehenden Befehle, dann bleiben sie auch nach dem boot erhalten.

Code:
save
save env
save environment
savenv

Leider geht keiner der Befehle zum Speichern der neuen Mac Adresse.

Ich denke mittlerweile wirklich, dass es ein Problem der Einstellungen der uBoot ist. Hier noch mal das Log für printenv:

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 2015.10-tld-1 (Nov 21 2015 - 01:17:59 -0800)
OXNAS OX820

DRAM: 128 MiB
NAND: 128 MiB
In: serial
Out: serial
Err: serial
Net: dwmac.40400000
Hit any key to stop autoboot: 0
OX820> printenv
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; reset
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x60500000 0x60e00000 0x62c00000; else bootm 0x60500000 0x60e00000; fi; else if run load_dtb; then bootm 0x60500000 - 0x62c00000; else bootm 0x60500000; fi; fi
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
disks=0 1 2 3
dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
ethact=dwmac.40400000
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
ipaddr=192.168.2.88
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x62c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x60e00000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x60500000 /boot/uImage
mainlineLinux=yes
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot=run preboot_nc
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
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 ext2load $dev $disknum:1 0x60500000 /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.2.1
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_import=echo importing envs ...; env import -t 0x60500000
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=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
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
usb_custom_params=zswap.enabled=1
usb_ready_retry=15

Environment size: 2747/131068 bytes
OX820>
 
Ich kann heute Abend mal meinen Pro anschmeißen und schauen aber das wird nicht viel helfen da im Flash bei mir openwrt läuft.
 
mit ? oder help sollte alle Befehle ausgegeben werden, da ist ganz sicher einer zum speichern dabei.

saveenv (ungewöhnlich)

könnte auch noch sein, das sollte aber mit ? ersichtlich sein, an meinem pogo kann ich gerade leider nicht nachschauen ...
 
Anbei die Ausgabe meiner ubootenv
Code:
root@homeserver ~ > fw_printenv
autoload=no
baudrate=115200
bootargs=console=ttyS0,115200n8
bootdelay=10
console=console=ttyS0,115200n8
ethact=mii0
ethaddr=5e:2b:15:71:ec:b6
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
stderr=serial
stdin=serial
stdout=serial
usb_device=0:1
if_netconsole=ping $serverip
preboot_nc=run if_netconsole start_netconsole
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version
preboot=run preboot_nc
ipaddr=192.168.1.11
serverip=192.168.1.12
uinitrd_addr=0x60e00000
uimage_addr=0x60500000
dtb_addr=0x62c00000
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr
dt_load_dtb=ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb
dt_load_initrd=ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 $uimage_addr /boot/uImage
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
zimage=/boot/zImage
loadaddr=0x60500000
fdt_addr=0x62c00000
loadubi=echo Trying to boot from NAND ...;if run mountubi; then run loadubizimage;run loadubifdt;ubifsumount;run bootzubi;fi
mountubi=ubi part data; ubifsmount ubi0:rootfs
loadubizimage=ubifsload ${loadaddr} ${zimage}
loadubifdt=ubifsload ${fdt_addr} ${fdt_file_ubi}
bootzubi=echo Booting from nand ...; run setargsubi; bootz ${loadaddr} - ${fdt_addr};
setargsubi=setenv bootargs console=ttyS0,115200n8 ubi.mtd=1 root=ubi0:rootfs rw rootfstype=ubifs rootwait ${mtdparts}
fdt_file_ubi=/boot/openwrt-oxnas-pogoplug-pro.dtb
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop
bootcmd=run dt_bootcmd_usb; run loadubi; reset

Hier ein vergleich in der Tabelle, meine ist Spalte A und Deine ist B.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Hallo,

Pogo konnte wieder zum Leben erweckt werden. Was es genau war, weiß ich leider nicht, aber ich habe die Bootloader Settings anhand Osprey's Files angepasst und zusätzlich das Image noch mal neu geschrieben. Der Pogo funzt wieder. Vielen Dank an alle für die Hilfe.
 
Zurück
Oben