sdcard detected by UBoot not by kernel

Post Reply
User avatar
aplu
Posts: 6
Joined: Wed Jan 21, 2015 2:56 am
languages_spoken: french, english
ODROIDs: C1
Contact:

sdcard detected by UBoot not by kernel

Unread post by aplu » Wed Jan 21, 2015 4:29 am

Hi,

I have two SD-Card :
  • Lexar SDHC Class 10 UHS 1, 16GB which works partially with Ubuntu v1.0, v1.1 and v1.2 (boot most of the time and reports I/O errors on the block devices)
  • Samsung SDHC Class 6, 16GB which doesn't work at all with v1.0, v1.1 and v1.2
I know according to the wiki the SDCard Class 6 is not currently supported, but in case it may help for debugging, I'm giving you bootlog recorded from the UART.
Each time, uBoot correctly detect the sdcard and success to boot, but Linux Kernel get a lot of I/O error about sdcard and finally drop to busybox (but notice that the sdcard is detect, it's accessing to it which fail). Snipped part:

Code: Select all

[    3.977701@0] mmcblk0: sd:59b4 00000 14.9 GiB 
[    3.982568@0] [aml_sdhc_print_err] sd: data CRC error, port=4, Cmd18 Arg 00000000, xfer_step=3, status=4, cmd25=0, fifo_empty=0, fifo_full=0, timeout=0, Xfer 4096 Bytes, SEND=0x700d2, iSTA=0x4549, STAT=0x20
Pinmux: REG2=0x000000f0, REG3=0x00000000, REG4=0x00000300, REG5=0x00000000, REG6=0xfc003f4f, REG8=0x00000000
[    4.010734@0] ***********SDHC_REGS***********
[    4.015040@0] SDHC_ARGU: 0x00000900
[    4.018487@0] SDHC_SEND: 0x000700d2
[    4.021950@0] SDHC_CTRL: 0xe7ffe001
[    4.025023@1] [aml_sdhc_probe] aml_sdhc_probe() success!
[    4.030737@0] SDHC_STAT: 0x0000003e
[    4.034161@0] SDHC_CLKC: 0x0002f010
[    4.037640@0] SDHC_ADDR: 0x1fc80200
[    4.041087@0] SDHC_PDMA: 0x2c43bcf0
[    4.044550@0] SDHC_MISC: 0xe0000150
[    4.048029@0] SDHC_DATA: 0xea9f0060
[    4.051488@0] SDHC_ICTL: 0x000030e6
[    4.054940@0] SDHC_ISTA: 0x00000549
[    4.058417@0] SDHC_SRST: 0x00000000
[    4.061868@0] SDHC_ESTA: 0x00000000
[    4.065346@0] SDHC_ENHC: 0x00fe0cff
[    4.068795@0] SDHC_CLK2: 0x0000100f
[    4.072417@0] mmcblk0: response CRC error sending r/w cmd command, card status 0xb00
[    4.073059@1] host->base fe108c20
[    4.073104@1] pdata->caps 80000507
[    4.073108@1] pdata->caps2 0
[    4.073112@1] get property:                     port, value:0x00000002
[    4.073115@1] get property:                ocr_avail, value:0x00200000
[    4.073119@1] get property:                    f_min, value:0x000493e0
[    4.073122@1] get property:                    f_max, value:0x02faf080
[    4.073125@1] get property:                  f_max_w, value:0x02faf080
[    4.073129@1] get property:             max_req_size, value:0x00020000
[    4.073136@1] get property:                  pinname, str:emmc
[    4.073140@1] get property:                card_type, value:0x00000001
[    4.073148@1] get property:                gpio_dat3, str:BOOT_3
[    4.073153@1] [is_emmc_exist] host->storage_flag=0, POR_BOOT_VALUE=1

Booting with the Lexar SDHC works, but I get some errors about the sdcard, as you may see on the bootlog: https://aplu.fr/zb/?4a2fbebd2d99934a#Qg ... /nFfkCohU=
Snipped part:

Code: Select all

[ 4.812414@0] mmc_blk_reset 938 reset error md->reset_done:1 and type:1
[ 4.812420@0] end_request: I/O error, dev mmcblk0, sector 31275000
[ 4.812427@0] Buffer I/O error on device mmcblk0, logical block 3909375
Both SD card have been purchased recently and have been tested with badblocks on an other computer (and works perfectly with the raspberry).

EDIT: If you want me to do some test, I can.

Regards,

User avatar
tobetter
Posts: 2581
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by tobetter » Thu Jan 22, 2015 12:42 am

Thank you for nice boot logs with various combinations.
Would you mind try to boot when disableuhs flag is enabled?
And are these captured on power cycle, not on reboot?

User avatar
aplu
Posts: 6
Joined: Wed Jan 21, 2015 2:56 am
languages_spoken: french, english
ODROIDs: C1
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by aplu » Sun Jan 25, 2015 6:18 am

Hi,
As you may see in the bootlog , “disableuhs” is already set on command line. Anyway, I tried without disableuhs but it does the same.
Log, SDCard class 6, v1.2, disableuhs commented
Regards,

User avatar
aplu
Posts: 6
Joined: Wed Jan 21, 2015 2:56 am
languages_spoken: french, english
ODROIDs: C1
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by aplu » Sun Jan 25, 2015 7:36 pm

I tried my UHS1 card with the option "disableuhs" commented, it does the same as my SD Card Class 6.

Here is the log: https://aplu.fr/zb/?a11f563cc48287d4#Jz ... U8gwjsH+Y=

Yesterday I successfully booted with the Samsung SDCard 6 after upgrading the kernel to "Linux odroid 3.10.64-39", but I got plenty of I/O error messages (no log, I forgot to capture them).

BertoldVdb
Posts: 1
Joined: Wed Mar 18, 2015 8:49 am
languages_spoken: english
ODROIDs: four C1 and one XU3-Lite
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by BertoldVdb » Wed Mar 18, 2015 9:05 am

Hello,

I have several Odroid-C1's for a distributed measurement setup. I use Transcend 2GB SD cards (no class specification given, cheap...). The Odroid-C1 cannot boot with them, the errors are as follows:

Code: Select all

[    2.598261@1] mmcblk0: response CRC error sending r/w cmd command, card status 0xb00
[    2.598632@1] [aml_sdhc_print_err] sd: data CRC error, port=4, Cmd18 Arg 00000000, xfer_step=3, status=4, cmd25=0, fifo_empty=0, fifo_full=0, timeout=0, Xfer 4096 Bytes, SEND=0x700d2, iSTA=0x549, STAT=0x34
[    2.598632@1] Pinmux: REG2=0x000000f0, REG3=0x00000000, REG4=0x00000300, REG5=0x00000000, REG6=0xfc003e4f, REG8=0x00000000
[    2.598645@1] ***********SDHC_REGS***********
[    2.598647@1] SDHC_ARGU: 0x00000900
[    2.598649@1] SDHC_SEND: 0x000700d2
[    2.598651@1] SDHC_CTRL: 0xe7ffe001
[    2.598653@1] SDHC_STAT: 0x00000024
[    2.598654@1] SDHC_CLKC: 0x0002f010
[    2.598656@1] SDHC_ADDR: 0x3fc80200
[    2.598658@1] SDHC_PDMA: 0x2c43bcf0
[    2.598660@1] SDHC_MISC: 0xe0000150
[    2.598661@1] SDHC_DATA: 0xeedf0064
[    2.598663@1] SDHC_ICTL: 0x000030e6
[    2.598665@1] SDHC_ISTA: 0x00004549
[    2.598667@1] SDHC_SRST: 0x00000000
[    2.598668@1] SDHC_ESTA: 0x00000000
[    2.598670@1] SDHC_ENHC: 0x00fe0cff
[    2.598672@1] SDHC_CLK2: 0x0000100f
This keeps scrolling. I have been able to make it work by reducing the max clock frequency the SDHC controller will drive the card with to 40MHz. Disableuhs has no effect.
I have added this to the end of boot.ini, just before the bootm command:

Code: Select all

fdt set /sdhc/sd f_max   <40000000>
The card now works completely fine, including reboots.

Could you please try if this also solves your case. You may want to reduce the 40000000 further.

User avatar
aplu
Posts: 6
Joined: Wed Jan 21, 2015 2:56 am
languages_spoken: french, english
ODROIDs: C1
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by aplu » Sat May 30, 2015 7:15 am

Hi,

Sorry for long delay before answering... was a bit busy.. anyway.

I can't try anymore, I finally bought a SanDisk µSD card 100% compatible with the board, so I've no more issue now.

Koxx
Posts: 103
Joined: Tue Jun 16, 2015 6:04 am
languages_spoken: english, french
ODROIDs: C1
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by Koxx » Wed Nov 25, 2015 4:12 pm

@BertoldVdb, I am trying your solution with a Samsung EVO SDHC 16Go. So far, so good. I'll give more feedback in few days. My Odroid C1 generally crash (kernel hangup) after few days with sdcard errors.

Koxx
Posts: 103
Joined: Tue Jun 16, 2015 6:04 am
languages_spoken: english, french
ODROIDs: C1
Contact:

Re: sdcard detected by UBoot not by kernel

Unread post by Koxx » Sat Dec 05, 2015 2:13 am

A quick feedback.
The BertoldVdb solution solved stability my issues with my C1.
Thanks, I am very happy now ;)

Post Reply

Return to “Hardware and peripherals”

Who is online

Users browsing this forum: No registered users and 1 guest