How to update U-boot if board cannot switch in recovery mode

Hi.
I by mistake setup sd card with latest image for Jetson Nano 2 GB and run it on 4GB Jetson Nano. After reboot device cannot boot

I can connect thru tty, here is boot log:

    SoC: tegra210
    Model: NVIDIA Jetson Nano 2GB Developer Kit
    Board: NVIDIA P3541-0000
    DRAM:  4 GiB
    MMC:   sdhci@700b0000: 1, sdhci@700b0600: 0
    Loading Environment from SPI Flash... SF: Detected mx25u3235f with page size 256 Bytes, erase size 4 KiB, 
    total 4 MiB
    OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc1 is current device
    Scanning mmc 1:1...
    Found /boot/extlinux/extlinux.conf
    Retrieving file: /boot/extlinux/extlinux.conf
    845 bytes read in 25 ms (32.2 KiB/s)
    1:      primary kernel
    Retrieving file: /boot/initrd
    7159841 bytes read in 328 ms (20.8 MiB/s)
    Retrieving file: /boot/Image
    34338824 bytes read in 1501 ms (21.8 MiB/s)
    append: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,1152 
    ## Flattened Device Tree blob at 83100000
    Booting using the fdt blob at 0x83100000
    ERROR: reserving fdt memory region failed (addr=0 size=0)
    ERROR: reserving fdt memory region failed (addr=0 size=0)
    Using Device Tree in place at 0000000083100000, end 00000000831843cf
    copying carveout for /host1x@50000000/dc@54200000...
    copying carveout for /host1x@50000000/dc@54240000...

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.9.201-tegra (buildbrain@mobile-u64-5294-d8000) (gcc version 7.3.1 20180425
    [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) )1
    [    0.000000] Boot CPU: AArch64 Processor [411fd071]
    [    0.000000] OF: fdt:memory scan node memory@80000000, reg size 32,
    [    0.000000] OF: fdt: - 80000000 ,  7ee00000
    [    0.000000] OF: fdt: - 100000000 ,  7f200000
    [    0.000000] earlycon: uart8250 at MMIO32 0x0000000070006000 (options '')
    [    0.000000] bootconsole [uart8250] enabled

When I try to run device in recovery mode using buttons it stuck, same if i try to start recovery mode thru tty:

Tegra210 (P3541-0000) # enterrcm
Entering RCM...

Is here any chance to recover this board?

Here is complete boot log:

[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: 0x3225e5
[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] Read PT from (2:0)
[0000.296] Using BFS PT to query partitions 
[0000.302] Loading Tboot-CPU binary
[0000.330] Verifying TBC in OdmNonSecureSBK mode
[0000.340] Bootloader load address is 0xa0000000, entry address is 0xa0000258
[0000.347] Bootloader downloaded successfully.
[0000.351] Downloaded Tboot-CPU binary to 0xa0000258
[0000.356] MAX77620_GPIO5 configured
[0000.359] CPU power rail is up
[0000.362] CPU clock enabled
[0000.366] Performing RAM repair
[0000.369] Updating A64 Warmreset Address to 0xa00002e9
[0000.374] BoardID = 3448, SKU = 0x0
[0000.377] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.381] Nano-SD: checking PT table on QSPI ...
[0000.385] Loading NvTbootBootloaderDTB
[0000.452] Verifying NvTbootBootloaderDTB in OdmNonSecureSBK mode
[0000.532] Bootloader DTB Load Address: 0x83000000
[0000.536] BoardID = 3448, SKU = 0x0
[0000.540] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.543] Nano-SD: checking PT table on QSPI ...
[0000.548] Loading NvTbootKernelDTB
[0000.614] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode
[0000.693] Kernel DTB Load Address: 0x83100000
[0000.698] BoardID = 3448, SKU = 0x0
[0000.701] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.705] Nano-SD: checking PT table on QSPI ...
[0000.711] Loading cboot binary
[0000.827] Verifying EBT in OdmNonSecureSBK mode
[0000.868] Bootloader load address is 0x92c00000, entry address is 0x92c00258
[0000.875] Bootloader downloaded successfully.
[0000.880] BoardID = 3448, SKU = 0x0
[0000.883] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.887] Nano-SD: checking PT table on QSPI ...
[0000.891] PT: Partition NCT NOT found ! 
[0000.895] Warning: Find Partition via PT Failed
[0000.899] Next binary entry address: 0x92c00258 
[0000.904] BoardId: 3448
[0000.908] Overriding pmu board id with proc board id
[0000.913] Display board id is not available 
[0000.917] BoardID = 3448, SKU = 0x0
[0000.921] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0000.924] Nano-SD: checking PT table on QSPI ...
[0001.029] Verifying SC7EntryFw in OdmNonSecureSBK mode
[0001.089] /bpmp deleted
[0001.091] SC7EntryFw header found loaded at 0xff700000
[0001.286] OVR2 PMIC
[0001.288] Bpmp FW successfully loaded
[0001.292] BoardID = 3448, SKU = 0x0
[0001.295] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0001.299] Nano-SD: checking PT table on QSPI ...
[0001.304] WB0 init successfully at 0xff780000
[0001.308] Set NvDecSticky Bits
[0001.312] GSC2 address ff53fffc value c0edbbcc
[0001.318] GSC MC Settings done
[0001.321] BoardID = 3448, SKU = 0x0
[0001.324] QSPI-ONLY: SkipQspiOnlyFlag = 0
[0001.328] Nano-SD: checking PT table on QSPI ...
[0001.334] TOS Image length 53680
[0001.337]  Monitor size 53680
[0001.339]  OS size 0
[0001.355] Secure Os AES-CMAC Verification Success!
[0001.359] TOS image cipher info: plaintext
[0001.363] Loading and Validation of Secure OS Successful
[0001.379] SC7 Entry Firmware - 0xff700000, 0x4000
[0001.384] NvTbootPackSdramParams: start. 
[0001.389] NvTbootPackSdramParams: done. 
[0001.392] Tegraboot started after 51831 us
[0001.396] Basic modules init took 900004 us
[0001.400] Sec Bootdevice Read Time = 12 ms, Read Size = 61 KB
[0001.406] Sec Bootdevice Write Time = 0 ms, Write Size = 0 KB
[0001.411] Next stage binary read took 102861 us
[0001.416] Carveout took -126356 us
[0001.419] CPU initialization took 497941 us
[0001.423] Total time taken by TegraBoot 1374450 us

