DRIVE Installer failed with status 140

Dear @SivaRamaKrishnaNV
I checked the information in driveinstaller.log. I think some of this information might be useful.

[2022-12-01 06:21:40,566 root DEBUG utilities.py 294 13845] ****** Starting bootburn/bootburn.py ********
[2022-12-01 06:21:40,566 root DEBUG utilities.py 294 13845] Script directory: /drive/drive-foundation/tools/flashtools/bootburn
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] Parent directory added to path: /drive/drive-foundation/tools/flashtools/bootburn/..
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] ********* Starting t23x bootburn py ********
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] Bootburn Starting with arguments ['/drive/drive-foundation/tools/flashtools/bootburn/bootburn.py', '--find_board_name', '-x', '/dev/ttyACM1']
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] cwd in setBoardConfigPath :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845]  trying hardware folder:
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] /drive/drive-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/flashing/board_configs
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] 
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] Default Schema:/drive/drive-foundation/tools/flashtools/bootburn_t23x_py/nv-customer-data-schema.json
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] 
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] [bootburn]: [GetInfoRom(616)] : Read skuinfo from InfoRom...
[2022-12-01 06:21:40,567 root DEBUG utilities.py 294 13845] [bootburn]: Execute command on Aurix serial port
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [CheckFirmwareisAFW(596)] : AFW firmware found
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [setTargetConfigt23xInfoRomInfo(716)] : 940-63710-0010-200
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [setTargetConfigt23xInfoRomInfo(717)] : None
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [setTargetConfigt23xInfoRomInfo(724)] : ******  s_InforomSkuVersion   200
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [setTargetConfigt23xInfoRomInfo(725)] : ******  s_InforomProdInfo   940-63710-0010
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [findTargetBaseBoardName(763)] : baseBoardName found :: p3710-10-s05
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [findBaseBoardName(3577)] : Detected baseboard with default ChipSku  :: p3710-10-s05
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [updateFindBoardData(352)] : Connected Board Name details ::  baseBoard name - p3710-10-s05
[2022-12-01 06:21:40,568 root DEBUG utilities.py 294 13845] [bootburn]: [GetTegrasAssocWithAurix(507)] : Setting Tegra-A on hold...
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] [bootburn]: [GetTegrasAssocWithAurix(509)] : Done
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] [bootburn]: [getListTargetsInRecovery(3645)] : Bus 001 Device 030: ID 0955:7045 NVIDIA Corp. Tegra On-Platform Operator
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] [bootburn]: [GetTegrasAssocWithAurix(534)] : Setting Tegra-A in recovery...
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] [bootburn]: [GetTegrasAssocWithAurix(538)] : Done
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] [bootburn]: [getListTargetsInRecovery(3645)] : Bus 001 Device 030: ID 0955:7045 NVIDIA Corp. Tegra On-Platform Operator
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] [bootburn]: [GetTegrasAssocWithAurix(548)] : No valid Tegra-A ... must have a primary SOC
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] command line used was:
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] ['/drive/drive-foundation/tools/flashtools/bootburn/bootburn.py', '--find_board_name', '-x', '/dev/ttyACM1']
[2022-12-01 06:21:40,569 root DEBUG utilities.py 294 13845] 
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] 
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] Could not put Tegra-A in recovery
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] 
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] [bootburn]: [__exit__(82)] : Exception in critical section :<class 'OSError'>
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] 
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] Exception caught in bootburn 
[2022-12-01 06:21:40,570 root DEBUG utilities.py 294 13845] returning to directory /drive/driveinstaller
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] Cleaning up ...
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] Cleaning temp dir
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] Traceback (most recent call last):
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] File "/drive/drive-foundation/tools/flashtools/bootburn/../bootburn_t23x_py/bootburn.py", line 288, in bootburn
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] bootburnLib.CheckRecoveryTargets()
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] File "/drive/drive-foundation/tools/flashtools/bootburn/../bootburn_t23x_py/bootburn_lib.py", line 3590, in CheckRecoveryTargets
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] self.aurix.GetTegrasAssocWithAurix(self.targetConfig.s_AurixPort)
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] File "/drive/drive-foundation/tools/flashtools/bootburn/../bootburn_t23x_py/bootburn_aurix.py", line 549, in GetTegrasAssocWithAurix
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] AbnormalTermination("Could not put {} in recovery".format(name), nverror.NvError_ResourceError)
[2022-12-01 06:21:40,571 root DEBUG utilities.py 294 13845] File "/drive/drive-foundation/tools/flashtools/bootburn/../bootburn_t23x_py/flashtools_nverror.py", line 249, in AbnormalTermination
[2022-12-01 06:21:40,572 root DEBUG utilities.py 294 13845] raise OSError(errorCode)
[2022-12-01 06:21:40,572 root DEBUG utilities.py 294 13845] OSError: 15
[2022-12-01 06:21:40,572 root INFO runner.py 37 13845] Failed to bind partitions!
[2022-12-01 06:21:40,572 root DEBUG runner.py 39 13845] Error on line 910
[2022-12-01 06:21:40,573 root DEBUG runner.py 40 13845] Exception info: Exception Type <class 'module.errors.FailedToBindPartitionsError'>, Traceback <traceback object at 0x7f6a30fddd88>
[2022-12-01 06:21:40,573 root INFO runner.py 45 13845] driveinstaller cannot continue! Check the log file for details: /drive/driveinstaller/driveinstaller.log
[2022-12-01 06:21:40,573 root DEBUG runner.py 62 13845] Cleaning up...
[2022-12-01 06:21:40,573 root DEBUG utilities.py 137 13845] Deleting temporary directories...
[2022-12-01 06:21:40,573 root DEBUG utilities.py 139 13845] Deleting /tmp/pdkinstall-tmp-2e6u4v0q-bind
[2022-12-01 06:21:40,574 root DEBUG runner.py 64 13845] Closing the log file.

