Jump to content
  • 0

Jetson Nano


balbes150

Question

Good news.  :)

Thanks to the work of many, there is now a real opportunity to run the Armbian system with the main core on Jetson Nano, and more importantly, it is easy to integrate the image build process into the official GIT Armbian. In the near future, I plan to post ready-made images with the latest kernel 5.10.22 on the download site. To run them, you need to update u-boot to Jetson Nano. This is very easy to do, just run the latest official version of Ubuntu for Jetson Nano from the SD card, it will update itself in SPI (?) u-boot to the latest version (2020.04), after that you can run Armbian from any SD card or USB media. The new u-boot supports automatic system startup from both media or over the network. Also, now you can build an Armbian image for Jetson Nano yourself, easily build the latest kernel with the necessary options, etc.  

 

 

https://users.armbian.com/balbes150/

 

https://mega.nz/#F!j9QSDQSQ!6WpasOlbZYIInfw6yo4phQ

 

https://disk.yandex.ru/d/XBRXnig7F1M4rw?w=1

Link to comment
Share on other sites

Recommended Posts

  • 0

@phelum - you might give this a try to make shutdown at least somehow working (i did not find the time yet to test it myself): https://libera.irclog.whitequark.org/tegra/2022-01-30#31661546 and https://libera.irclog.whitequark.org/tegra/2022-01-31#31668641

 

"<digetx> hexdump0815: likely that max77620 just needs to be marked as system-power-controller in nano's dtsi to enable powering off using PMIC"

 

"<tagr> hexdump0815: Jetson Nano will by default try to power off using PSCI, but the PSCI implementation is incomplete, so it won't actually cause the system to power down - so for now the best thing you can do is to try something like digetx suggested"

 

and while we are at the not so good sides of running mainline on the jetson nano, there is also this one to keep in mind which for me results in the performance being way lower than with the legacy kernel right now: https://libera.irclog.whitequark.org/tegra/2022-01-31#31668655

 

"<tagr> regarding the performance, Tegra210 doesn't support EMC frequency scaling yet because the firmware doesn't pass the EMC tables in the right format on Jetson Nano I think the boot EMC frequency is fairly low, so that might explain some of the performance issues that you're seeing"

 

besides that the gpu currently cannot be clocked very high, otherwise the system will hang ...

 

best wishes and good luck - hexdump

Link to comment
Share on other sites

  • 0
2 hours ago, balbes150 said:

Is this an error log with kernel 4.9 ?

No, the log is what happens with all the 5.1x kernels (including your 5.10.60 and 5.16.4).  The Nvidia kernels (4.9.140 and 4.9.253) do power off the Nano correctly.  What I've noted here is that the "Tegra System Off: operation not handled." message appears in the Nvidia cboot code which is in one of the partitions on the SD card and also in the later versions (e.g. 4.6) of the code in the QSPI EMMC.

 

Link to comment
Share on other sites

  • 0
3 hours ago, hexdump said:

@phelum - you might give this a try to make shutdown at least somehow working (i did not find the time yet to test it myself): https://libera.irclog.whitequark.org/tegra/2022-01-30#31661546 and https://libera.irclog.whitequark.org/tegra/2022-01-31#31668641

 

"<digetx> hexdump0815: likely that max77620 just needs to be marked as system-power-controller in nano's dtsi to enable powering off using PMIC"

 

"<tagr> hexdump0815: Jetson Nano will by default try to power off using PSCI, but the PSCI implementation is incomplete, so it won't actually cause the system to power down - so for now the best thing you can do is to try something like digetx suggested"

 

Hi,

Thanks for the tip.  I've added "system-power-controller" to the 77620 node but it has no effect.  The Nvidia kernels contain driver code for the "tmpm32xi2c" which seems to be associated with system power.  But there is no such code in the standard kernels (e.g. 5.16.5).  This is why I was asking if people here were using a standard kernel or a modified one.

 

Cheers,

Steven

Link to comment
Share on other sites

  • 0

Hello, 

