[SOLVED] My A20-OLinuXino-MICRO won't go past U-Boot anymore

Started by Cheshire Cat, July 30, 2014, 04:45:04 AM

Previous topic - Next topic

Cheshire Cat

I didn't use the board during more than a month, it was working fine before that. I had ArchLinux ARM (from following the guide at http://alarma20.wordpress.com/2013/09/13/howto-build-arch-linux-arm-for-a20-olinuxino-micro/) installed and used SSH to control it.
A few days ago, I tried to use it and noticed the router didn't receive any dhcp request from the board. Because I didn't have an USB serial cable, I thought the fastest way to solve the issue would be to recreate an ArchLinux install.
So I remade a fresh install, but there was still no dhcp request from board.
Unable to see what was happening, I bought a USB serial cable.
Here's what I get when powering on the board:
U-Boot SPL 2014.04-rc2-10390-g96510e1 (Apr 03 2014 - 22:31:
36)
Board: A20-OLinuXino_MICRO
DRAM: 1024 MiB
CPU: 960000000Hz, AXI/AHB/APB: 3/2/2
spl: not an uImage at 1600


U-Boot 2014.04-rc2-10390-g96510e1 (Apr 03 2014 - 22:31:36) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: A20-OLinuXino_MICRO
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   emac
Hit any key to stop autoboot:  3
\0x08\0x08\0x08 2
\0x08\0x08\0x08 1
\0x08\0x08\0x08 0
** Unrecognized filesystem type **
Failed to mount e
xt2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
sun7i#


I tried making an install with an EXT4 partition, then an EXT2. Same thing.
Looking at the linux-sunxi's wiki page about U-Boot (http://linux-sunxi.org/U-Boot), I tried a few commands:

sun7i# setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}

sun7i# ext2load mmc 0 0x43000000 script.bin
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

sun7i# ext2load mmc 0 0x48000000 uImage
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

sun7i# bootm 0x48000000
Wrong Image Format for bootm command
ERROR: can't get kernel image!

sun7i#


Then I tried with the pre-made image from https://www.olimex.com/forum/index.php?topic=1856.0, and got pretty much the same things (the board's output shown in this post is from me trying with the pre-made image. If I use my own, I get exactly the same thing but with a more recent U-Boot version).
I'm at a loss. I'd say it's a hardware problem, but U-Boot seems to be loading. And it can't really be an U-Boot problem because even the pre-made image doesn't work.
What can I do to fix this?

I'm using a 16Go microSD Card, the board is powered by a 12V 500mA DC adaptor.

JohnS

Maybe you need fatload where you tried ext2load with mmc 0?

That sounds a low power PSU.  I'm doubtful it's enough.

How did you write to the SD?  Fairly often people don't manage to write directly to its first blocks.

John

Cheshire Cat

#2
I believe the PSU to be enough: the one Olimex sells (https://www.olimex.com/Products/Power/SY0612E/) has the same power. I don't have any other way to power the board nor anything else to test the PSU, so I don't if my PSU has degraded (it gets a bit hot, I guess it might be harmful?). I'll admit I never suspected the PSU to be able to cause such problem, because I expected failure caused by a underpowered board to be something brutal, like a reboot, not to gracefully fail to load the Kernel with an error.

It is implied because it is needed when following the guide to create my own install, but my laptop can mount the microSD card just fine, so I don't think the partition table is corrupt.
For the board's output given in my first post, the command was:
dd if=alarm-a20.img of=/dev/sdd
Would U-Boot still load if I failed to start writing at the first blocks?


sun7i# fatload mmc 0
** Unrecognized filesystem type **

JohnS

You'd get an old uboot if you wrote at the wrong place, but that command looks OK.

You can't rule out your PSU.

What about fatload?

Cheshire Cat

#4
fatload gives the same error.
I won't be able to test powering the card with something else before a long while.
Until then, I'm looking for other possible causes.

Using the USB serial cable, I sent the uImage file to the board (with the xmodem protocol) and tried booting it following the U-Boot page instructions (i.e by loading script.bin to 0x43000000 and uImage to 0x48000000)
It goes pretty far, but ends with:
[    2.817445] sunxi-rtc sunxi-rtc: setting system clock to 2010-01-01 00:00:00 UTC (1262304000)
<6>ALSA device list:

[    2.827981] ALSA device list:
<6>  No soundcards found.

[    2.833295]   No soundcards found.
<6>Waiting for root device /dev/mmcblk0p1...

[    2.841239] Waiting for root device /dev/mmcblk0p1...

<6>[mmc-msg] mmc 0 detect change, present 1

[    3.261667]
[mmc-msg] mmc 0 detect change, present 1

<6>[mmc-msg] sdc0 set ios: clk 0Hz bm PP pm UP vdd 3.3V width
1 timing LEGACY(SDR12) dt B

[    3.770695] [mmc-msg] sdc0 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<6>[mmc-msg] sdc0 power on

[    3.782099] [mmc-msg] sdc0 power on
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    3.811111] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<6>[mmc-msg] sdc0 set round clock 400000, src 24000000

[    3.825400] [mmc-msg] sdc0 set round clock 400000, src 24000000
<3>[mmc-err] smc 0 err, cmd 52,  RTO

[    3.908406] [mmc-err] smc 0 err, cmd 52,  RTO
<3>[mmc-err] smc 0 err, cmd 52,  RTO

[    3.916894] [mmc-err] smc 0 err, cmd 52,  RTO
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    3.929593] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    3.949697] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<3>[mmc-err] smc 0 err, cmd 5,  RTO

[    3.964477] [mmc-err] smc 0 err, cmd 5,  RTO
<3>[mmc-err] smc 0 err, cmd 5,  RTO

[    3.972786] [mmc-err] smc 0 err, cmd 5,  RTO
<3>[mmc-err] smc 0 err, cmd 5,  RTO

[    3.981091] [mmc-err] smc 0 err, cmd 5,  RTO
<3>[mmc-err] smc 0 err, cmd 5,  RTO

[    3.989399] [mmc-err] smc 0 err, cmd 5,  RTO
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    4.002649] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    4.020385] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    4.040487] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<6>[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B

[    4.123261] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
<6>[mmc-msg] sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B

[    4.140992] [mmc-msg] sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
<6>[mmc-msg] sdc0 set round clock 42857143, src 600000000

[    4.155617] [mmc-msg] sdc0 set round clock 42857143, src 600000000
<6>[mmc-msg] sdc0 set ios: clk 50000000Hz bm PP pm
ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B

[    4.225293] [mmc-msg] sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
<6>mmc0: new high speed SDHC card at address aaaa

[    4.239223] mmc0: new high speed SDHC card at address aaaa
<6>mmcblk0: mmc0:aaaa SU16G 14.8 GiB

[    4.248695] mmcblk0: mmc0:aaaa SU16G 14.8 GiB
<6> mmcblk0: p1

[    4.256179]  mmcblk0: p1
<6>platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral

[    4.265882] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
<6>platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral

[    4.280112] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
<6>platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral

[    4.294279] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
<6>platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probe deferral

[    4.308578] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probe deferral
<6>platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probe deferral

[    4.323064] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probe deferral
<6>platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral

[    4.337705] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral

<4>UDF-fs: warning (device mmcblk0p1): udf_fill_super: No pa
rtition found (1)

[    4.815831] UDF-fs: warning (device mmcblk0p1): udf_fill_super: No partition found (1)
List of all partitions:

b300        15558144 mmcblk0  driver: mmcblk

  b301        15557120 mmcblk0p1 00000000-0000-0000-0000-000000000000

No filesystem could mount root, tried:  ext3 ext2 ext4 vfat msdos iso9660 hfsplus ntfs fuseblk udf

<0>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)

[    4.852643] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
[<c0015304>] (unwind_backtrace+0x0/0x12c) from [<c0563870>] (panic+0xa0/0x1d4)

[    4.868051] [<c0015304>] (unwind_backtrace+0x0/0x12c) from [<c0563870>] (panic+0xa0/0x1d4)
[<c0563870>] (panic+0xa0/0x1d4) from [<c07c4e38>] (mount_block_root+0x210/0x224)

[    4.883435] [<c0563870>] (panic+0xa0/0x1d4) from [<c07c4e38>] (mount_block_root+0x210/0x224)
[<c07c4e38>] (mount_block_root+0x210/0x224) from [<c07c503c>] (mount_root+0x108/0x110)

[    4.899507] [<c07c4e38>] (mount_block_root+0x210/0x224) from [<c07c503c>] (mount_root+0x108/0x110)
[<c07c503c>] (mount_root+0x108/0x110) from [<c07c51d4>] (prepare_namespace+0x190/0x1d4)

[    4.916183] [<c07c503c>] (mount_root+0x108/0x110) from [<c07c51d4>] (prepare_namespace+0x190/0x1d4)
[<c07c51d4>] (prepare_namespace+0x190/0x1d4) from [<c07c4a90>] (kernel_init+0x238/0x240)

[    4.933034] [<c07c51d4>] (prepare_namespace+0x190/0x1d4) from [<c07c4a90>] (kernel_init+0x238/0x240)
[<c07c4a90>] (kernel_init+0x238/0x240) from [<c000f6fc>] (kernel_thread_exit+0x0/0x8)

[    4.949714] [<c07c4a90>] (kernel_init+0x238/0x240) from [<c000f6fc>] (kernel_thread_exit+0x0/0x8)
<2>CPU1: stopping

[    4.960245] CPU1: stopping
[<c0015304>] (unwind_backtrace+0x0/0x12c) from [<c0013e38>] (handle_IPI+0x1b8/0x1cc)

[    4.970425] [<c0015304>] (unwind_backtrace+0x0/0x12c) from [<c0013e38>] (handle_IPI+0x1b8/0x1cc)
[<c0013e38>] (handle_IPI+0x1b8/0x1cc) from [<c0008520>] (gic_handle_irq+0x54/0x58)

[    4.986498] [<c0013e38>] (handle_IPI+0x1b8/0x1cc) from [<c0008520>] (gic_handle_irq+0x54/0x58)
[<c0008520>] (gic_handle_irq+0x54/0x58) from [<c000e7c0>] (__irq_svc+0x40/0x70)

[    5.002136] [<c0008520>] (gic_handle_irq+0x54/0x58) from [<c000e7c0>] (__irq_svc+0x40/0x70)
Exception stack(0xef065f88 to 0xef065fd0)

[    5.014213] Exception stack(0xef065f88 to 0xef065fd0)
5f80:                   ffffffed 00000001 00000000 00000000 ef064000 c085d388

[    5.026118] 5f80:                   ffffffed 00000001 00000000 00000000 ef064000 c085d388
5fa0: c056e9b0 ef064000 ef064000 c080cb10 00000000 00000000 ffff8cb0 ef065fd0

[    5.041146] 5fa0: c056e9b0 ef064000 ef064000 c080cb10 00000000 00000000 ffff8cb0 ef065fd0
5fc0: c000f7bc c000f7c0 60000013 ffffffff

[    5.053051] 5fc0: c000f7bc c000f7c0 60000013 ffffffff
[<c000e7c0>] (__irq_svc+0x40/0x70) from [<c000f7c0>] (default_idle+0x2c/0x30)

[    5.064960] [<c000e7c0>] (__irq_svc+0x40/0x70) from [<c000f7c0>] (default_idle+0x2c/0x30)
[<c000f7c0>] (default_idle+0x2c/0x30) from [<c000fab0>] (cpu_idle+0xe0/0x114)

[    5.079991] [<c000f7c0>] (default_idle+0x2c/0x30) from [<c000fab0>] (cpu_idle+0xe0/0x114)
[<c000fab0>] (cpu_idle+0xe0/0x114) from [<4055fad4>] (0x4055fad4)

[    5.093981] [<c000fab0>] (cpu_idle+0xe0/0x114) from [<4055fad4>] (0x4055fad4)
<6>[hotplug]: cpu(0) try to kill cpu(1)

[    5.104673] [hotplug]: cpu(0) try to kill cpu(1)

<3>[hotplug]: try to kill cpu:1 failed!

[    6.163015] [hot
plug]: try to kill cpu:1 failed!
<0>Rebooting in 10 seconds..[    6.170068] Rebooting in 10 seconds..


Edit:
Finally managed to use my other microSD card (that wouldn't work with 2 of my devices) and the board works perfectly so I guess my previous microSD card had issues.