[0001.428] Starting CPU & Halting co-processor 

64NOTICE:  BL31: v1.3(release):5b49e7f80
NOTICE:  BL31: Built : 08:37:40, Feb 19 2021
ERROR:   Error initializing runtime service trusty_fast
[0001.550] RamCode = 0
[0001.552] get_emc_table_offset: Can't find emc-table node
[0001.557] LPDDR4 Training: Can't find emc-table node
[0001.603] 
[0001.604] Debug Init done
[0001.607] Marked DTB cacheable
[0001.610] Bootloader DTB loaded at 0x83000000
[0001.614] Marked DTB cacheable
[0001.617] Kernel DTB loaded at 0x83100000
[0001.621] DeviceTree Init done
[0001.634] Pinmux applied successfully
[0001.639] gicd_base: 0x50041000
[0001.642] gicc_base: 0x50042000
[0001.645] Interrupts Init done
[0001.649] Using base:0x60005090 & irq:208 for tick-timer
[0001.654] Using base:0x60005098 for delay-timer
[0001.659] platform_init_timer: DONE
[0001.662] Timer(tick) Init done
[0001.666] osc freq = 38400 khz
[0001.670] 
[0001.671] Welcome to L4T Cboot
[0001.674] 
[0001.675] Cboot Version: 00.00.2018.01-t210-39562017
[0001.680] calling constructors
[0001.683] initializing heap
[0001.686] initializing threads
[0001.689] initializing timers
[0001.691] creating bootstrap completion thread
[0001.696] top of bootstrap2()
[0001.699] CPU: ARM Cortex A57
[0001.702] CPU: MIDR: 0x411FD071, MPIDR: 0x80000000
[0001.706] initializing platform
[0001.714] Manufacturer: MF = 0xc2, ID MSB = 0x25
[0001.718] ID LSB = 0x36, ID-CFI len = 194 bytes
[0001.723] Macronix QSPI chip present
[0001.726] SPI device register
[0001.729] init boot device
[0001.732] allocating memory for boot device(SPI)
[0001.736] registering boot device
[0001.745] QSPI bdev is already initialized
[0001.749] Enable APE clock
[0001.751] Un-powergate APE partition
[0001.755] of_register: registering tegra_udc to of_hal
[0001.760] of_register: registering inv20628-driver to of_hal
[0001.766] of_register: registering ads1015-driver to of_hal
[0001.771] of_register: registering lp8557-bl-driver to of_hal
[0001.777] of_register: registering bq2419x_charger to of_hal
[0001.783] of_register: registering bq27441_fuel_gauge to of_hal
[0001.794] gpio framework initialized
[0001.798] of_register: registering tca9539_gpio to of_hal
[0001.803] of_register: registering tca9539_gpio to of_hal
[0001.808] of_register: registering i2c_bus_driver to of_hal
[0001.814] of_register: registering i2c_bus_driver to of_hal
[0001.819] of_register: registering i2c_bus_driver to of_hal
[0001.825] pmic framework initialized
[0001.828] of_register: registering max77620_pmic to of_hal
[0001.834] regulator framework initialized
[0001.838] of_register: registering tps65132_bl_driver to of_hal
[0001.844] initializing target
[0001.850] gpio_driver_register: register 'tegra_gpio_driver' driver
[0001.858] board ID = D78, board SKU = 0
[0001.861] Skipping Z3!
[0001.866] fixed regulator driver initialized
[0001.885] initializing OF layer
[0001.888] NCK carveout not present
[0001.891] Skipping dts_overrides
[0001.896] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.913] I2C Bus Init done
[0001.915] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.926] I2C Bus Init done
[0001.928] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.939] I2C Bus Init done
[0001.941] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.952] I2C Bus Init done
[0001.954] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.965] I2C Bus Init done
[0001.967] of_children_init: Ops found for compatible string maxim,max77620
[0001.978] max77620_init using irq 118
[0001.983] register 'maxim,max77620' pmic
[0001.987] gpio_driver_register: register 'max77620-gpio' driver
[0001.993] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.004] I2C Bus Init done
[0002.007] NCK carveout not present
[0002.017] Find /i2c@7000c000's alias i2c0
[0002.021] get eeprom at 1-a0, size 256, type 0
[0002.030] Find /i2c@7000c500's alias i2c2
[0002.034] get eeprom at 3-a0, size 256, type 0
[0002.038] get eeprom at 3-ae, size 256, type 0
[0002.043] pm_ids_update: Updating 1,a0, size 256, type 0
[0002.048] I2C slave not started
[0002.051] I2C write failed
[0002.054] Writing offset failed
[0002.057] eeprom_init: EEPROM read failed
[0002.061] pm_ids_update: eeprom init failed
[0002.065] pm_ids_update: Updating 3,a0, size 256, type 0
[0002.095] pm_ids_update: The pm board id is 3448-0000-400
[0002.102] Adding plugin-manager/ids/3448-0000-400=/i2c@7000c500:module@0x50
[0002.110] pm_ids_update: pm id update successful
[0002.115] pm_ids_update: Updating 3,ae, size 256, type 0
[0002.145] pm_ids_update: The pm board id is 3449-0000-400
[0002.151] Adding plugin-manager/ids/3449-0000-400=/i2c@7000c500:module@0x57
[0002.159] pm_ids_update: pm id update successful
[0002.190] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0002.195] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB
[0002.203] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0002.209] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB
[0002.217] updating /chosen/nvidia,ethernet-mac node 00:04:4b:eb:c3:bf
[0002.224] Plugin Manager: Parse ODM data 0x000a4000
[0002.237] shim_cmdline_install: /chosen/bootargs: earlycon=uart8250,mmio32,0x70006000 
[0002.252] Find /i2c@7000c000's alias i2c0
[0002.256] get eeprom at 1-a0, size 256, type 0
[0002.265] Find /i2c@7000c500's alias i2c2
[0002.269] get eeprom at 3-a0, size 256, type 0
[0002.273] get eeprom at 3-ae, size 256, type 0
[0002.277] pm_ids_update: Updating 1,a0, size 256, type 0
[0002.283] I2C slave not started
[0002.286] I2C write failed
[0002.288] Writing offset failed
[0002.291] eeprom_init: EEPROM read failed
[0002.295] pm_ids_update: eeprom init failed
[0002.299] pm_ids_update: Updating 3,a0, size 256, type 0
[0002.330] pm_ids_update: The pm board id is 3448-0000-400
[0002.336] Adding plugin-manager/ids/3448-0000-400=/i2c@7000c500:module@0x50
[0002.343] pm_ids_update: pm id update successful
[0002.347] pm_ids_update: Updating 3,ae, size 256, type 0
[0002.377] pm_ids_update: The pm board id is 3449-0000-400
[0002.384] Adding plugin-manager/ids/3449-0000-400=/i2c@7000c500:module@0x57
[0002.391] pm_ids_update: pm id update successful
[0002.421] Add serial number:1423019048008 as DT property
[0002.429] Applying platform configs
[0002.436] platform-init is not present. Skipping
[0002.440] calling apps_init()
[0002.446] Couldn't find GPT header
[0002.450] Proceeding to Cold Boot
[0002.454] starting app android_boot_app
[0002.457] Device state: unlocked
[0002.461] display console init
[0002.469] could not find regulator
[0002.492] hdmi cable not connected
[0002.495] is_hdmi_needed: HDMI not connected, returning false
[000[0002.505] DT entry for leds-pwm not found
2.501] hdmi is not connected
[0002.512] sor0 is not supported
[0002.515] display_console_init: no valid display out_type
[0002.523] subnode volume_up is not found !
[0002.527] subnode back is not found !
[0002.530] subnode volume_down is not found !
[0002.534] subnode menu is not found !
[0002.538] Gpio keyboard init success
[0002.619] found decompressor handler: lz4-legacy
[0002.633] decompressing blob (type 1)...
[0002.699] display_resolution: No display init
[0002.704] Failed to retrieve display resolution
[0002.708] Could not load/initialize BMP blob...ignoring
[0002.783] decompressor handler not found
[0002.787] load_firmware_blob: Firmware blob loaded, entries=2
[0002.792] XUSB blob version 0 size 124416 @ 0x92ca828c
[0002.799] -------> se_aes_verify_sbk_clear: 747
[0002.803] se_aes_verify_sbk_clear: Error
[0002.807] SE operation failed
[0002.810] bl_battery_charging: connected to external power supply
[0002.819] display_console_ioctl: No display init
[0002.823] switch_backlight failed
[0002.830] device_query_partition_size: failed to open partition spiflash0:MSC !
[0002.837] MSC Partition not found
[0002.843] device_query_partition_size: failed to open partition spiflash0:USP !
[0002.850] USP partition read failed!
[0002.854] blob_init: blob-partition USP header read failed
[0002.859] android_boot Unable to update recovery partition
[0002.865] kfs_getpartname: name = LNX
[0002.868] Loading kernel from LNX
[0002.878] Found 19 BFS partitions in "spiflash0"
[0003.195] load kernel from storage
[0003.200] decompressor handler not found
[0003.463] Successfully loaded kernel and ramdisk images
[0003.468] board ID = D78, board SKU = 0
[0003.473] sdmmc node status = okay
[0003.476] sdcard instance = 0
[0003.479] sdcard gpio handle 0x5a
[0003.482] sdcard gpio pin 0xc9
[0003.485] sdcard gpio flags 0x0
[0003.488] vmmc-supply 0x9d
[0003.491] cd_gpio_pin = 201
[0003.494] pin_state = 0
[0003.496] Found sdcard
[0003.498] SD-card IS present ...
[0003.501] load_and_boot_kernel: SD card detected OK
[0003.507] display_resolution: No display init
[0003.511] Failed to retrieve display resolution
[0003.516] bmp blob is not loaded and initialized
[0003.520] Failed to display boot-logo
[0003.524] NCK carveout not present
[0003.527] Skipping dts_overrides
[0003.530] NCK carveout not present
[0003.540] Find /i2c@7000c000's alias i2c0
[0003.544] get eeprom at 1-a0, size 256, type 0
[0003.553] Find /i2c@7000c500's alias i2c2
[0003.557] get eeprom at 3-a0, size 256, type 0
[0003.561] get eeprom at 3-ae, size 256, type 0
[0003.566] pm_ids_update: Updating 1,a0, size 256, type 0
[0003.571] I2C slave not started
[0003.574] I2C write failed
[0003.577] Writing offset failed
[0003.580] eeprom_init: EEPROM read failed
[0003.584] pm_ids_update: eeprom init failed
[0003.588] pm_ids_update: Updating 3,a0, size 256, type 0
[0003.618] pm_ids_update: The pm board id is 3448-0000-400
[0003.625] Adding plugin-manager/ids/3448-0000-400=/i2c@7000c500:module@0x50
[0003.633] pm_ids_update: pm id update successful
[0003.638] pm_ids_update: Updating 3,ae, size 256, type 0
[0003.668] pm_ids_update: The pm board id is 3449-0000-400
[0003.674] Adding plugin-manager/ids/3449-0000-400=/i2c@7000c500:module@0x57
[0003.682] pm_ids_update: pm id update successful
[0003.713] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0003.718] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB
[0003.726] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0003.732] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB
[0003.740] updating /chosen/nvidia,ethernet-mac node 00:04:4b:eb:c3:bf
[0003.747] Plugin Manager: Parse ODM data 0x000a4000
[0003.760] shim_cmdline_install: /chosen/bootargs: earlycon=uart8250,mmio32,0x70006000 
[0003.768] Add serial number:1423019048008 as DT property
[0003.778] "bpmp" doesn't exist, creating 
[0003.783] Updated bpmp info to DTB
[0003.788] Updated initrd info to DTB
[0003.792] "proc-board" doesn't exist, creating 
[0003.798] Updated board info to DTB
[0003.801] "pmu-board" doesn't exist, creating 
[0003.807] Updated board info to DTB
[0003.811] "display-board" doesn't exist, creating 
[0003.817] Updated board info to DTB
[0003.820] "reset" doesn't exist, creating 
[0003.825] Updated reset info to DTB
[0003.828] display_console_ioctl: No display init
[0003.833] display_console_ioctl: No display init
[0003.837] display_console_ioctl: No display init
[0003.842] Cmdline: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 consol 
[0003.876] DTB cmdline: earlycon=uart8250,mmio32,0x70006000 
[0003.882] boot image cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 
[0003.895] Updated bootarg info to DTB
[0003.899] Adding uuid 00000001644568050c00000014080300 to DT
[0003.905] Adding eks info 0 to DT
[0003.911] WARNING: Failed to pass NS DRAM ranges to TOS, err: -7
[0003.916] Updated memory info to DTB
[0003.924] set vdd_core voltage to 1125 mv
[0003.928] setting 'vdd-core' regulator to 1125000 micro volts
[0003.934] Found secure-pmc; disable BPMP