I am new to this topic, but am looking at Armbian as a way to run Cortic Edge Platform (https://github.com/cortictechnology/cep); from Jetson Nano Jetpack there were many missing dependencies that I am running into since it is more designed for a Raspberry Pi OS.

 

Given that, I am hoping Armbian may give me workable solution to use this CEP tool since it sounds like it is closer to Bullseye OS.

 

I am seeing some notes that I need to update U-Boot; but then latest is that I may be able to use the latest Armbian image directly. Am I able to download, use Balena etcher to load onto SD card and then plug and play for Jetson nano. Or do I have to do something on the currently installed Jetson JetPack to prep for the new image? https://www.armbian.com/jetson-nano/

 

Thanks in advance.

Link to comment
Share on other sites

  • 0
3 hours ago, philmurp said:

Given that, I am hoping Armbian may give me workable solution to use this CEP tool since it sounds like it is closer to Bullseye OS.

 

I am seeing some notes that I need to update U-Boot; but then latest is that I may be able to use the latest Armbian image directly. Am I able to download, use Balena etcher to load onto SD card and then plug and play for Jetson nano. Or do I have to do something on the currently installed Jetson JetPack to prep for the new image? https://www.armbian.com/jetson-nano/

 

Hi,

I don't think that Armbian supports the Nano.  I've managed to get my Nano running (except for power-off) with the standard kernels (e.g. 5.16.11) but if you need the Nvidia graphics driver then I think you're stuck with the 4.9.253 kernel supplied by Nvidia.

 

Also, it's not as easy as you might expect to update U-Boot.  I'm assuming you have a Nano developer kit where the board has 4GB flash and an SD-card.  U-Boot does exist on the SD-card but if you reload the relevant partition you'll also need to update the checksum at the start of the partition.  I've tried to work out how to calculate the digest but given up and it seems to be an Nvidia secret.  Regardless of this, the boot code on the card isn't used anyway.  The boot sequence runs tboot, then cboot, then U-Boot.  But all these files are sourced from the 4GB flash rather than the SD-card.  It is possible to write to the flash but again the relevant checksum must be written.  The code to do this is probably buried in some of the Nvidia x86 programs but these are not open-source.

 

Back in the L4T 4.4 days the boot code sourced U-Boot from the SD-card.  But when L4T 4.6 came out the process was changed and U-Boot was added to the flash code and cboot changed to read U-Boot from this flash partition.  So changing U-Boot requires re-flashing the relevant partition.

 

All the above is from my research and might not be correct.  The Nano is quite a powerful little board but unless you need the Nvidia AI specials then maybe it's not worth playing with due to all the Nvidia specials.

 

If anybody here knows the checksum algorithm then please let me know.

 

Cheers,

Steven

 

Link to comment
Share on other sites

  • 0

Yeah I am not nearly knowledgeable to really mess around with Nvidia custom functionality. 

 

IWhen I saw the official Jetson Nano page on the Armbian site, it seemed like similar concept to the Xbunutu which I just downloaded image, burned to SD, and plugged it in. Sounds like from what you are saying the image link is just the starting point and it isnt plug and play compatible.

Link to comment
Share on other sites

  • 0
39 minutes ago, philmurp said:

Yeah I am not nearly knowledgeable to really mess around with Nvidia custom functionality. 

 

IWhen I saw the official Jetson Nano page on the Armbian site, it seemed like similar concept to the Xbunutu which I just downloaded image, burned to SD, and plugged it in. Sounds like from what you are saying the image link is just the starting point and it isnt plug and play compatible.

It's looks like I'm wrong.  If it's mentioned on the download page then there is support.  I'd give it a try.

 

Cheers,

Steven

Link to comment
Share on other sites

  • 0
16 часов назад, philmurp сказал:

 

I am seeing some notes that I need to update U-Boot;

The u-boot update occurs automatically when the official Ubuntu NVIDIA image is launched from the SD card once. No complicated steps are needed with the launch of L4D 4.4 and so on. When you first launch the official NVIDIA Ubuntu image, the u-boot in SPI is updated automatically (you don't need to do anything). After that, you can run any system (including Armbian) from an SD card or USB media.

Link to comment
Share on other sites

  • 0
On 3/24/2022 at 12:23 PM, phelum said:

Hi,

I don't think that Armbian supports the Nano.  I've managed to get my Nano running (except for power-off) with the standard kernels (e.g. 5.16.11) but if you need the Nvidia graphics driver then I think you're stuck with the 4.9.253 kernel supplied by Nvidia.

 

Also, it's not as easy as you might expect to update U-Boot.  I'm assuming you have a Nano developer kit where the board has 4GB flash and an SD-card.  U-Boot does exist on the SD-card but if you reload the relevant partition you'll also need to update the checksum at the start of the partition.  I've tried to work out how to calculate the digest but given up and it seems to be an Nvidia secret.  Regardless of this, the boot code on the card isn't used anyway.  The boot sequence runs tboot, then cboot, then U-Boot.  But all these files are sourced from the 4GB flash rather than the SD-card.  It is possible to write to the flash but again the relevant checksum must be written.  The code to do this is probably buried in some of the Nvidia x86 programs but these are not open-source.

 

Back in the L4T 4.4 days the boot code sourced U-Boot from the SD-card.  But when L4T 4.6 came out the process was changed and U-Boot was added to the flash code and cboot changed to read U-Boot from this flash partition.  So changing U-Boot requires re-flashing the relevant partition.

 

All the above is from my research and might not be correct.  The Nano is quite a powerful little board but unless you need the Nvidia AI specials then maybe it's not worth playing with due to all the Nvidia specials.

 

If anybody here knows the checksum algorithm then please let me know.

 

Cheers,

Steven

 

I haven't tried this myself, but someone made a python script for the signature: https://forums.developer.nvidia.com/t/tegrasign-replacement-for-jetson-nano-for-dtb-file-generation/83076 

This one is specially for DTB, but if I understand it correctly, for U-Boot you'd only need to change the partition "magic", i.e. change DTB to LNX: https://gist.github.com/TIS-Arne/879f47a0310bb46ae426f1b8bb98e5f9#file-mytegrasign-py-L36

 

In L4T 4.6, by default, they put everything to the SPI except rootfs, which is on sdcard. However you're free to pick whatever schema you want (just open the XML files and follow what they're doing), you can even put just u-boot to sdcard.

 

I myself am happy with Nano as SBC (it's more powerful that Raspberry Pi 4, has PCI Express, is quite stable as a home server), though yeah the upstream status is still ongoing. They should release Jetpack 5.0 any day for the other boards, hopefully the GPU driver for 5.10 kernel is going to be more upstream compatible.

Link to comment
Share on other sites

  • 0

Hi balbes150,

 

Wonderful job with the build thank you.

 

However, I seem to be having issues with the temperature / thermal monitoring under Armbian_22.05.0-trunk_Jetson-nano_bullseye_current_5.17.3.img.

 

$ cat /sys/devices/virtual/thermal/thermal_zone0/temp
cat: /sys/devices/virtual/thermal/thermal_zone0/temp: Invalid argument

 

 

Any chance we can get the temperature / thermal monitoring working for the jetson nano?

 

Perhaps you need to add the TEGRA_SOCTHERM kernal config item?

$ zcat /proc/config.gz |grep TEGRA_SOCTHERM
# CONFIG_TEGRA_SOCTHERM is not set

 

Kernel source seems to suggest the Tegra210 is supported with the TEGRA_SOCTHERM driver..

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/thermal/tegra/tegra210-soctherm.c

 

Link to comment
Share on other sites

  • 0
4 minutes ago, paisley said:

Hi balbes150,

 

Wonderful job with the build thank you.

 

However, I seem to be having issues with the temperature / thermal monitoring under Armbian_22.05.0-trunk_Jetson-nano_bullseye_current_5.17.3.img.

 

$ cat /sys/devices/virtual/thermal/thermal_zone0/temp
cat: /sys/devices/virtual/thermal/thermal_zone0/temp: Invalid argument

 

 

Any chance we can get the temperature / thermal monitoring working for the jetson nano?

 

Perhaps you need to add the TEGRA_SOCTHERM kernal config item?

$ zcat /proc/config.gz |grep TEGRA_SOCTHERM
# CONFIG_TEGRA_SOCTHERM is not set

 

Kernel source seems to suggest the Tegra210 is supported with the TEGRA_SOCTHERM driver..

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/thermal/tegra/tegra210-soctherm.c

 

Can you do a test by building your own kernel and let us know if this actually works?

Link to comment
Share on other sites

  • 0

All tested, it works. balbes150 I've raised a PR for your review.

 

Kernel config
CONFIG_TEGRA_SOCTHERM=m

 

Armbianmonitor

 

$ sudo armbianmonitor -m 
Stop monitoring using [ctrl]-[c] 
Time CPU load %cpu %sys %usr %nice %io %irq CPU C.St. 
08:49:54: 510MHz 0.00 0% 0% 0% 0% 0% 0% 34.5°C 0/3

 

Raw temp read
 

$ cat /sys/devices/virtual/thermal/thermal_zone0/type 
cpu-thermal

$ cat /sys/devices/virtual/thermal/thermal_zone0/temp 
34000

 

Link to comment
Share on other sites

  • 0

Jammy image doesn't work properly for my jetson nano b00 revision, serial log is OK, I can access jetson with ssh, but there is no display output. 

So, for jetson nano a02 same sd card works just fine, external monitor turns on and output enviroment. I see here and on nvidia forum people encountered the same issue. And, what the solution for this?

Link to comment
Share on other sites

  • 0
17 часов назад, katty_perry сказал:

And, what the solution for this?

You have several solutions.

1. do everything you need yourself (add\fix support for b00 in the kernel).

2. Contact NVIDIA representatives so that they do everything necessary.

3. Provide yourself or negotiate with NVIDIA so that they provide the necessary equipment\finance to Armbian developers.

Link to comment
Share on other sites

  • 0

does the jetson nano 2gb's hdmi working well? I've got a jetson nano 2gb kit, the Bullseye server version with 5.18.19-media kernel running perfectly except the hdmi output. when i plug the hdmi to a monitor, the monitor does not detected any signal.

 

Quote

seems to be a similar reason

Edited by C0reFast
Link to comment
Share on other sites

  • 0

Hello!!

 

I tried to use the Armbian 22.08 Jammy with and without XFCE in my Jetson Nano B01 without success. I already flash the board with the lastest Jetpack 4.6.1 and everything worked, then I format the SD Card and flash the Armbian image and didn't work. Anyone can help me?

 

Follow the log below

[0000.125] [L4T TegraBoot] (version 00.00.2018.01-l4t-8728f3cb)
[0000.130] Processing in cold boot mode Bootloader 2
[0000.135] A02 Bootrom Patch rev = 1023
[0000.138] Power-up reason: pmc por
[0000.141] No Battery Present
[0000.144] pmic max77620 reset reason
[0000.147] pmic max77620 NVERC : 0x40
[0000.151] RamCode = 0
[0000.153] Platform has DDR4 type RAM
[0000.156] max77620 disabling SD1 Remote Sense
[0000.161] Setting DDR voltage to 1125mv
[0000.165] Serial Number of Pmic Max77663: 0x1f0ce9
[0000.172] Entering ramdump check
[0000.175] Get RamDumpCarveOut = 0x0
[0000.179] RamDumpCarveOut=0x0,  RamDumperFlag=0xe59ff3f8
[0000.184] Last reboot was clean, booting normally!
[0000.188] Sdram initialization is successful
[0000.192] SecureOs Carveout Base=0x00000000ff800000 Size=0x00800000
[0000.199] Lp0 Carveout Base=0x00000000ff780000 Size=0x00001000
[0000.204] BpmpFw Carveout Base=0x00000000ff700000 Size=0x00080000
[0000.210] GSC1 Carveout Base=0x00000000ff600000 Size=0x00100000
[0000.216] GSC2 Carveout Base=0x00000000ff500000 Size=0x00100000
[0000.222] GSC4 Carveout Base=0x00000000ff400000 Size=0x00100000
[0000.228] GSC5 Carveout Base=0x00000000ff300000 Size=0x00100000
[0000.234] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000
[0000.250] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000
[0000.256] Platform-DebugCarveout: 0
[0000.259] Nck Carveout Base=0x00000000ff080000 Size=0x00200000
[0000.265] Non secure mode, and RB not enabled.
[0000.269] BoardID = 3448, SKU = 0x0
[0000.272] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.276] Nano-SD: checking PT table on QSPI ...
[0000.281] Initialize FailControl
[0000.284] Read PT from (2:0)
[0000.314] PT crc32 and magic check passed.
[0000.318] Using BFS PT to query partitions
[0000.324] Loading Tboot-CPU binary
[0000.352] Verifying TBC in OdmNonSecureSBK mode
[0000.362] Bootloader load address is 0xa0000000, entry address is 0xa0000258
[0000.369] Bootloader downloaded successfully.
[0000.373] Downloaded Tboot-CPU binary to 0xa0000258
[0000.378] MAX77620_GPIO5 configured
[0000.381] CPU power rail is up
[0000.384] CPU clock enabled
[0000.388] Performing RAM repair
[0000.391] Updating A64 Warmreset Address to 0xa00002e9
[0000.396] BoardID = 3448, SKU = 0x0
[0000.399] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.403] Nano-SD: checking PT table on QSPI ...
[0000.407] NvTbootFailControlDoFailover: No failover; Continuing ...
[0000.413] Loading NvTbootBootloaderDTB
[0000.480] Verifying NvTbootBootloaderDTB in OdmNonSecureSBK mode
[0000.551] Bootloader DTB Load Address: 0x83000000
[0000.556] BoardID = 3448, SKU = 0x0
[0000.559] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.563] Nano-SD: checking PT table on QSPI ...
[0000.567] NvTbootFailControlDoFailover: No failover; Continuing ...
[0000.574] Loading NvTbootKernelDTB
[0000.640] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode
[0000.711] Kernel DTB Load Address: 0x83100000
[0000.715] BoardID = 3448, SKU = 0x0
[0000.718] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.722] Nano-SD: checking PT table on QSPI ...
[0000.727] NvTbootFailControlDoFailover: No failover; Continuing ...
[0000.734] Loading cboot binary
[0000.850] Verifying EBT in OdmNonSecureSBK mode
[0000.892] Bootloader load address is 0x92c00000, entry address is 0x92c00258
[0000.899] Bootloader downloaded successfully.
[0000.903] BoardID = 3448, SKU = 0x0
[0000.906] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.910] Nano-SD: checking PT table on QSPI ...
[0000.914] NvTbootFailControlDoFailover: No failover; Continuing ...
[0000.921] PT: Partition NCT NOT found !
[0000.924] Warning: Find Partition via PT Failed
[0000.929] Next binary entry address: 0x92c00258
[0000.933] BoardId: 3448
[0000.938] Overriding pmu board id with proc board id
[0000.942] Display board id is not available
[0000.947] BoardID = 3448, SKU = 0x0
[0000.950] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.954] Nano-SD: checking PT table on QSPI ...
[0000.958] NvTbootFailControlDoFailover: No failover; Continuing ...
[0001.065] Verifying SC7EntryFw in OdmNonSecureSBK mode
[0001.121] /bpmp deleted
[0001.123] SC7EntryFw header found loaded at 0xff700000
[0001.311] OVR2 PMIC
[0001.313] Bpmp FW successfully loaded
[0001.316] BoardID = 3448, SKU = 0x0
[0001.320] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0001.323] Nano-SD: checking PT table on QSPI ...
[0001.328] NvTbootFailControlDoFailover: No failover; Continuing ...
[0001.335] WB0 init successfully at 0xff780000
[0001.339] Verifying NvTbootWb0 in OdmNonSecureSBK mode
[0001.344] Set NvDecSticky Bits
[0001.348] GSC2 address ff53fffc value c0edbbcc
[0001.354] GSC MC Settings done
[0001.357] BoardID = 3448, SKU = 0x0
[0001.360] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0001.364] Nano-SD: checking PT table on QSPI ...
[0001.368] NvTbootFailControlDoFailover: No failover; Continuing ...
[0001.375] TOS Image length 53680
[0001.378]  Monitor size 53680
[0001.381]  OS size 0
[0001.396] Secure Os AES-CMAC Verification Success!
[0001.401] TOS image cipher info: plaintext
[0001.405] Loading and Validation of Secure OS Successful
[0001.421] SC7 Entry Firmware - 0xff700000, 0x4000
[0001.425] NvTbootPackSdramParams: start.
[0001.430] NvTbootPackSdramParams: done.
[0001.434] Tegraboot started after 51870 us
[0001.438] Basic modules init took 936032 us
[0001.442] Sec Bootdevice Read Time = 12 ms, Read Size = 61 KB
[0001.448] Sec Bootdevice Write Time = 0 ms, Write Size = 0 KB
[0001.453] Next stage binary read took 102860 us
[0001.458] Carveout took -132464 us
[0001.461] CPU initialization took 510778 us
[0001.465] Total time taken by TegraBoot 1417206 us

