SD card : Error 110 / card never left busy state

Hi everyone,

I am currently trying to setup my Jetson Nano Devkit, but I encounter some issues when I want to boot it on SD card (My issue is concerning devkit with eMMC and auxiliary SD card).

Initially I made some boot with SDK manager and flash.sh to be comfortable with it. Later on, I modified the device tree for 40 pin-header and it seems like everything worked but when I tried to modify sdhci@700d0400 in DT in order to enable SD card (mmcblk1p1) it result in the following error (dmesg):

Screen 1 – Error message (When booting from SD Card & When reading hotplugged SD from eMMC boot):

A2

Before modifying the device tree nothing was recognized by Nano so I feel like my modification goes in the right direction. However, it seems like there is still something missing. My main objective is to boot from SD card but I think that the first step would be to read it from Nano.

To know what I needed to modify exactly on DT, I followed Waveshare devkit wiki page concerning TF card boot (https://www.waveshare.com/wiki/JETSON-NANO-DEV-KIT).

Screen 2 - Modified DT :

I already tried two SD card but unfortunately, they have the same reference. I can assume that problem is not coming from them but maybe there is some compatibility issue as for some SD card and RPi? (I already ordered another reference to check it in few days)

Moreover, those SD card have been checked on both Linux host and Windows and they are both working well.

SD Card reference: Canvas Select Plus SDCS2/32GB
Image : Jetpack 4.6.2
Driver : L4T 32.7.1
Compiler : GCC 7.3.1

Wishing you a great day,

Hi,

I am a little confused here and want to clarify.

The “Jetson Nano devkit” is a specific term to indicate this is developer kit from NVIDIA. If this is the board made by you, then it is called a custom board.

So, is this a custom board made by you or it is really the nvidia devloper kit?

Hi,

I guess that is a custom board called “DEV-KIT” made by Waveshare (link below) which aims to be similar to the original developer kit.

Board : https://www.waveshare.com/jetson-nano-dev-kit-a.htm?sku=21802

then actually I cannot help tell you what is needed to modify since I don’t know the hardware design from Waveshare.

But I can review if the method to “update” device tree is correct or not. For example, some users have correctly put the value in device tree, but they don’t know how to update it on device…

Ok, thank for you answer !

Anyway, if the problem never happens on any official developer kit before it must be linked to the hardware of this specific board.

Concerning device tree, if after flashing my OS I can find out my updated dtb file with the right configuration in filesystem : boot/dtb/kernel_tegra210-p3448-002-p3499-000-b00.dtb , modification must have been taken into account, no ?

Basically I initially downloaded Jetpack 4.6.2 from SDK Manager and then I changed dtb file (*) into dts format thanks to device tree compiler and then back it to dtb.

After I just use flash script with Nano in recovery mode : $ sudo ./flash.sh jetson-nano-emmc mmcblk0p1

(*) Linux_for_Tegra/kernel/dtb/tegra210-p3448-002-p3499-000-b00.dtb

I think that part went well because there was difference before and after flashing each dtb file.

By the way, is there any way to generate an image of my actual configuration in “Linux_for_Tegra” folder to put it on SD card later ?

There are lots of misunderstanding here…

Anyway, if the problem never happens on any official developer kit before it must be linked to the hardware of this specific board.

The error never happened on devkit. But the reason is NV devkit does not have a sdcard slot on the carrier board…

Basically I initially downloaded Jetpack 4.6.2 from SDK Manager and then I changed dtb file (*) into dts format thanks to device tree compiler and then back it to dtb.

The steps to update look correct. But the value you put to the device tree is not what I can guarantee.

In fact you are right, there are many misunderstandings, I am a total beginner on this subject.

It seems like error 110 is a timeout, even if SD slot is not placed on carrier board, it could also happen on Nano module SD slot if for example SD card was damaged no ? (On another storage reference like mmc0 i supposed ?)

There can be mistakes in values, I took it from the carrier board manufacturer wiki but to be honest I don’t understand everything that have been added on it. Is there anything that look very strange ?

*My writing is not that good in english, so I would like to apologize if something is not clear or make non-sense.

Try to remove the cd-inverted in the device tree and see if that makes difference.

I tried it, but it came back with the exact same error code.

What is the exact purpose of “cd-inverted” ?


Moreover, sdhci@700b0400 refers to what physically ?

Sorry if my question is too basic but as I am beginning I want to be sure to understand everything clearly

cd-inverted is for the polarity of the card detection gpio.

If you see sdcard error coming out when you have no sdcard inserted, it could mean card detection goes wrong.
For example, should be no card case, but the gpio tells the driver to start init the device…

But your case looks not likat that.

sdhci@700b0400 indicates the sdmmc3 pin on the jetson nano module. However, as I said before, the rest of connection requires the board vendor to provide.

Ok I see what you asked me to try !

Thank you a lot for your help even if without hardware we couldn’t solve it.

I will try to see if the carrier board manufacturer can help me concerning hardware setup.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.