U-Boot 2020.04-g6b630d64fd (Feb 19 2021 - 08:37:45 -0800)

SoC: tegra210
Model: NVIDIA Jetson Nano 2GB Developer Kit
Board: NVIDIA P3541-0000
DRAM:  4 GiB
MMC:   sdhci@700b0000: 1, sdhci@700b0600: 0
Loading Environment from SPI Flash... SF: Detected mx25u3235f with page size 256 Bytes, erase size 4 KiB, total 4 MiB
OK
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
Tegra210 (P3541-0000) #```

Hello,

I don’t get the problem here. How do you know the recovery mode is “stuck” when you use the button?

FYI, that log shows actual boot into U-Boot, and then dropping into U-Boot command line. If there is a stray serial console keystroke at the wrong moment during U-Boot, then it does this. If that log you added is correct, then very likely the hardware is functioning as expected. U-Boot did not complete boot, but that could have been either because (A) serial console sent a keystroke, or (B) other boot issues would have stopped there anyway.

NOTE: You are correct if you are saying this is not recovery mode. However, to get where it is more hardware has to function than if you were in recovery mode. Maybe the button itself failed, but most everything else is working.

@WayneWWW
I think that recovery mode “stuck” because SDK Manager and flash.sh doesn’t see that device in recovery mode,
Also host linux computer doesn’t see Jetson connected
When I run enterrcm thru microcom tty, it shows “Entering RCM…” and nothing changes 5-10 min.