Dear @hongjiang.rao,
When we set board on recovery mode, we expect to see another device with nvidia in 'lsusb.
Firstly, what is the status of the board? Is it booting? Were you able to access Tegra A via minicom or terminal?

Dear @SivaRamaKrishnaNV
I’m not too sure about the current state of the board. I just connected the power and USB cables and turned on the power switch. Then I use minicom to run tegrarecovery & tegrareset commands, and use Docker to run ./flash.sh /dev/ttyACM1 p3710. And this is the first flashing after unboxing.

Dear @SivaRamaKrishnaNV
I don’t what Tegra A is. I get this information after running tegrarecovery & tegrareset .

NvShell>tegrarecovery x1 on

Info: Executing cmd: tegrarecovery, argc: 2, args: x1 on 
Command Executed
NvShell>tegrareset x1

Info: Executing cmd: tegrareset, argc: 1, args: x1 
NvShell>INFO: MCU_PLTFPWRMGR: Reseting 
MCU_FOH: MCU FOH : Power state notification for Orin reset
INFO: BtChn_Cfg: No valid next bootchain loaded
INFO: NVMCU_ORINPWRCTRL: Tegra x1 Boot Chain: A 
INFO: MCU_PLTFPWRMGR: Tegra reset trigger is complete !
Command Executed
MCU_FOH: MCU FOH : Power state notification for Orin Power On
MCU_FOH: Spi Transmit Started

Dear @SivaRamaKrishnaNV
Now, I am not sure if lsusb can see that the Type-C usb for flashing is connected when flashing for the first time.

@hongjiang.rao please see if the developer’s experience at DriveOS 6.0.4 Flashing Failures - #25 by Keelung helps with your issue.

