Welcome! Log In Create A New Profile

Advanced

U-Boot w/ MMC/SD-card booting for Pogoplug Series 4

Posted by jvegap 
U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 25, 2021 03:33PM
Hello all.

I have succesfully installed U-boot on a Pogoplug Series v4 device and I am getting a strange behaviour.

I have installed the rootfs in a SD card but if I boot the Pogo unit with the SD card inserted, then the boot fails (no USB or other boot device is connected at the time I boot the device).

If I boot the Pogo without the SD card inserted, wait a few seconds, and when the led turns on blinking green I insert back the SD card then it boots flawlessly. Actually, I can perform reboots and the device keeps working correctly.

The problem I have is when a power outage pops up in the neighbourhood. The Pogo unit cannot get up again if I don't manually remove the SD card, which can be annoying when I am out.

I have tried playing with the uEnv.txt file but without success. Any clue will be appreciated.

Thanks!

uEnv.txt

dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb
devices=mmc
disks=0 1 2 3 4 5 6 7

cat /etc/fw_env.config

# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors
/dev/mtd0 0xc0000 0x20000 0x20000

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"

fw_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)
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 0x800000 0x1100000 0x1c00000; else bootm 0x800000 0x1100000; fi; else if run load_dtb; then bootm 0x800000 - 0x1c00000; else bootm 0x800000; fi; fi
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_uenv=run uenv_load
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=5
bootdev=mmc
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb
ethact=egiga0
ethaddr=XX:XX:XX:XX:XX:XX
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
ipaddr=192.168.1.20
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
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc 0:1 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc 0:1 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mmc_rootfstype=ext3
mtddevname=uImage2
mtddevnum=2
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
rootfs=/dev/mmcblk0p1
rootfstype=ext3
sata_init=ide reset
sata_load_uimage=ext2load ide 0:1 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide 0:1 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
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.1.10
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
set_bootargs_mmc=setenv bootargs console= root=/dev/mmcblk0p1 rootdelay= rootfstype=ext3 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
set_bootargs_sata=setenv bootargs console= root=/dev/sda1 rootdelay= rootfstype=ext3 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
set_bootargs_usb=setenv bootargs console= root= rootdelay= rootfstype=ext3 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
start_netconsole=setenv ncip 192.168.1.11; 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_loaded=0
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /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_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb 0:1 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb 0:1 0x1100000 /boot/uInitrd
usb_ready_retry=15
usb_root=/dev/sda1
usb_rootfstype=ext3



Edited 3 time(s). Last edit at 08/28/2021 06:53AM by jvegap.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 25, 2021 05:27PM
jvegap,

Your envs are a mess :) They are a mix of old envs, I guess from previous installation, and the new envs for the latest u-boot (2017.07-tld-1).

And the reason booting with uEnv.txt did not work is because the bootcmd_uenv was set incorrectly:
bootcmd_uenv=run uenv_load

So login to Debian and correct that (I added a "sleep 3" to the original command to slow it down a bit)

fw_setenv bootcmd_uenv 'run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi; sleep 3'

====

And the reason for the odd behavior is probably becasue the SD slot or you SD card is slow powering up.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 08/27/2021 01:35AM by bodhi.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 27, 2021 04:42AM
Thanks a lot for the advice. I was wondering if the problem is on the SD power then the uEnv.txt would not be read and so the problem would persist.

May a change from
bootdelay=5
to
bootdelay=10
fix the issue of a SD slow power up?

I want to be 100% sure of the changes so I don't break the firmware environment.



Edited 4 time(s). Last edit at 08/27/2021 04:44AM by jvegap.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 27, 2021 10:13AM
jvegap,

Sounds like you don't have serial console connected? It would be much easier to troubleshoot if you did. Or if you have set up netconsole like I recommended in the installation instruction.

Quote

> May a change from
bootdelay=5
to
>
bootdelay=10
fix the issue of a SD
> slow power up?



