Kevin - I didn’t get a response on Friday and have now lost the weekend. I’d really appreciate it if you could respond today to my last question. As I mentioned before, I am very short on time to get this issue resolved.
For the method 1, you should refer to the following instruction to download and build the kernel.
NVIDIA Jetson Linux Developer Guide : Kernel Customization | NVIDIA Docs
Could you also share the dmesg after you load the spidev
module?
and also the image of your connections for further check.
Thanks. I’ll attempt to build the kernel per those instructions and update you after. Here is the other requested information with the current state:
dmesg | grep -i gpio
[ 0.568708] gpio gpiochip0: gpio-line-names specifies 240 line names but there are 256 lines on the chip
[ 0.569866] GPIO line 6 (system-suspend-gpio) hogged as output/high
[ 0.569908] GPIO line 151 (camera-control-output-low) hogged as output/low
[ 0.569941] GPIO line 152 (camera-control-output-low) hogged as output/low
[ 0.570306] gpiochip_setup_dev: registered GPIOs 0 to 255 on device: gpiochip0 (tegra-gpio)
[ 0.627971] GPIO line 505 (spmic-default-output-high) hogged as output/high
[ 0.628287] gpiochip_setup_dev: registered GPIOs 504 to 511 on device: gpiochip1 (max77620-gpio)
[ 0.653980] extcon-gpio-states extcon:extcon@1: Cable state:0, cable id:0
[ 3.708377] tegradc tegradc.1: No hpd-gpio in DT
[ 4.134783] i2c-mux-gpio cam_i2cmux: 2 port mux on Tegra I2C adapter adapter
[ 4.241260] FAN:gpio request success.
[ 4.278028] sdhci-tegra sdhci-tegra.0: Got CD GPIO
[ 4.492816] input: gpio-keys as /devices/gpio-keys/input/input1
dmesg | grep -i spi
[ 0.466428] iommu: Adding device 7000d400.spi to group 7
[ 0.466705] iommu: Adding device 7000d600.spi to group 8
[ 0.466992] iommu: Adding device 70410000.spi to group 9
[ 3.810138] tegra-qspi 70410000.spi: Prod settings list not found
[ 3.818076] qspi_mtd spi32766.0: MX25U3235F (4096 Kbytes)
[ 3.818086] qspi_mtd spi32766.0: mtd .name = spi32766.0, .size = 0x400000 (4MiB) .erasesize = 0x00001000 (4KiB) .numeraseregions = 0
dmesg | grep -i dts
[ 0.240158] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-b00.dts
[ 0.448838] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-b00.dts
[ 0.474200] tegra-pmc 7000e400.pmc: scratch reg offset dts data not present
Image of connections:
Please just provide the full dmesg as file here.
Could you share the right side(respect to the above image) of your board?
and share the result of the following command.
$ ls -l /boot/
$ ls -l /boot/dtb/
Full dmesg file and image attached.
ls -l /boot
total 60404
drwxr-xr-x 2 root root 4096 Sep 25 10:50 dtb
drwxr-xr-x 2 root root 4096 Sep 28 08:38 extlinux
drwxr-xr-x 2 root root 4096 Sep 10 11:03 grub
-rw-r--r-- 1 root root 34707464 Sep 10 10:37 Image
-rw-r--r-- 1 root root 7159654 Sep 10 10:37 initrd
lrwxrwxrwx 1 root root 24 Sep 10 11:02 initrd.img -> initrd.img-4.9.337-tegra
-rw-r--r-- 1 root root 15293431 Sep 10 11:03 initrd.img-4.9.337-tegra
-rw-r--r-- 1 root root 237352 Sep 10 10:37 kernel_tegra210-p3448-0000-p3449-0000-b00.backup
-rw-r--r-- 1 root root 237352 Sep 25 09:51 kernel_tegra210-p3448-0000-p3449-0000-b00.dtb
-rw-r--r-- 1 root root 238621 Sep 19 15:35 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.backup
-rw-rw-r-- 1 bsm bsm 238670 Sep 20 13:05 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
-rw-rw-r-- 1 root root 238574 Sep 25 10:48 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom-EditedStep2.dtb
-rw-rw-r-- 1 root root 238574 Sep 25 20:18 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom-EditedStep2_rsvd.dtb
-rw-rw-r-- 1 bsm bsm 238581 Sep 28 08:35 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom-kevin.dtb
-rw-r--r-- 1 root root 238670 Sep 25 09:57 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom-user-custom.dtb
-rw-r--r-- 1 root root 1077 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 1073 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-adafruit-uda1334a.dtbo
-rw-r--r-- 1 root root 1856 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-csi.dtbo
-rw-r--r-- 1 root root 488509 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
-rw-r--r-- 1 root root 2831 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-fe-pi-audio.dtbo
-rw-r--r-- 1 root root 1304 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-hdr30.dtbo
-rw-r--r-- 1 root root 3076 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-hdr40.dtbo
-rw-r--r-- 1 root root 2111 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-m2ke.dtbo
-rw-r--r-- 1 root root 2103 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-respeaker-4-mic-array.dtbo
-rw-r--r-- 1 root root 2139 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a01-devkit-respeaker-4-mic-lin-array.dtbo
-rw-r--r-- 1 root root 489038 Jun 8 21:25 tegra210-jetson-tx1-p2597-2180-a02-devkit-24x7.dtb
-rw-r--r-- 1 root root 228299 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a00.dtb
-rw-r--r-- 1 root root 1085 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 1081 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-adafruit-uda1334a.dtbo
-rw-r--r-- 1 root root 228259 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01.dtb
-rw-r--r-- 1 root root 2839 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-fe-pi-audio.dtbo
-rw-r--r-- 1 root root 3700 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-hdr40.dtbo
-rw-r--r-- 1 root root 2119 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-m2ke.dtbo
-rw-r--r-- 1 root root 3344 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-mcp251x.dtbo
-rw-r--r-- 1 root root 2111 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-respeaker-4-mic-array.dtbo
-rw-r--r-- 1 root root 2147 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a01-respeaker-4-mic-lin-array.dtbo
-rw-r--r-- 1 root root 1121 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 1117 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-adafruit-uda1334a.dtbo
-rw-r--r-- 1 root root 228845 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02.dtb
-rw-r--r-- 1 root root 2875 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-fe-pi-audio.dtbo
-rw-r--r-- 1 root root 3740 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-hdr40.dtbo
-rw-r--r-- 1 root root 2155 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-m2ke.dtbo
-rw-r--r-- 1 root root 3400 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-mcp251x.dtbo
-rw-r--r-- 1 root root 2147 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-respeaker-4-mic-array.dtbo
-rw-r--r-- 1 root root 2183 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-a02-respeaker-4-mic-lin-array.dtbo
-rw-r--r-- 1 root root 237352 Jun 8 21:25 tegra210-p3448-0000-p3449-0000-b00.dtb
-rw-r--r-- 1 root root 228655 Jun 8 21:25 tegra210-p3448-0002-p3449-0000-a02.dtb
-rw-r--r-- 1 root root 237198 Jun 8 21:25 tegra210-p3448-0002-p3449-0000-b00.dtb
-rw-r--r-- 1 root root 1077 Jun 8 21:25 tegra210-p3448-0003-p3542-0000-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 1073 Jun 8 21:25 tegra210-p3448-0003-p3542-0000-adafruit-uda1334a.dtbo
-rw-r--r-- 1 root root 229155 Jun 8 21:25 tegra210-p3448-0003-p3542-0000.dtb
-rw-r--r-- 1 root root 2831 Jun 8 21:25 tegra210-p3448-0003-p3542-0000-fe-pi-audio.dtbo
-rw-r--r-- 1 root root 3696 Jun 8 21:25 tegra210-p3448-0003-p3542-0000-hdr40.dtbo
-rw-r--r-- 1 root root 2103 Jun 8 21:25 tegra210-p3448-0003-p3542-0000-respeaker-4-mic-array.dtbo
-rw-r--r-- 1 root root 2139 Jun 8 21:25 tegra210-p3448-0003-p3542-0000-respeaker-4-mic-lin-array.dtbo
-rw-r--r-- 1 root root 2780 Jun 8 21:25 tegra210-p3448-all-p3449-0000-camera-imx219-dual.dtbo
-rw-r--r-- 1 root root 3036 Jun 8 21:25 tegra210-p3448-all-p3449-0000-camera-imx477-dual.dtbo
-rw-r--r-- 1 root root 2959 Jun 8 21:25 tegra210-p3448-all-p3449-0000-camera-imx477-imx219.dtbo
-rw-r--r-- 1 root root 2795 Jun 8 21:25 tegra210-p3448-common-imx219.dtbo
-rw-r--r-- 1 root root 2930 Jun 8 21:25 tegra210-p3448-common-imx477.dtbo
ls -l /boot/dtb
total 468
-rw-r--r-- 1 root root 237352 Sep 10 10:37 kernel_tegra210-p3448-0000-p3449-0000-b00.backup
-rw-r--r-- 1 root root 238670 Sep 21 21:13 kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.backup
Note that the extlinux.config file currently points to:
FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom-kevin.dtb
TIMEOUT 30
DEFAULT JetsonIO
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 nv-auto-config
# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
# sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot
# LABEL backup
# MENU LABEL backup kernel
# LINUX /boot/Image.backup
# INITRD /boot/initrd
# APPEND ${cbootargs}
LABEL JetsonIO
MENU LABEL Custom Header Config: <HDR40 User Custom [2023-09-25-095756]>
LINUX /boot/Image
FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom-kevin.dtb
INITRD /boot/initrd
APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 nv-auto-config
dmesg.txt (62.1 KB)
I was unable to get the git approach to work with method 1 for downloading the kernel, but I was able to download it manually. I got as far as step 7 in the 32.7.4 Developer Guide you shared. When I try this step, I get the following error:
sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=~/Linux_for_Tegra/rootfs/
make: *** No rule to make target 'modules_install'. Stop.
Have you configured the toolchain correctly?
Could you reflash JP4.6.4(R32.7.4) to the board with SDKM and let me instruct you step-by-step in the following few hours?
Have you configured the toolchain correctly?
From the instructions, it appeared that this step was only necessary if I was doing it on a non-Jetson system. Is that guidance wrong?
Could you reflash JP4.6.4(R32.7.4) to the board with SDKM and let me instruct you step-by-step in the following few hours?
That would be great, but unfortunately I have other commitments tonight. Can we plan for this tomorrow at the start of your day?
Also, to be clear, are you asking me to reflash the standard Jetpack4.6.4 using the SDKManager ahead of time and we work from there, or are you planning to walk me through the kernel build and flash process from the start?
Are you build the kernel image on the ubuntu host PC or on Jetson Nano?
Yes, I wish you could start from the clean state and will lead you with method 2 because it has been verified on the devkit and should be easier for your use case.
Are you build the kernel image on the ubuntu host PC or on Jetson Nano?
From the instructions I was under the impression that I should build the kernel image from the Nano. Was I supposed to build it on a host PC instead?
Yes, I wish you could start from the clean state and will lead you with method 2 because it has been verified on the devkit and should be easier for your use case.
OK - I will install it one more time from scratch and have this ready before your day starts tomorrow. I’m not optimistic given past results, but I appreciate you making the time to work through it together so I will try again. Please reach out as soon as you are available tomorrow.
Yes, I would suggest sync and build the kernel image from the host PC because you still need to flash them from the host PC.
May I know why you do that from scratch?
Do you use ubuntu 18.04 or 20.04 as your host PC with SDKM to flash your board?
Okay, I worked at UTC+8hrs, and will start at 9am.
Do you use ubuntu 18.04 or 20.04 as your host PC with SDKM to flash your board?
My host PC has ubuntu 18.04 on it. This is what I’ve been using to flash the initial Jetpack4.6.4 onto the Nano via SDKManager.
May I know why you do that from scratch?
I’m afraid I don’t understand this question - You asked me to start from a “clean slate”. This is the same meaning to me. I think you’re asking me to erase the SD card and reinstall a fresh version of Jetpack4.6.4 using my host PC and SDKManager - Is this correct? If you are expecting me to do something different than this then please clarify.
Okay, I worked at UTC+8hrs, and will start at 9am
Thanks. Sounds good.
Yes, it is correct. Please just use Ubuntu18.04 with SDKM to flash your board.
Steps I took today:
- Reformatted the SD card with a complete erase to ensure there was nothing left on it (Note that this is a change compared to what I have been doing for the past few weeks. In the past I wasn’t hard-erasing the SD card. I was simply re-flashing Jetpack over the top of what was there.)
- Updated SDKManager to version (2.0.0.11402) on my host PC (Ubuntu 18.04)
- Connected to the micro-usb port and attempted to install a fresh version of Jetpack4.6.4 on the newly formatted SD card using the SDKManager.
Unfortunately things seem to have gotten worse. At this point I can no longer even complete the flash using the SDKManager. It fails ~40% of the way through the flash and says it can no longer find the Nano.
I’ve tried 4 times today with the same results each time. I even tried uninstalling and re-installing the SDKManager, but the failure is consistent.
Flash log attached. Any suggestions for where to go from here?
Something is now very wrong. I wanted to get back to a known state so I took the SD card and used Balena etcher to install the SD image of 4.6.1 (last image available for download on the NVIDIA site for the Nano). The Balena flash and verification did not report any errors, but now my Jetson Nano won’t even boot to the standard OEM config any more. The green LED on the board lights up but nothing else happens at all at power up…
Okay, I worked at UTC+8hrs, and will start at 9am
I believe it is now 9:15am in UTC+8 timezone, correct? Were you planning on contacting me via the forum or Email or by some other means?
By the way, I did another force recovery restart while connected to the SDKManager host machine and the Jetpack4.6.4 install appears to be moving forward again. It still threw errors during the flash, though. It is currently at 67% complete so I can update again when it finishes. Can you please comment on the flash log errors in the file I shared above in the mean time?
[ 166.6349 ] Writing partition APP with system.img
[ 166.8990 ] [ ] 000%
It seems writing APP partition (rootfs) on the SD card failed.
Do you format the SD card as ext4
?
Please let me know when you install JP4.6.4 successfully.
Do you format the SD card as
ext4
?
Yes.
It seems writing APP partition (rootfs) on the SD card failed.
By the way, this is the same section that it failed in in the log file I shared with you back on September 21st. I expect I’ll probably see the same failure again when the current installation completes since I’m starting from the same conditions. Can you please share what the next troubleshooting steps are for this type of error?
If you still flash the board with SDKM failed, you could also put the device in force recovery state and run the following command to flash the board.
$ cd /home/iflybri/nvidia/nvidia_sdk/JetPack_4.6.4_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/
$ sudo ./flash.sh jetson-nano-devkit mmcblk0p1
Or try to use another SD card.
How did you resolve this issue before?