Quantcast
Channel: Linux Device Hacking
Viewing all articles
Browse latest Browse all 3247

PogoPlug v4 Soft Brick Recovery / Restoring MTDs (1 reply)

$
0
0
I PM'd bodhi for advice about restoring the MTDs on my PogoPlug v4. He requested that I make a new thread here, I'd imagine in the interest of helping anyone else that's gotten themselves in the same situation I have.

To recap --

I (naturally) messed up my PogoPlug by not reading carefully enough when flashing and by also not keeping a better record or any kind of backup of what I had / hadn't done to it over the course of messing with it. The short version is that I used one of the earliest versions of bodhi's guide to convert it to Debian years ago, briefly used it for something that now eludes my memory, lost it in the back of a closet for a while, recently rediscovered it and would like to use it as a network ad blocker via PiHole.

When I went to update everything to the latest versions of bodhi's uBoot and Debian image, I obviously did something wrong, though I'm not sure what. I suspect that I've managed to mess up the envvars, but again I'm not 100% sure.

Typically when I get myself into situations like this, I'll wipe everything back to the way it was when I started (back to known-good) and simply try again. In this instance, 1) I'm not sure that's the best solution, and 2) not sure how to go about doing it if it is. I did try to grab bodhi's MTDs archive from here, but it looks like the link is dead. Reading through the thread, it seemed like the better option to simply send bodhi a message rather than continue to possibly make things worse by messing with it on my own. I guess the pertinent details of my specific issue are:

[*] My PogoPlug v4 will no longer boot correctly, or identify itself to the network
[*] I do still have serial console access though, and can in fact interrupt the boot process and get to the "PogoPlug v4>" prompt
[*] When all is said and done, I'd ideally like to have your latest uBoot and Debian Buster image be the only things on the Plug and running smoothly

So if I've not already taken up too much of your time, and if it's not asking too much, what do I do?

Bodhi asked that I post the output of the `printvars` command, which I have done below:

U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:34:01 -0700)
Pogoplug V4

SoC:   Kirkwood 88F6192_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  128 MiB
MMC:   MVEBU_MMC: 0
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot: 10

Pogov4> 

Pogov4> printenv

arcNumber=3960
bootargs=console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root) init=/bin/systemd
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
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_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
device_type=mmc
devices=usb ide mmc
disk_number=3
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb
ethact=egiga0
ethaddr=00:25:31:03:2b:1b
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
ipaddr=192.168.0.231
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
machid=f78
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
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
scan_ide=ide reset
scan_mmc=mmc rescan
scan_usb=usb start
serverip=192.168.0.220
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root) init=/bin/systemd
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=echo Initializing 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 $disks; do if test $uenv_loaded -eq 0; then setenv device_type $devtype; setenv disk_number $disknum; run uenv_read; fi; done; done;
uenv_loaded=0
uenv_read=echo Loading envs from $device_type $disk_number...; if load $device_type  $disk_number:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; echo ... envs loaded; fi
usb_ready_retry=15

Environment size: 3275/131068 bytes

Pogov4>


Bodhi explained that the steps to fix whatever I've done should be easy enough, he described them as:

- Recreate the Buster image to make sure I have a good rootfs.
- Power up, interrupt serial console and load a default set of envs, adjust a few envs for Pogo V4 and my network.
- Boot


Three steps certainly does seem simple enough, hopefully Bodhi will be along shortly with a few more details.

Viewing all articles
Browse latest Browse all 3247

Trending Articles