Hi @VickNV
Keelung said that it’s his mistake of missing USB-C link. But my USB-C plugged in, only 0955:7045 shown in the output of lsusb. There was no information of another 0955:xxxx, like Keelung’s 0955:7023.

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 413c:2113 Dell Computer Corp. 
Bus 001 Device 034: ID 0955:7045 NVidia Corp. 
Bus 001 Device 002: ID 17ef:608d Lenovo 
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And could you tell me whether lsusb can see that Type-C usb for flashing is connected when flashing for the first time under normal circumstances? Or,is there any special pre-operation before connecting to USB-C? Thanks.

Dear @hongjiang.rao,
Can you check accessing /dev/ttyACM0 and /dev/ttyACM1 and confirm tegra A and aurix console is accessible. If Tegra A is accesible, check login with nvidia/nvidia. This should confirm the Tegra A accessibility

1 Like

Dear @SivaRamaKrishnaNV
I tried to use Minicom to accesse /dev/ttyACM0and /dev/ttyACM1.
I run sudo minicom -w -D /dev/ttyACM0 and nvidia/nvidia, and then can’t get anything.

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyACM0, 13:57:38

Press CTRL-A Z for help on special keys

nvidia/nvidia


I run sudo minicom -w -D /dev/ttyACM1 and nvidia/nvidia, and then get these.

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyACM1, 13:49:40

Press CTRL-A Z for help on special keys

nvidia//nvidia

Info: Executing cmd: nvidia/nvidia, argc: 0, args: 
Error: Unknown command
Invalid Command
NvShell>

Does this mean that aurix console can be accessed, but Tegra A cannot?

Dear @hongjiang.rao,
It looks like Tegra A is not accessible.

this is the first flashing after unboxing

Does that mean, you or your collegues never used the board and just started flashing after you receive?

Dear @hongjiang.rao,
Also, could you share the complete driveinstaller.log file and output on terminal. We will check internally and update you.

Yes, we never used the board and just started flashing after we receive.
This is the driveinstaller.log.
driveinstaller.log (477.0 KB)

And this is ouput on terminal after I run ./flash.sh /dev/ttyACM1 p3710 in docker.

root@6.0.5.0-0003-build-linux-sdk:/drive# ./flash.sh /dev/ttyACM1 p3710
Executing bind + flash
[===    ]

DRIVE Installer failed with status 140
DriveinstallerFlash failed, error 140!
======================================================
          
Error 140 occurred, please resolve the issue or try again.
Please contact provider with log "/drive_flashing/log_ca3e20ef18de976a03ffa042ae238873.txt".
          
======================================================
NGNG

This is the log_ca3e20ef18de976a03ffa042ae238873.txt.
log_ca3e20ef18de976a03ffa042ae238873.txt (949 Bytes)

Dear @hongjiang.rao,
please share ls -la /dev/ttyACM* to see list of available ports after connecting target and host.
/dev/ttyACM1 is used to connect to aurix. Meanwhile, Could you share Aurix version(run version on aurix terminal).

Also, check running poweroff and poweron commands on aurix terminal with some gap (like ~20sec ) and check accessing Tegra A via dev/ttyACM0. We notice a couple of power off-on commands on aurix can fix such issues.

Dear @SivaRamaKrishnaNV
Before connecting target and host, ls -la /dev/ttyACM*: there is no such file or directory.
After connecting target and host:

$ ls -la /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 12月  2 16:23 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 1 12月  2 16:23 /dev/ttyACM1
crw-rw---- 1 root dialout 166, 2 12月  2 16:23 /dev/ttyACM2
crw-rw---- 1 root dialout 166, 3 12月  2 16:23 /dev/ttyACM3

run version on aurix terminal

NvShell>version

Info: Executing cmd: version, argc: 0, args: 
DRIVE-V6.0.4-P3710-AFW-Aurix-StepB-5.05.03
Command Executed
NvShell>

And I will try to check running poweroff and poweron commands on aurix terminal with some gap.
I will reply here if it is useful.