Most likely it wont help. But it does not hurt to set it to a longer bootdelay of 10 or 20 sconds.

Which model do you have, the V4 or Mobile? Pogo Mobile does not have the SATA slot on top. The V4 has SATA slot exposed when you open to top lid. The reason I ask is the V4 comes with a high amp power supply. The Mobile I think it comes with a 1.5A power supply.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 27, 2021 12:19PM
I have the Pogoplug v4 which is the one supposed to be a good power source.

It is kind strange as the boot sequence is almost the same. I cannot explain why it fails the first time it is booted.

Pogoplug v4 netconsole Power on log with SD card inserted

U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:41:47 -0700)
Pogoplug V4
gcc (Debian 4.9.2-10) 4.9.2
GNU ld (GNU Binutils for Debian) 2.25
Hit any key to stop autoboot:  0
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Reset IDE: ide_preinit failed

no USB devices available

no IDE devices available
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed
device ide 0:1
** Bad device size - ide 0 **
device ide 1:1
** Bad device size - ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc
device mmc 0:1
Card did not respond to voltage select!
** Bad device mmc 0 **
device mmc 1:1
MMC Device 1 not found
MMC Device 1 not found
** Bad device mmc 1 **
device mmc 2:1
MMC Device 2 not found
MMC Device 2 not found
** Bad device mmc 2 **
device mmc 3:1
MMC Device 3 not found
MMC Device 3 not found
** Bad device mmc 3 **
loading uImage ...
** Bad device mmc 0 **
loading uInitrd ...
** Bad device mmc 0 **
loading DTB /boot/dts/kirkwood-pogoplug_v4.dtb ...
** Bad device mmc 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Pogov4>

Pogoplug v4 netconsole Power on log with SD card insertion deferred 5 seconds

U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:41:47 -0700)
Pogoplug V4
gcc (Debian 4.9.2-10) 4.9.2
Hit any key to stop autoboot:  0
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Reset IDE: ide_preinit failed

MMC rescan: current device # 0 initialized OK

no USB devices available

no IDE devices available

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

Part    Start Sector    Num Sectors     UUID            Type
  1     63              31101777        00000000-01     83
loading envs from mmc 0 ...
66 bytes read in 1749 ms (0 Bytes/s)
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed
device ide 0:1
** Bad device size - ide 0 **
device ide 1:1
** Bad device size - ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc

MMC rescan: current device # 0 initialized OK
device mmc 0:1
1 bytes read in 1554 ms (0 Bytes/s)
Found bootable drive on mmc 0
loading uImage ...
5435888 bytes read in 2387 ms (2.2 MiB/s)
loading uInitrd ...
10112920 bytes read in 3636 ms (2.7 MiB/s)
loading DTB /boot/dts/kirkwood-pogoplug_v4.dtb ...
9970 bytes read in 2824 ms (2.9 KiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-5.13.6-kirkwood-tld-1
   Created:      2021-08-25  15:02:04 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5435824 Bytes = 5.2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-5.13.6-kirkwood-tld-1
   Created:      2021-08-27  13:29:21 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    10112856 Bytes = 9.6 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01c00000
   Booting using the fdt blob at 0x1c00000


Starting kernel ...
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 27, 2021 06:03PM
jvegap,

> It is kind strange as the boot sequence is almost
> the same. I cannot explain why it fails the first
> time it is booted.

Indeed. It is subtle. Your envs are still not correct.

The best way to trouble shoot this: Power on, interrupt netconsole at count down, and

printenv
boot
and please post the log here.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 27, 2021 11:08PM
From your description of inserting the SD card after the unit is powered on causing the card to be recognized it sounds like you may have an issue with the SD card detection mechanism. Perhaps some obstruction which causes an intermittent short.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 28, 2021 05:46AM
It looks like the variables are still a mess... I will upgrade U-Boot 2016.05 to latest and fix my environment variables in order to discard them as a source os problems.

U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:41:47 -0700)
Pogoplug V4
gcc (Debian 4.9.2-10) 4.9.2
Hit any key to stop autoboot:  0
Pogov4> printenv

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)
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 0x800000 0x1100000 0x1c00000; else bootm 0x800000 0x1100000; fi; else if run load_dtb; then bootm 0x800000 - 0x1c00000; else bootm 0x800000; fi; fi
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_uenv=run uenv_load
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
bootdev=mmc
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb
ethact=egiga0
ethaddr=XX:XX:XX:XX:XX:XX
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
ipaddr=192.168.1.12
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
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc 0:1 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc 0:1 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mmc_rootfstype=ext3
mtddevname=uImage2
mtddevnum=2
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
ncip=192.168.1.15
partition=nand0,2
preboot=run if_netconsole start_netconsole
rootfs=/dev/mmcblk0p1
rootfstype=ext3
sata_init=ide reset
sata_load_uimage=ext2load ide 0:1 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide 0:1 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
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.1.15
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
set_bootargs_mmc=setenv bootargs console= root=/dev/mmcblk0p1 rootdelay= rootfstype=ext3 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
set_bootargs_sata=setenv bootargs console= root=/dev/sda1 rootdelay= rootfstype=ext3 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
set_bootargs_usb=setenv bootargs console= root= rootdelay= rootfstype=ext3 mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
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_loaded=0
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /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_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb 0:1 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb 0:1 0x1100000 /boot/uInitrd
usb_ready_retry=15
usb_root=/dev/sda1
usb_rootfstype=ext3

