Jetson Nano sees SD Card only if booting with it

Is this working on linux? I has FreeOffice and my friend has LibreOffice - this is not working - nothing appears in the folder, where I place this xlsm file.
Or will it only working in windows in microsoft office?

As my understanding, pinmux spreadsheet could only work with Microsoft Office due to some macro inside.
Please just get a Windows PC to generate device tree from pinmux spreadsheet.

1 Like

It is hard to find windows PC in programmers office but I will try

1 Like

I discovered what the problem:

[   31.713409] vdd-fan: disabling
[   31.713413] vdd-usb-vbus: disabling
[   31.713415] vdd-usb-vbus2: disabling
[   31.713422] vddio-sdmmc-ap: disabling
[   31.713567] vddio-sdmmc3-ap: disabling
[   31.713707] vdd-3v3-sd: disabling
[   31.713712] avdd-io-edp-1v05: disabling
[   31.713714] vdd-usb-hub-en: disabling

Before these messages everything is working fine now, SD card is working after I pushing it, but after these messages it stops to detecting after insertion and I has such an error when I inserting it:

[  251.793144] mmc1: CMD CRC or end bit error, int mask 0x40000
[  251.799399] mmc1: CMD CRC or end bit error, int mask 0x40001
[  251.805643] mmc1: CMD CRC or end bit error, int mask 0x40001
[  251.811839] mmc1: CMD CRC or end bit error, int mask 0x40000
[  251.818088] mmc1: CMD CRC or end bit error, int mask 0xc0001
[  251.824285] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  251.830534] mmc1: CMD CRC or end bit error, int mask 0xc0001
[  251.836731] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  251.843012] mmc1: CMD CRC or end bit error, int mask 0x40000
[  252.952113] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  252.959046] mmc1: CMD CRC or end bit error, int mask 0x40000
[  252.966021] mmc1: CMD CRC or end bit error, int mask 0x40000
[  252.972948] mmc1: CMD CRC or end bit error, int mask 0x40000
[  252.979919] mmc1: CMD CRC or end bit error, int mask 0x40000
[  252.986893] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  252.993867] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  253.000795] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  253.007718] mmc1: CMD CRC or end bit error, int mask 0xc0000
[  253.014760] mmc1: CMD CRC or end bit error, int mask 0x40000

Why am I receiving these vdd disabling and how can I fix this?

It looks like something power saving turns off interfaces I need.

I already answered that in this comment.

Again, if you don’t know what to do and not familiar with this, you should share your schematic so that we can tell you what to do.

I don’t know whether your 3v3 is always-on or not because you totally not share this with your schematic.

I did this and it was not helped. I still receiving this message:

	sdhci@700b0400 {
		status = "okay";
		nvidia,cd-wakeup-capable;
		nvidia,vmmc-always-on;
		cd-gpios = <&gpio TEGRA_GPIO(Y, 2) 1>;
		/delete-property/ keep-power-in-suspend;
		/delete-property/ non-removable;
		mmc-ddr-1_8v;
		mmc-ocr-mask = <3>;
		uhs-mask = <0x0>;
		tap-delay = <3>;
	};

And messages after 30 seconds of each boot:

[   31.713409] vdd-fan: disabling
[   31.713413] vdd-usb-vbus: disabling
[   31.713415] vdd-usb-vbus2: disabling
[   31.713422] vddio-sdmmc-ap: disabling
[   31.713567] vddio-sdmmc3-ap: disabling
[   31.713707] vdd-3v3-sd: disabling
[   31.713712] avdd-io-edp-1v05: disabling
[   31.713714] vdd-usb-hub-en: disabling

Ok so are you going to share the schematic or not?

It really does not matter to your case. You didn’t ask for any regulator in your DT, kernel just disabled these regulators which are not used. It is normal behavior.

But before this message SD card insertion event is working fine, I tested this several times. It inserting good and lsblk sees this, but after this messages it stops to inserting correctly so I thought that it is connected.

As I already said, you need to share your schematic so that I can help you to clarify.