Also I see that green led on Jetson and on UART-to-USB adapter are blinking very fast and nothing changes, like device jumps in a infinite loop.

@linuxdev Is it possible that board firmware has wrong configuration, it shown on logs as Jetson Nano 2 GB

SoC: tegra210
Model: NVIDIA Jetson Nano 2GB Developer Kit
Board: NVIDIA P3541-0000
DRAM:  4 GiB
MMC:   sdhci@700b0000: 1, sdhci@700b0600: 0

But I have Jetson Nano Dev Kit B01
Is it possible that it starts U-Boot, and boot image cannot proceed because see wrong board version ?

Is there any change to re-flash all board metadata, board version and all other staff ?

Device tree is essentially arguments passed to drivers. In some cases this is used by boot stages, though most of the time I think of this as used with Linux itself (without the device tree boot would fail, but boot stages use less of the tree than does Linux). If device tree is wrong, then certainly it can cause boot failure. For example (this is just contrived for illustration), device tree could be used to find non-plug-n-play memory devices, and if wrong, then perhaps the persistent storage containing the Linux kernel would never be found.

In many cases if device tree is wrong there might be some small part of a carrier board designed for a different revision to fail. However, it would be really hard to draw conclusions without a lot of investigation.

The problem, as stated, is not entirely clear. I interpret this to say “the Jetson cannot enter recovery mode”, but there is also some possibility that the original topic is “the Jetson must be in recovery mode, and cannot exit recovery mode”. The log shows the Jetson booting normall, and not being in recovery mode.

If you really want to reach recovery mode, make sure that the force recovery jumper is in place while the Jetson either powers up or resets power (followed by removing the jumper). Recovery mode never uses the device tree, nor would a bad device tree prevent recovery mode from being entered.

A full flash resets all data.

1 Like

Is this a NV devkit? If even button cannot put device into recovery mode, I would suggest directly RMA this device.

There are few things to check. Please ignore my comment for RMA first.

Do you ever flash this board before? If you don’t have experience of using this host to flash, then maybe you should check your setup first.