Environment size: 4608/131068 bytes

Pogov4> boot

boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Reset IDE: ide_preinit failed

no USB devices available

no IDE devices available
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed
device ide 0:1
** Bad device size - ide 0 **
device ide 1:1
** Bad device size - ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc
device mmc 0:1
Card did not respond to voltage select!
** Bad device mmc 0 **
device mmc 1:1
MMC Device 1 not found
MMC Device 1 not found
** Bad device mmc 1 **
device mmc 2:1
MMC Device 2 not found
MMC Device 2 not found
** Bad device mmc 2 **
device mmc 3:1
MMC Device 3 not found
MMC Device 3 not found
** Bad device mmc 3 **
loading uImage ...
Card did not respond to voltage select!
** Bad device mmc 0 **
loading uInitrd ...
** Bad device mmc 0 **
loading DTB /boot/dts/kirkwood-pogoplug_v4.dtb ...
Card did not respond to voltage select!
** Bad device mmc 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Pogov4>



Edited 3 time(s). Last edit at 08/28/2021 08:15AM by jvegap.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 28, 2021 08:10AM
After the U-Boot 2018.07 update and envs cleaning the behaviour is still the same. The extra piece of debug is that if I did the first power up with the SD card inserted, if I keep commading 'boot' in the netconsole prompt, the scan keeps posting 'mmc_init: -95, time 11'. I mandatorily need to plug the SD after the power up. Besides, I have change the SD card to check if it was an issue of the SD card itself and I got the same behaviour.

 (first power up with SD card inserted)
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:34:01 -0700)
Pogoplug V4
gcc (Debian 6.3.0-18) 6.3.0 20170516
GNU ld (GNU Binutils for Debian) 2.28
Hit any key to stop autoboot:  0
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Reset IDE: ide_preinit failed
Card did not respond to voltage select!
mmc_init: -95, time 168
## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0
loading envs from usb 0 ...
** Bad device usb 0 **