Scheme is fully like in Jetson Nano Developers Guide, only this CD pin was moved. Other is fully like was there.
Then it is very strange that every boot first 35 seconds push events working fine even if I reattach SD Card 10 times in a row, but after 35 second after each reattaching I receiving:

[alarm@alarm ~]$ [   35.831650] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   35.837712] mmc1: CMD CRC or end bit error, int mask 0x40000
[   35.843841] mmc1: CMD CRC or end bit error, int mask 0x40001
[   35.849943] mmc1: CMD CRC or end bit error, int mask 0x40001
[   35.856000] mmc1: CMD CRC or end bit error, int mask 0x40000
[   35.862118] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   35.868173] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   35.874235] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   35.880297] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   35.886437] mmc1: CMD CRC or end bit error, int mask 0x40000
[   36.939849] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   36.946104] mmc1: CMD CRC or end bit error, int mask 0x40001
[   36.952354] mmc1: CMD CRC or end bit error, int mask 0x40001
[   36.958605] mmc1: CMD CRC or end bit error, int mask 0x40001
[   36.964805] mmc1: CMD CRC or end bit error, int mask 0x40000
[   36.971062] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   36.977262] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   36.983515] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   36.989714] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   36.996043] mmc1: CMD CRC or end bit error, int mask 0x40001
[   38.048052] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   38.054441] mmc1: CMD CRC or end bit error, int mask 0x40001
[   38.060789] mmc1: CMD CRC or end bit error, int mask 0x40000
[   38.067185] mmc1: CMD CRC or end bit error, int mask 0x40001
[   38.073528] mmc1: CMD CRC or end bit error, int mask 0x40000
[   38.079877] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   38.086275] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   38.092622] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   38.098971] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   38.105396] mmc1: CMD CRC or end bit error, int mask 0x40000
[   39.160880] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   39.167854] mmc1: CMD CRC or end bit error, int mask 0x40000
[   39.174828] mmc1: CMD CRC or end bit error, int mask 0x40000
[   39.181780] mmc1: CMD CRC or end bit error, int mask 0x40000
[   39.188709] mmc1: CMD CRC or end bit error, int mask 0x40000
[   39.195680] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   39.202655] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   39.209582] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   39.216506] mmc1: CMD CRC or end bit error, int mask 0xc0000
[   39.223557] mmc1: CMD CRC or end bit error, int mask 0x40000

I tried to comment function in kernel that powering off domains but it can’t be helped. After 35 seconds SD Card stops to recognizing. If SD Card is in the board after 35 seconds - it is working normally even after 35 seconds and after power domain disabling. But it is possible to reinsert it - you will catch this error.
If it is really needed:


What is KP12 in the schematic?

Anyway, please refer to this comment I posted 2 years ago.

It is testing point for oscilloscope’s probe.

Then please write a dummy 3.3v regulator to your vmmc-supply.

Sorry but I don’t understand what exactly do you mean.
As far as I understand, you want to say that the problem is that yes, on the one hand, we always have power supplied to this port, on the other hand, when the system thinks that it has stopped supplying power to this port, it stops working correctly with it , despite the fact that everything is physically connected there correctly and should work, and should I write to create an empty artificial GPIO for this port, which supposedly controls the power of this port, so that the system does not think that it is turned off?
If so, what would such an example look like? Now I have a hard time understanding what and how to write, because I don’t really understand. If there was a clear example of what to describe and how, I would try it.

Hi,

First, are you able to understand the post I mentioned here or not? An example is already here. vmmc-supply is needed so that the driver would know what is the source of 3v3 power to the sd. Regulator is not something invented by us but standard linux kernel framework.

Second, I still don’t think the power saving feature has anything to do with your issue.
Your device tree is still not correct yet so every behavior before the correctness is not stable. No need to care about such unstable situation, but instead you should fix the regulator first.

Last point, we are not your colleague and we are not standing right after your seat. Please do not assume we know everything happened on your side. We don’t know you or your board. Please always share full dmesg instead of partial log.

In our system there is no GPIO that controls power for SD slot, it is really and hardware always ON.

Yes, I know. So you have to give a dummy always-on regulator to the vmmc-supply.