Olimex Support Forum

OLinuXino Android / Linux boards and System On Modules => A13 => Topic started by: iso9660 on June 19, 2013, 10:39:04 AM

Title: A13 Olinuxino Micro hang on boot
Post by: iso9660 on June 19, 2013, 10:39:04 AM
Hello,

Recently we are having some issues booting A13 Olinuxino Micro in many boards. It hangs after configuring uart.
Have somebody had this issue? Do you have any idea about how to test the board to find the problem?
This is the boot dump:

U-Boot SPL 2012.10-04280-g648b086-dirty (Feb 13 2013 - 22:42:56)
DRAM: 256MB
SUNXI SD/MMC: 0


U-Boot 2012.10-04280-g648b086-dirty (Feb 13 2013 - 22:42:56) Allwinner
Technology

CPU:   SUNXI Family
Board: A13-OLinuXino-MICRO
I2C:   ready
DRAM:  256 MiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
reading uEnv.txt

** Unable to read "uEnv.txt" from mmc 0:1 ** Loading file "uEnv.txt" from
mmc device 0:1 Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 ** ext2load - load binary file from
a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
     - load binary file 'filename' from 'dev' on 'interface'
       to address 'addr' from ext2 filesystem Loading file "boot/uEnv.txt"
from mmc device 0:1 Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 ** ext2load - load binary file from
a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
     - load binary file 'filename' from 'dev' on 'interface'
       to address 'addr' from ext2 filesystem reading boot.scr

236 bytes read
Jumping to boot.scr
## Executing script at 44000000
Loading file "script.bin" from mmc device 0:1 Failed to mount ext2
filesystem...
** Bad ext2 partition or disk - mmc 0:1 ** ext2load - load binary file from
a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
     - load binary file 'filename' from 'dev' on 'interface'
       to address 'addr' from ext2 filesystem Loading file "uImage" from mmc
device 0:1 Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 ** ext2load - load binary file from
a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
     - load binary file 'filename' from 'dev' on 'interface'
       to address 'addr' from ext2 filesystem Wrong Image Format for bootm
command
ERROR: can't get kernel image!
reading script.bin

27580 bytes read
reading uImage

3852400 bytes read
## Booting kernel from Legacy Image at 48000000 ...
    Image Name:   Linux-3.4.29
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    3852336 Bytes = 3.7 MiB
    Load Address: 40008000
    Entry Point:  40008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
OK

Starting kernel ...

<6>Booting Linux on physical CPU 0
<6>Initializing cgroup subsys cpuset
<5>Linux version 3.4.29 (marine@ubuntu) (gcc version 4.6.3 (Ubuntu/Linaro
4.6.3-1ubuntu5) ) #1 PREEMPT Tue Apr 30 09:00:08 CEST 2013
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: sun5i
<6>Memory Reserved:
<6>     SYS  : 0x43000000 - 0x4300ffff  (  64 kB)
<6>     VE   : 0x44000000 - 0x48ffffff  (  80 MB)
Memory policy: ECC disabled, Data cache writeback
<6>chip-id: Unknown (AW1625)
<7>On node 0 totalpages: 65536
<7>free_area_init_node: node 0, pgdat c074ce20, node_mem_map c0801000 <7>
Normal zone: 512 pages used for memmap <7>  Normal zone: 0 pages reserved
<7>  Normal zone: 65024 pages, LIFO batch:15
<7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768<c>
<7>pcpu-alloc: <c>
Title: Re: A13 Olinuxino Micro hang on boot
Post by: iso9660 on June 19, 2013, 12:04:07 PM
The board hangs. This problem happens sometimes the board boots, most of the times it boots it works fine.

I've been working with this boards for 5 months and since the beginning I've been experiencing problems
like after installing a new kernel and booting ">sudo reboot" the new kernel is not loaded as if memory
had not been cleaned at the beginning of the boot proccess (powering down and up the board makes it work),
so I think that there is something wrong with the boot process, like the places in memory related with u-boot
were only clean at the first boot.

I would like to know if there is a way to be sure the memory is clean (or at least the config.bin, uImage, etc,
addresses in memory) changing u-boot.
Title: Re: A13 Olinuxino Micro hang on boot
Post by: olimex on June 19, 2013, 12:27:53 PM
I'm not linux expert but looking at the logs there are lot of errors while reading from the card, may it be a broken SD card?
Title: Re: A13 Olinuxino Micro hang on boot
Post by: iso9660 on June 19, 2013, 02:01:02 PM
Olimex, we found a hardware workaround but also found that some other people have had the same issue with other Allwinner devices and they created a patch that is integrated in u-boot github repo.
https://github.com/linux-sunxi/u-boot-sunxi/commit/7ecf673239ff54c885344cc4b4b7b309f331a57d

At the current time this patch is integrated in u-boot for Allwinner devices github repo.
https://github.com/linux-sunxi/u-boot-sunxi

The problem was difficult to detect because we use FTDI interfaces to check the boot process and they are
very afected by noise, and FTDI interface sometimes stops receiving in noise conditions.

We isolated two boards in which we were able to reproduce the problem faster, and we think that the boards sometimes generate noise or receive noise that UART1-RX detects as an uart transmission and stops the booting proccess in u-boot prompt.

Soldering 3.3V to UART1-RX worked for us. For some days we will use this hardware workaround until we have enought time to check the software solution.