no IDE devices available
Card did not respond to voltage select!
mmc_init: -95, time 202
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed
device ide 0:1
** Bad device ide 0 **
device ide 1:1
** Bad device ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc
Card did not respond to voltage select!
mmc_init: -95, time 11
device mmc 0:1
Card did not respond to voltage select!
mmc_init: -95, time 11
Card did not respond to voltage select!
mmc_init: -95, time 10
** Bad device mmc 0 **
device mmc 1:1
MMC Device 1 not found
MMC Device 1 not found
** Bad device mmc 1 **
device mmc 2:1
MMC Device 2 not found
MMC Device 2 not found
** Bad device mmc 2 **
device mmc 3:1
MMC Device 3 not found
MMC Device 3 not found
** Bad device mmc 3 **
loading uImage ...
Card did not respond to voltage select!
mmc_init: -95, time 11
Card did not respond to voltage select!
mmc_init: -95, time 11
** Bad device mmc 0 **
loading uInitrd ...
Card did not respond to voltage select!
mmc_init: -95, time 11
Card did not respond to voltage select!
mmc_init: -95, time 11
** Bad device mmc 0 **
loading DTB /boot/dts/kirkwood-pogoplug_v4.dtb ...
Card did not respond to voltage select!
mmc_init: -95, time 11
Card did not respond to voltage select!
mmc_init: -95, time 11
** Bad device mmc 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Pogov4>

Pogov4> boot (Same netconsole prompt of the failed first power up. I just unplugged and plugged back againd the SD card)
boot

Reset IDE: ide_preinit failed

MMC rescan: current device # 0 initialized OK
## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0
loading envs from usb 0 ...
** Bad device usb 0 **

no IDE devices available

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

Part    Start Sector    Num Sectors     UUID            Type
  1     63              31101777        00000000-01     83
loading envs from mmc 0 ...
** File not found /boot/uEnv.txt **
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed
device ide 0:1
** Bad device ide 0 **
device ide 1:1
** Bad device ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc

MMC rescan: current device # 0 initialized OK
device mmc 0:1
1 bytes read in 16 ms (0 Bytes/s)
Found bootable drive on mmc 0
loading uImage ...
5435888 bytes read in 139 ms (37.3 MiB/s)
loading uInitrd ...
10112920 bytes read in 254 ms (38 MiB/s)
loading DTB /boot/dts/kirkwood-pogoplug_v4.dtb ...
9970 bytes read in 30 ms (324.2 KiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-5.13.6-kirkwood-tld-1
   Created:      2021-08-25  15:02:04 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5435824 Bytes = 5.2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-5.13.6-kirkwood-tld-1
   Created:      2021-08-27  13:29:21 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    10112856 Bytes = 9.6 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01c00000
   Booting using the fdt blob at 0x1c00000


Starting kernel ...

Pogov4> printenv
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)
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; sleep 3
bootdelay=10
bootdev=mmc
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb
ethact=egiga0
ethaddr=XX:XX:XX:XX:XX:XX
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
ipaddr=192.168.1.12
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)
nc_ready=1
ncip=192.168.1.15
partition=nand0,2
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 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.1.15
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=nc
stdin=nc
stdout=nc
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_loaded=0
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /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_ready_retry=15

Environment size: 3359/131068 bytes



Edited 1 time(s). Last edit at 08/28/2021 08:16AM by jvegap.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 28, 2021 04:37PM
jvegap,

It seems u-boot does not like this card. Is it a microSD inside an adapter?

Try this.

Power up, interrupt netconsole at count down and

mmc rescan
If you see errors, try mmc rescan again a few times.

And if you have another SD card (preferably Sandisk brand), try using that.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
August 29, 2021 04:41AM
Thanks a lot. I will try that. Indeed, it is an Sandisk 16Gb full SD card Class I 80 Mb speed.
Your instructions and software are great. At this point I'm pretty sure it is a hardware issue either on the SD or on the Pogoplug device itself.
Thanks a lot for the support and your great kernel compilations.
Re: U-Boot w/ MMC/SD-card booting for Pogoplug Series 4
September 01, 2021 01:10PM
Dera bodhi and rayknight.

It was the SD card itself.

Although it was a regular Sandisk SD 16 Gb card, I have replaced it by a regular Trascend SD 16 Gb and now it boots up like a charm.

Thanks a lot for the support given!!
Author:

Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: