# microSD is not detected with Jetpack4.4

**URL:** <https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497>\
**Category:** Jetson Xavier NX\
**Tags:** reflash\
**Created:** [August 5, 2020, 9:57am UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497 "2020-08-05T09:57:08Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![dorozhko.a](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/dorozhko.a/32/23651_2.png) [@dorozhko.a](https://forums.developer.nvidia.com/u/dorozhko.a)\
**Post date:** [August 5, 2020, 9:57am UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/1 "2020-08-05T09:57:08Z")

</div>

We have a boxer like this one: [AAEON BOXER-8251AI | AI@Edge Fanless Embedded Box PC with NVIDIA Xavier NX | Microsoft Azure Certified - AAEON](https://www.aaeon.com/en/p/nvidia-xavier-nx-embedded-box-pc-boxer-8251ai)  
I am able to see microSD with a custom flash from boxer provider.

But when I flash Jetpack4.4 I don’t see the microSD card with **lsblk**  
**dmesg** does not react on microSD insertion when jetpack4.4 is flashed.

What can I do with Jetpack4.4 to be able to read micro SD ?

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [August 5, 2020, 5:48pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/2 "2020-08-05T17:48:17Z")

</div>

I’ve never used one of these, but as a general concept, different carrier boards have different device trees. The default flash assumes the dev kit, and for any change to carrier board layout on the Boxer, there would need to be device tree changes. The manufacturer of the Boxer probably needs to provide this (the “board support package”, or BSP, contains a device tree).

Any custom BSP is probably just copied into the flash software for the dev kit, and after that flash would “do the right thing” for your carrier board, but the BSP must match the release version of the flash software. The makers of the Boxer would need to provide this information.

---

<div class="post-metadata">

**Author:** ![dorozhko.a](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/dorozhko.a/32/23651_2.png) [@dorozhko.a](https://forums.developer.nvidia.com/u/dorozhko.a)\
**Post date:** [August 6, 2020, 1:49pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/3 "2020-08-06T13:49:04Z")

</div>

Thanks @linuxdev

Do you know which dtb file of Jetson NX is responsible for **sdhci@34…** devices?  
Or what is the fastest way to navigate dtb files, except their decompilation to dts?

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [August 6, 2020, 3:24pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/4 "2020-08-06T15:24:52Z")

</div>

I’ve not looked at the details of any specific device tree for sdhci. What I usually do is reverse compile the device tree first:  
`dtc -I fs -O dts -o extracted.dts /proc/device-tree`

I also log a command line flash, for example:  
`sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1 2>& | tee log_flash.txt`

I find a symbol/address I am interested in from the extracted tree, and then go through the flash logs to see which original tree components were flashed, followed by looking to see if my symbol is in one of those. A very manual process, but you can reverse compile the named dtb files and simply grep for your symbol and/or address. Not exactly a fast way to do this, but it is thorough.

Other official docs will tend to describe modifications to kernel files related to device tree, and then say to compile the tree from the kernel source.

If you are just browsing, then it is very fast to use “`find`” in combination with “`/proc/device-tree`”.

---

<div class="post-metadata">

**Author:** ![dorozhko.a](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/dorozhko.a/32/23651_2.png) [@dorozhko.a](https://forums.developer.nvidia.com/u/dorozhko.a)\
**Post date:** [August 6, 2020, 3:47pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/5 "2020-08-06T15:47:51Z")

</div>

I looked through **/proc/device-tree** and I’ve found a difference in symbols of a flash that can read microSD and the other one.

I found a dtb **tegra194-p3668-all-p3509-0000.dtb** that has this symbol, I tried to change

> status = “disabled”;

to

> status = “okay”;

But when I reflash, those changes weren’t applied.  
I will try to go through the flashing log to verify if it should be another dtb with the same symbol.

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [August 7, 2020, 8:02pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/6 "2020-08-07T20:02:21Z")

</div>

> [@dorozhko.a](#):
>
> But when I reflash, those changes weren’t applied.

This is the not-so-fun part…each release and Jetson version may have slightly different directions for this. Often it involves replacing a generic reference version somewhere in “`Linux_for_Tegra/`”, and then flashing normally, but check the docs for your specific case (device trees can end up in “`/boot`” files, or in a signed partition).

---

<div class="post-metadata">

**Author:** ![dorozhko.a](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/dorozhko.a/32/23651_2.png) [@dorozhko.a](https://forums.developer.nvidia.com/u/dorozhko.a)\
**Post date:** [August 10, 2020, 7:21am UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/7 "2020-08-10T07:21:23Z")

</div>

Thanks @linuxdev , that’s exactly what was the problem.

There were several copies of the same dtb file in different subdirectories of **“Linux\_for\_Tegra/”**

When I changed **tegra194-p3668-all-p3509-0000.dtb** in **/kernel/dtb** it worked.

---

<div class="post-metadata">

**Author:** ![soycih](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@soycih](https://forums.developer.nvidia.com/u/soycih)\
**Post date:** [August 12, 2020, 10:40am UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/8 "2020-08-12T10:40:14Z")

</div>

Hi @dorozhko.a, I have the same problem, could you help me explain the detailed steps? Thank you so much.  
I don’t know how to get **tegra194-p3668-all-p3509-0000.dtb**

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [August 12, 2020, 6:06pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/9 "2020-08-12T18:06:20Z")

</div>

If you’ve ever flashed, then you will have a directory “`~/nvidia/nvidia_sdk/JetPack_...version info.../Linux_for_Tegra/`”. In terms of flashing, everything will be in that directory or a subdirectory. For example, you should be able to find:

```auto
~/nvidia/nvidia_sdk/JetPack_...version info.../Linux_for_Tegra/kernel/dtb/
# Which has several dtb files. One is:
~/nvidia/nvidia_sdk/JetPack_...version info.../Linux_for_Tegra/kernel/dtb/tegra194-p3668-all-p3509-0000.dtb

```

Also, if you look in the docs for kernel build or kernel customization, then most device trees are also a build target there. If you were to configure the kernel source to match your running system, and then build the kernel target for “`make dtbs`”, this would result in a lot of “`.dtb`” files being generated. Presumably, " `tegra194-p3668-all-p3509-0000.dtb`" would be one of them.

Note that dtb files can be reverse compiled, examined, edited, and recompiled. A typical reverse compile would go something like this:

```auto
dtc -I dtb -O dts -o reversed_tegra194-p3668-all-p3509-0000.dts tegra194-p3668-all-p3509-0000.dtb
# You could then examine tegra194-p3668-all-p3509-0000.dts, edit, and rebuild:
dtc -I dts -O dtb -o reversed_tegra194-p3668-all-p3509-0000.dtb reversed_tegra194-p3668-all-p3509-0000.dts

```

(I preppended the name “reversed\_” to generated files, but you can name them anything you want).

---

<div class="post-metadata">

**Author:** ![soycih](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@soycih](https://forums.developer.nvidia.com/u/soycih)\
**Post date:** [August 13, 2020, 6:15am UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/10 "2020-08-13T06:15:52Z")

</div>

Thank you @linuxdev, finally i succeeded.

---

<div class="post-metadata">

**Author:** ![soycih](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@soycih](https://forums.developer.nvidia.com/u/soycih)\
**Post date:** [August 17, 2020, 7:53am UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/11 "2020-08-17T07:53:52Z")

</div>

Hi @linuxdev, when I apt-get upgrade (nvidia-l4t-bootloader, nvidia-l4t-gstreamer, nvidia-l4t-tools), the dts has been changed.  
I reboot the Jetson NX, the microSD is not detected again.  
How can I keep the dts ?

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [August 17, 2020, 5:57pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/12 "2020-08-17T17:57:40Z")

</div>

I have heard of other people running into this as well. I think the technically correct way to do this is to make your device tree into an Ubuntu package, and have that package cause the offending overwrite package to be blocked. I am not sure of which package that is.

Alternatively, you could blacklist the package causing issues from updating. The problem there is the same: I am unsure which package that is. Someone probably knows and has some advice on how to blacklist that package.

---

<div class="post-metadata">

**Author:** ![Andrey1984](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/andrey1984/32/14130_2.png) [@Andrey1984](https://forums.developer.nvidia.com/u/Andrey1984)\
**Post date:** [August 26, 2020, 11:15pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/13 "2020-08-26T23:15:03Z")

</div>

as per my experience sometimes microsdcards were not detected until formated at host PC / windows pc

---

<div class="post-metadata">

**Author:** ![tuval](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@tuval](https://forums.developer.nvidia.com/u/tuval)\
**Post date:** [January 17, 2021, 5:40pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/14 "2021-01-17T17:40:11Z")

</div>

Hi @linuxdev, I am having a very similar problem, I’m hoping you can help with it:

> [@MicroSD not detected on Xavier Nx Production](https://forums.developer.nvidia.com/t/microsd-not-detected-on-xavier-nx-production/166073):
>
> Hi, Firstly, I know that there are several very similar topics in the forum, and it’s very possible that this topic is redundant, if so - apologies. That being said, it seemed to me that none of the existing MicroSD topics exactly suited my situation, and I didn’t find a solution which solved my problem. I am using the [AAEON-8250AI Jetson Xavier Nx](https://www.aaeon.com/en/p/ai-edge-solutions-nvidia-jetson-xavier-nx-boxer-8250ai), which came flashed from the provider. System info: aaeon@aaeon-desktop:~$ uname -a Linux aaeon-desktop 4.9.140-tegra #1 SMP PREEMPT Tue Oct 27…

You referenced some things in this thread which don’t exist on my Jetson (flash.sh script, Linux\_for\_Tegra dir, for instance), so I’m having trouble following your suggested solutions.

Thanks in advance for any assistance.

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [January 17, 2021, 9:09pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/15 "2021-01-17T21:09:17Z")

</div>

> [@tuval](#):
>
> flash.sh script, Linux\_for\_Tegra dir

These are part of the flash software, and exist only on the host PC used for flashing. The Jetson itself will not have that content. People who use a prebuilt SD card image will also not have this since the PC is not used for flashing.

Jetsons all started out with eMMC only, and the SD card was not for boot. All Jetsons have the ability to be placed in “recovery mode”. When in recovery mode the Jetson becomes a custom USB device which is understood by the “driver package” (which runs on a PC, not a Jetson), and this can be used to directly flash the Jetson.

The SD card version has somewhat altered flash instructions, but you can still use a Linux PC (running Ubuntu 18.04) to flash. You can do this either via SDK Manager or via manual download and install of the “driver package” and “sample rootfs” (or a mix of both). Until this has been completed you won’t have that content.

FYI, here is a list of SDKM/JetPack releases:  
[https://developer.nvidia.com/embedded/jetpack-archive](https://developer.nvidia.com/embedded/jetpack-archive)

Notice that on the right side of each release there is a “Linux for Tegra” (“L4T”) release mentioned, e.g., JetPack 4.4.1 shows “`L4T R32.4.4`”. JetPack/SDKM is simply a front end, and the flash software itself (the driver package and sample rootfs) are found in the L4T URL.

On your host PC, if you run SDKM after installing the “`.deb`” package you will see a directory with the following naming convention:  
`~/nvidia/nvdia_sdk/JetPack_...version.../Linux_for_Tegra/`

---

<div class="post-metadata">

**Author:** ![nadeemm](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/nadeemm/32/367020_2.png) [@nadeemm](https://forums.developer.nvidia.com/u/nadeemm)\
**Post date:** [October 18, 2021, 6:42pm UTC](https://forums.developer.nvidia.com/t/microsd-is-not-detected-with-jetpack4-4/145497/16 "2021-10-18T18:42:23Z")

</div>

Closed on October 18, 2021, 6:42pm UTC