[0001.470] Starting CPU & Halting co-processor

64NOTICE:  BL31: v1.3(release):b5eeb33
NOTICE:  BL31: Built : 08:56:32, Feb 19 2022
ERROR:   Error initializing runtime service trusty_fast
[0001.591] RamCode = 0
[0001.596] LPDDR4 Training: Read DT: Number of tables = 2
[0001.601] EMC Training (SRC-freq: 204000; DST-freq: 1600000)
[0001.614] EMC Training Successful
[0001.617] 408000 not found in DVFS table
[0001.623] RamCode = 0
[0001.627] DT Write: emc-table@204000 succeeded
[0001.632] DT Write: emc-table@1600000 succeeded
[0001.636] LPDDR4 Training: Write DT: Number of tables = 2
[0001.685]
[0001.686] Debug Init done
[0001.688] Marked DTB cacheable
[0001.691] Bootloader DTB loaded at 0x83000000
[0001.696] Marked DTB cacheable
[0001.699] Kernel DTB loaded at 0x83100000
[0001.703] DeviceTree Init done
[0001.716] Pinmux applied successfully
[0001.720] gicd_base: 0x50041000
[0001.724] gicc_base: 0x50042000
[0001.727] Interrupts Init done
[0001.731] Using base:0x60005090 & irq:208 for tick-timer
[0001.736] Using base:0x60005098 for delay-timer
[0001.740] platform_init_timer: DONE
[0001.744] Timer(tick) Init done
[0001.748] osc freq = 38400 khz
[0001.752]
[0001.753] Welcome to L4T Cboot
[0001.756]
[0001.757] Cboot Version: 00.00.2018.01-t210-a2f2e4b8
[0001.762] calling constructors
[0001.765] initializing heap
[0001.767] initializing threads
[0001.770] initializing timers
[0001.773] creating bootstrap completion thread
[0001.778] top of bootstrap2()
[0001.780] CPU: ARM Cortex A57
[0001.783] CPU: MIDR: 0x411FD071, MPIDR: 0x80000000
[0001.788] initializing platform
[0001.795] Manufacturer: MF = 0xc2, ID MSB = 0x25
[0001.800] ID LSB = 0x36, ID-CFI len = 194 bytes
[0001.804] Macronix QSPI chip present
[0001.808] SPI device register
[0001.811] init boot device
[0001.813] allocating memory for boot device(SPI)
[0001.818] registering boot device
[0001.826] QSPI bdev is already initialized
[0001.830] Enable APE clock
[0001.833] Un-powergate APE partition
[0001.836] of_register: registering tegra_udc to of_hal
[0001.841] of_register: registering inv20628-driver to of_hal
[0001.847] of_register: registering ads1015-driver to of_hal
[0001.853] of_register: registering lp8557-bl-driver to of_hal
[0001.858] of_register: registering bq2419x_charger to of_hal
[0001.864] of_register: registering bq27441_fuel_gauge to of_hal
[0001.875] gpio framework initialized
[0001.879] of_register: registering tca9539_gpio to of_hal
[0001.884] of_register: registering tca9539_gpio to of_hal
[0001.890] of_register: registering i2c_bus_driver to of_hal
[0001.895] of_register: registering i2c_bus_driver to of_hal
[0001.901] of_register: registering i2c_bus_driver to of_hal
[0001.906] pmic framework initialized
[0001.910] of_register: registering max77620_pmic to of_hal
[0001.915] regulator framework initialized
[0001.919] of_register: registering tps65132_bl_driver to of_hal
[0001.925] initializing target
[0001.931] gpio_driver_register: register 'tegra_gpio_driver' driver
[0001.939] board ID = D78, board SKU = 0
[0001.943] Skipping Z3!
[0001.947] fixed regulator driver initialized
[0001.965] initializing OF layer
[0001.968] NCK carveout not present
[0001.972] Skipping dts_overrides
[0001.976] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.992] I2C Bus Init done
[0001.995] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.005] I2C Bus Init done
[0002.008] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.018] I2C Bus Init done
[0002.021] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.031] I2C Bus Init done
[0002.034] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.044] I2C Bus Init done
[0002.047] of_children_init: Ops found for compatible string maxim,max77620
[0002.057] max77620_init using irq 118
[0002.062] register 'maxim,max77620' pmic
[0002.066] gpio_driver_register: register 'max77620-gpio' driver
[0002.072] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.083] I2C Bus Init done
[0002.087] NCK carveout not present
[0002.096] Find /i2c@7000c000's alias i2c0
[0002.100] get eeprom at 1-a0, size 256, type 0
[0002.109] Find /i2c@7000c500's alias i2c2
[0002.112] get eeprom at 3-a0, size 256, type 0
[0002.117] get eeprom at 3-ae, size 256, type 0
[0002.121] pm_ids_update: Updating 1,a0, size 256, type 0
[0002.127] I2C slave not started
[0002.130] I2C write failed
[0002.132] Writing offset failed
[0002.135] eeprom_init: EEPROM read failed
[0002.139] pm_ids_update: eeprom init failed
[0002.143] pm_ids_update: Updating 3,a0, size 256, type 0
[0002.173] pm_ids_update: The pm board id is 3448-0000-400
[0002.180] Adding plugin-manager/ids/3448-0000-400=/i2c@7000c500:module@0x50
[0002.189] pm_ids_update: pm id update successful
[0002.193] pm_ids_update: Updating 3,ae, size 256, type 0
[0002.223] pm_ids_update: The pm board id is 3449-0000-400
[0002.229] Adding plugin-manager/ids/3449-0000-400=/i2c@7000c500:module@0x57
[0002.237] pm_ids_update: pm id update successful
[0002.268] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0002.273] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB
[0002.281] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0002.287] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB
[0002.296] updating /chosen/nvidia,ethernet-mac node 00:04:4b:ea:fd:e1
[0002.302] Plugin Manager: Parse ODM data 0x000a4000
[0002.314] shim_cmdline_install: /chosen/bootargs: earlycon=uart8250,mmio32,0x70
[0002.329] Find /i2c@7000c000's alias i2c0
[0002.333] get eeprom at 1-a0, size 256, type 0
[0002.341] Find /i2c@7000c500's alias i2c2
[0002.345] get eeprom at 3-a0, size 256, type 0
[0002.350] get eeprom at 3-ae, size 256, type 0
[0002.354] pm_ids_update: Updating 1,a0, size 256, type 0
[0002.359] I2C slave not started
[0002.362] I2C write failed
[0002.365] Writing offset failed
[0002.368] eeprom_init: EEPROM read failed
[0002.372] pm_ids_update: eeprom init failed
[0002.376] pm_ids_update: Updating 3,a0, size 256, type 0
[0002.406] pm_ids_update: The pm board id is 3448-0000-400
[0002.412] Adding plugin-manager/ids/3448-0000-400=/i2c@7000c500:module@0x50
[0002.419] pm_ids_update: pm id update successful
[0002.424] pm_ids_update: Updating 3,ae, size 256, type 0
[0002.454] pm_ids_update: The pm board id is 3449-0000-400
[0002.460] Adding plugin-manager/ids/3449-0000-400=/i2c@7000c500:module@0x57
[0002.467] pm_ids_update: pm id update successful
[0002.497] Add serial number:1420121085770 as DT property
[0002.505] Applying platform configs
[0002.512] platform-init is not present. Skipping
[0002.516] calling apps_init()
[0002.522] Couldn't find GPT header
[0002.527] Proceeding to Cold Boot
[0002.530] starting app android_boot_app
[0002.534] Device state: unlocked
[0002.537] display console init
[0002.545] could not find regulator
[0002.548] hdmi cable connected
[0002.564] edid read success
[0002.579] edid read success
[0002.582] width DT entry for leds-pwm not found
=[0002.589]  640, height = 480, frequency = 25174825
[0002.594] width = 640, height = 480, frequency = 25174825
[0002.600] width = 640, height = 480, frequency = 25174825
[0002.605] width = 640, height = 480, frequency = 25174825
[0002.610] width = 2560, height = 1440, frequency = 580080000
[0002.616] width = 2560, height = 1440, frequency = 241500000
[0002.622] width = 1920, height = 1080, frequency = 148351648
[0002.627] width = 1920, height = 1080, frequency = 148351648
[0002.633] width = 1280, height = 720, frequency = 74175824
[0002.638] Best mode Width = 1920, Height = 1080, freq = 148351648
[0002.646] tmds-config node not found
[0002.650] pmc_set_io_pad_voltage: Error -2 retrieving platform-io-pad-voltagepr
[0002.665] setting 'vdd-1v8' regulator to 1800000 micro volts
[0002.673] could not find regulator
[0002.676] could not find regulator
[0002.679] could not find regulator
[0002.708] using default cmu settings
[0002.711] dc_hdmi_enable, starting HDMI initialisation
[0002.717] dc_hdmi_enable, HDMI initialisation complete
[0002.722] list and configure display window
[0002.731] display console init completed
[0002.742] subnode volume_up is not found !
[0002.746] subnode back is not found !
[0002.750] subnode volume_down is not found !
[0002.754] subnode menu is not found !
[0002.757] Gpio keyboard init success
[0002.838] found decompressor handler: lz4-legacy
[0002.852] decompressing blob (type 1)...
[0002.922] load_bmp_blob: panelresolution=1080 type=3
[0002.927] -------> se_aes_verify_sbk_clear: 747
[0002.932] se_aes_verify_sbk_clear: Error
[0002.935] SE operation failed
[0002.938] bl_battery_charging: connected to external power supply
[0002.950] device_query_partition_size: failed to open partition spiflash0:MSC !
[0002.958] MSC Partition not found
[0002.964] device_query_partition_size: failed to open partition spiflash0:USP !
[0002.971] USP partition read failed!
[0002.975] blob_init: blob-partition USP header read failed
[0002.980] android_boot Unable to update recovery partition
[0002.986] kfs_getpartname: name = LNX
[0002.989] Loading kernel from LNX
[0002.999] Found 19 BFS partitions in "spiflash0"
[0003.321] load kernel from storage
[0003.326] decompressor handler not found
[0003.592] Successfully loaded kernel and ramdisk images
[0003.598] board ID = D78, board SKU = 0
[0003.602] sdmmc node status = okay
[0003.606] sdcard instance = 0
[0003.608] sdmmc cd-inverted
[0003.611] sdcard gpio handle 0x5b
[0003.614] sdcard gpio pin 0xc9
[0003.617] sdcard gpio flags 0x0
[0003.620] vmmc-supply 0x9d
[0003.623] cd_gpio_pin = 201
[0003.626] pin_state = 0
[0003.628] Found sdcard
[0003.630] SD-card IS present ...
[0003.633] load_and_boot_kernel: SD card detected OK
[0003.639] load_bmp_blob: panelresolution=1080 type=3
[0004.133] display bmp image done
[0004.136] NCK carveout not present
[0004.140] Skipping dts_overrides
[0004.143] NCK carveout not present
[0004.152] Find /i2c@7000c000's alias i2c0
[0004.156] get eeprom at 1-a0, size 256, type 0
[0004.165] Find /i2c@7000c500's alias i2c2
[0004.169] get eeprom at 3-a0, size 256, type 0
[0004.173] get eeprom at 3-ae, size 256, type 0
[0004.178] pm_ids_update: Updating 1,a0, size 256, type 0
[0004.183] I2C slave not started
[0004.186] I2C write failed
[0004.188] Writing offset failed
[0004.191] eeprom_init: EEPROM read failed
[0004.195] pm_ids_update: eeprom init failed
[0004.200] pm_ids_update: Updating 3,a0, size 256, type 0
[0004.230] pm_ids_update: The pm board id is 3448-0000-400
[0004.236] Adding plugin-manager/ids/3448-0000-400=/i2c@7000c500:module@0x50
[0004.245] pm_ids_update: pm id update successful
[0004.249] pm_ids_update: Updating 3,ae, size 256, type 0
[0004.280] pm_ids_update: The pm board id is 3449-0000-400
[0004.286] Adding plugin-manager/ids/3449-0000-400=/i2c@7000c500:module@0x57
[0004.294] pm_ids_update: pm id update successful
[0004.324] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0004.330] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB
[0004.338] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0004.344] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB
[0004.352] updating /chosen/nvidia,ethernet-mac node 00:04:4b:ea:fd:e1
[0004.358] Plugin Manager: Parse ODM data 0x000a4000
[0004.371] shim_cmdline_install: /chosen/bootargs: earlycon=uart8250,mmio32,0x70
[0004.379] Add serial number:1420121085770 as DT property
[0004.388] "bpmp" doesn't exist, creating
[0004.393] Updated bpmp info to DTB
[0004.398] Updated initrd info to DTB
[0004.402] "proc-board" doesn't exist, creating
[0004.408] Updated board info to DTB
[0004.411] "pmu-board" doesn't exist, creating
[0004.417] Updated board info to DTB
[0004.420] "display-board" doesn't exist, creating
[0004.426] Updated board info to DTB
[0004.430] "reset" doesn't exist, creating
[0004.434] Updated reset info to DTB
[0004.438] Cmdline: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=port,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=
[0004.477] DTB cmdline: earlycon=uart8250,mmio32,0x70006000
[0004.483] boot image cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 c
[0004.495] Updated bootarg info to DTB
[0004.499] Adding uuid 0000000164510647100000000f040400 to DT
[0004.505] Adding eks info 0 to DT
[0004.511] WARNING: Failed to pass NS DRAM ranges to TOS, err: -7
[0004.517] Updated memory info to DTB
[0004.524] set vdd_core voltage to 1075 mv
[0004.528] setting 'vdd-core' regulator to 1075000 micro volts
[0004.534] Found secure-pmc; disable BPMP


