problem booting orange pi one

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

problem booting orange pi one

Stephen Graf
Yesterday I was enjoying working with OpenBSD on my orange pi one.

Today when I turned it on it would not boot properly with an error setting
up the mmc:

 

sximmc0: timeout updating clock

sdmmc0: can't change bus clock

sdmmc0: mem init failed

 

which caused a panic halt because the system cannot access the root device.

 

Has anyone ever experienced this or have any suggestions on how to proceed?

 

After much experimenting I discovered this only happens after a power off
condition.

The only way to recover is to rebuild.

The mmc seems to be ok as I can mount and read it on the system I use to
reload the miniroot.

 

The initial boot of the miniroot is fine:

 

gpio7 at sxipio1: 32 pins

agtimer0 at mainbus0: tick rate 24000 KHz

scsibus0 at sdmmc0: 2 targets, initiator 0

sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SL16G, 0080> SCSI2 0/direct removable

sd0: 15193MB, 512 bytes/sector, 31116288 sectors

 

After the install reboot to the loaded os everything seems to be fine:

 

gpio7 at sxipio1: 32 pins

agtimer0 at mainbus0: tick rate 24000 KHz

scsibus0 at sdmmc0: 2 targets, initiator 0

sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SL16G, 0080> SCSI2 0/direct removable

sd0: 15193MB, 512 bytes/sector, 31116288 sectors

 

Doing a warm reboot at this point also works.

 

But when I do a shutdown and power off and on the boot fails:

 

gpio7 at sxipio1: 32 pins

sximmc0: timeout updating clock

sdmmc0: can't change bus clock

sdmmc0: mem init failed

scsibus0 at sdmmc0: 2 targets, initiator 0

sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SL16G, 0080> SCSI2 0/direct removable

sd0: 15193MB, 512 bytes/sector, 31116288 sectors

umass0 at uhub0 port 1 configuration 1 interface 0 "Lexar JD Secure II +"
rev 2.00/11.00 addr 2

umass0: using SCSI over Bulk-Only

scsibus1 at umass0: 2 targets, initiator 0

sd1 at scsibus1 targ 1 lun 0: <Lexar, JD Secure II +, 1100> SCSI0 0/direct
removable serial.05dca732012100015339

sd1: 1912MB, 512 bytes/sector, 3915776 sectors

vscsi0 at root

scsibus2 at vscsi0: 256 targets

softraid0 at root

scsibus3 at softraid0: 256 targets

sximmc0: timeout updating clock

boot device: sd0

panic: root device (fe6ff55cf64a1b36) not found

Stopped at      $d:     ldrb    r15, [r15, r15, ror r15]!

    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND

*     0      0      0     0x10000      0x200    0  swapper

panic+0x18

        scp=0xc032ec10 rlv=0xc03f0b98 (setroot+0x91c)

        rsp=0xc088aec0 rfp=0xc088af8c

setroot+0xc

        scp=0xc03f0288 rlv=0xc05073f0 (diskconf+0x3c)

        rsp=0xc088af90 rfp=0xc088afac

        r10=0xc074d5e8 r9=0xc074d448 r8=0xc074d250 r7=0xc074d5b8

        r6=0x00000400 r5=0xc06bd0f4 r4=0xc06d5194

diskconf+0xc

        scp=0xc05073c0 rlv=0xc058ca0c (main+0x45c)

        rsp=0xc088afb0 rfp=0xc088afec

        r5=0xc074d1b4 r4=0xc0749bc4

main+0xc

        scp=0xc058c5bc rlv=0xc0575434 (kernel_text+0x58)

        rsp=0xc088aff0 rfp=0xc088affc

        r10=0x59f49014 r9=0x40000000 r8=0xc073e0f8 r7=0x40000000

        r6=0x48000000 r5=0x00000000 r4=0x40300114

kernel_text+0x54

        scp=0xc0575430 rlv=0xc05aca1c (armv7_dcache_wbinv_all+0x84)

        rsp=0xc088b000 rfp=0x00000000

 <https://www.openbsd.org/ddb.html> https://www.openbsd.org/ddb.html
describes the minimum info required in bug

reports.  Insufficient info makes it difficult to find and fix bugs.

ddb>

 

The full console log is attached.

 


orange pi boot problem.txt (76K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: problem booting orange pi one

Mark Kettenis
> From: "Stephen Graf" <[hidden email]>
> Date: Thu, 17 Aug 2017 21:41:07 -0700
>
> Yesterday I was enjoying working with OpenBSD on my orange pi one.
>
> Today when I turned it on it would not boot properly with an error setting
> up the mmc:
>
> sximmc0: timeout updating clock
> sdmmc0: can't change bus clock
> sdmmc0: mem init failed

There seems to be a bug in the device tree included in U-Boot for
H3/H5/A64 devices where the configuration of the MMC controller pins
is specified incorrectly.  The easiest way to work around this is to
copy the appropriate device tree from the dtb package onto the msdos
filesystem on the SD card:

# mount /dev/sdXi /mnt
# cp /usr/local/share/dtb/arm/sun8i-h3-orangepi-one.dtb /mnt
# umount /mnt

For those with H5/A64 devices, the device tree needs to be placed in a
subdirectory named "allwinner".  Hopefully this issue will be fixed in
a future U-Boot release.

Cheers,

Mark