Dear @SivaRamaKrishnaNV
I checked running poweroff and poweron commands on aurix terminal with some gap (like ~20sec ).
I got this information. And, I still can’t access Tegra A via dev/ttyACM0.

NvShell>poweroff

Info: Executing cmd: poweroff, argc: 0, args: 
NvShell>INFO: MCU_PLTFPWRMGR: Powering off 
INFO: MCU_PLTFPWRMGR: DL Ready drive to LOW !
INFO: MCU_PLTFPWRMGR: Orin TMON disable .... 
INFO: MCU_PLTFPWRMGR: Board TMON disable .... 
INFO: MCU_PLTFPWRMGR: VRS11 PG Monitoring disable .... 
ERROR: MCU_PLTFPWRMGR: Request VMON Power-down sequence verification failed ....Continue sequence !

INFO: MCU_PLTFPWRMGR: Power down sequence is complete !
Command Executed
MCU_FOH: MCU FOH : Power state notification for Orin power off
poweron

Info: Executing cmd: poweron, argc: 0, args: 
NvShell>INFO: MCU_PLTFPWRMGR: Powering up 
ERROR: MCU_PLTFPWRMGR: Enable Pre-regulator Request failed ....Move to error state !

@hongjiang.rao Please try to power reset the system with the power switch on your orin system, connect USB cable, and then send below commands via aurix console and linux shell respectively in sequence and provide the outpus for our information.

NvShell> tegrareset x1 h
$ lsusb -d 0955:
NvShell> tegrarecovery x1 on
NvShell> tegrareset x1
$ lsusb -d 0955:

Please also refer to below in DRIVE OS 6.0.5 Linux Release Notes and see if it helps with your issue.

I run those commands and get these outputs:

NvShell>tegrareset x1 h

Info: Executing cmd: tegrareset, argc: 2, args: x1 h 
NvShell>INFO: MCU_PLTFPWRMGR: Reseting 
MCU_FOH: MCU FOH : Power state notification for Orin reset
INFO: MCU_PLTFPWRMGR: Tegra reset trigger is complete !
Command Executed
MCU_FOH: MCU FOH : Power state notification for Orin Power On
MCU_FOH: Spi Transmit Started
MCU_FOH: SPI : E2E_P05Check Status : 7 : 0
ERROR: MCU_ERRHANDLER: McuFoh E2E Frame Error
MCU_FOH: SPI : E2E_P05Check Status : 7 : 0
MCU_FOH: SPI : E2E_P05Check Status : 7 : 0

$ lsusb -d 0955:
Bus 001 Device 036: ID 0955:7045 NVidia Corp.

NvShell>tegrarecovery x1 on

Info: Executing cmd: tegrarecovery, argc: 2, args: x1 on 
Command Executed
NvShell>tegrareset x1

Info: Executing cmd: tegrareset, argc: 1, args: x1 
NvShell>INFO: MCU_PLTFPWRMGR: Reseting 
MCU_FOH: MCU FOH : Power state notification for Orin reset
INFO: BtChn_Cfg: No valid next bootchain loaded
INFO: NVMCU_ORINPWRCTRL: Tegra x1 Boot Chain: A 
INFO: MCU_PLTFPWRMGR: Tegra reset trigger is complete !
Command Executed
MCU_FOH: MCU FOH : Power state notification for Orin Power On
MCU_FOH: Spi Transmit Started

$ lsusb -d 0955:
Bus 001 Device 036: ID 0955:7045 NVidia Corp.

I’ve tried using other usb-c cables and usb ports but it didn’t help.

@hongjiang.rao

Have you tried power-cycle and followed the known issue? Please note you don’t need to use the commands in the Aurix console open to put the system in reset, and in fact, can NOT have the Aurix console open at all; the flash.sh command inside uses bootburn -x option which automatically does this, but if the Aurix console is open will fail with the error seen.

Also, please refer to DRIVE Platform Supported Boards and tell us which board variant is yours.