U-Boot 2020.04-g4335beb (Feb 19 2022 - 08:56:35 -0800)

SoC: tegra210
Model: NVIDIA Jetson Nano Developer Kit
Board: NVIDIA P3450-0000
DRAM:  4 GiB
MMC:   sdhci@700b0000: 1, sdhci@700b0600: 0
Loading Environment from SPI Flash... SF: Detected mx25u3235f with page size 256
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Card did not respond to voltage select!
Card did not respond to voltage select!
starting USB...
Bus usb@7d000000: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1
Bus xusb@70090000: Loading XUSB FW blob from RP4 partition ...
SF: Detected mx25u3235f with page size 256 Bytes, erase size 4 KiB, total 4 MiB

Firmware size 126464
Firmware timestamp: 0x5f23e558, Version: 50.26 release

Register HCSParams1: 9000124 NbrPorts: 9
Starting the controller
USB XHCI 1.00
scanning bus xusb@70090000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device

Device 0: unknown device

Warning: eth_rtl8169 using MAC address from ROM
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9

Abort
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-00-04-4b-ea-fd-e1
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-tegra210-p3450-0000
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-tegra210
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
*** ERROR: `serverip' not set
Config file not found
Tegra210 (P3450-0000) # <INTERRUPT>
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) #

 

Thanks in advance!!

 

Link to comment
Share on other sites

  • 0
12 часов назад, syntx сказал:

then I format the SD Card and flash the Armbian image and didn't work. Anyone can help me?

There is no access to the SD card in the log. Either the image was recorded incorrectly, or there are problems with the Sd card\card reader. Try to write the image to a USB flash drive and try starting from it (there is an appeal to USB in the logs).

Link to comment
Share on other sites

  • 0

Hi balbes150

 

It appears the PWM Fan support stopped working for Jetson Nano builds based on current (5.19.16-media) and edge (6.0.2-media) kernels.

 

I have tested a patch for both current (5.19.16-media) and edge (6.0.2-media), and raised a PR to fix this.

Link to comment
Share on other sites

  • 0

I fully admit i don't completely understand all the boot mechanisms going on here, especially with the changes NVIDIA made, so please be kind :)

 

Since this worked fine on a A01Nano i had ( accepting current GPU/etc limitations, but it boots and was pleased  :) ) , i thought id try it on my NX. The NX has that UEFI boot loader thing NVIDIA changed to, updated to most current version.  Set to boot to M.2 and was working fine with their Ubuntu garba... err stuff.

 

So for fun i put the latest Sid image on to another m.2 and powered up, and to my surprise it tried.

  • Got past "loading Linux 6.1.6-media, and then to the initial ram disk.
  • After that i got the Armbian splash ( i did not expect to get that far ) and it loaded the kernel, said using "UTB from config table"...
  • Then "exiting boot services."

Dropping to a grub prompt instead of letting it try to boot worked as expected.

And again, my limited knowledge of how these things work, it sounds like just a partition table issue for me to sort out, and things like the device tree/etc are already good enough?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines