JetPack 4.2.1 SDK Installation issue

Hi,

We have TX2 module without display and we are trying to flash it with latest JetPack 4.2.1. Flashing is completed successfully and failing at SDK install page. Looks like we need to complete following steps

  1. Complete the Ubuntu ‘System configuration wizard’ on your Jetson TX2.
  2. Wait for the OS login screen.
  3. Enter the username and password of your Jetson TX2.

Since we don’t have display, could you help us to complete above steps with some other way?

We have attached screenshot for your reference.

Hi,

There is an alternative way.

Please try the script under Linux_for_Tegra.
sudo ./l4t_create_default_user.sh -u <usr_name> -p

We have Linux_for_Tegra folder inside “JetPack_4.2.1_Linux_GA_P3310” but didn’t find the script (l4t_create_default_user.sh) file.

Please try to download this script from this thread:
https://devtalk.nvidia.com/default/topic/1054926/jetson-nano/jetson-nano-all-usb-ports-suddenly-stopped-working/post/5356153/#5356153

We run that script and following is the output

Linux_for_Tegra$ sudo ./l4t_create_default_user.sh -u nvidia -p nvidia
Creating: Username - nvidia, Password - nvidia, Autologin - false
Adding user 'nvidia' to group `gdm' ...
Adding user nvidia to group gdm
Done.
Adding user 'gdm' to group 'video' ...
Adding user gdm to group video
Done.

later we ran SDK Manager for further steps (image flash and component install). Flashing went well and again we reached to the component install page. Here, by default 192.168.1.55 is given to connect over USB. But it is failing always as TX2 gets reset after flashing and comes out of recovery mode. But what we found is TX2 has picked old IP (192.168.1.138) and we are able to login through SSH.

Question: In JetPack v3.3, SDK Maganer used to provide IP details but in v4.2.1 we are not seeing that, could you let us know how to get it?

Since, 192.168.1.138 was working we used it instead of 192.168.55.1. It worked to some extent and failed with some errors (probably due to “dpkg: error: dpkg frontend is locked by another process”).

So, we thought of doing entire process one more to make sure if it is working. But this time things were little strange. For IP 192.168.55.1, SDK manager is trying with SSH and for 192.168.1.138 it is looking for USB connection. Following are logs:

For 192.168.1.138:

15:37:29 INFO : Flash Jetson TX2 : command finished successfully
15:37:29 INFO : install 'Flash Jetson TX2' success
15:39:46 DEBUG : running command < [ `lsusb | grep -c "NVidia Corp"` -ne 1 ] >
15:39:47 INFO : command finished successfully
15:39:47 DEBUG : running command < [ `lsusb | grep -c "NVidia Corp"` -gt 1 ] >
15:39:47 ERROR : command terminated with error
15:39:48 ERROR : Could not detect Nvidia Jetson device connected to USB. *To validate if the device is in connected correctly, run 'lsusb' command on your host, and look for "0955:7c18: NVidia Corp".

For 192.168.55.1

15:40:04 DEBUG : running command < nc -z -vv -w 5 192.168.55.1 22 >
15:40:09 INFO : nc: connect to 192.168.55.1 port 22 (tcp) timed out: Operation now in progress
15:40:09 ERROR : command terminated with error
15:40:09 ERROR : Cannot connect to the device via SSH.

The IP address option was removed (I’m thinking it might be added back in? Not sure). However, if you look at this file, then you can edit the occurrences of “192.168.55.1” and replace it with another address:

~/.nvsdkm/dist/sdkml3_jetpack_l4t_42.json

FYI, since this is setting up virtual USB wired ethernet for the 192.168.55.1 address it might just be a case of the host having not authorized the virtual device until you allow the MAC address to be used (if you run “dmesg --follow” as you insert the USB cable from a fully booted TX2 you should see a MAC address…then there is a GUI app on the host for network setup which can allow that MAC address).

Btw, the actual flash content has no dependency on networking and relies entirely on the recovery mode Jetson. A fully booted Jetson is able to use the networking and this is when packages are added. Upon boot the Jetson will (via an Ubuntu mechanism) try to update the packages on the system. This happens to be a lot of packages and takes a long time on the first boot, and this is why you see this:

dpkg: error: dpkg frontend is locked by another process

What you can do is to wait (maybe an hour…might depend on networking) for the update to finish before running the software package addition steps. Other people have left the ethernet on the TX2 disconnected prior to the TX2 booting so that it can’t start the update process.

If both your host and device are connected to ethernet router, you could change the ip address on sdkmanager to your device IP if you cannot escape from the usb device mode error.

Question: In JetPack v3.3, SDK Maganer used to provide IP details but in v4.2.1 we are not seeing that, could you let us know how to get it?

Because it requires user to configure the user name/pwd in their first boot, sdkmanager assumes you have to do it thru a monitor and does not have such design after 4.2.

Following steps are working for us:

  1. Add default user to rootfs with following command
sudo ./l4t_create_default_user.sh -u <usr_name> -p <password>
  1. Flash image with “Manual Mode” selection
  2. Once flashing is done, check router to find new IP. Cross check new IP with ssh.
  3. Use new IP to start Installation of the components

Now, we want to automate all above steps as much as possible. For flashing, we found following command

sdkmanager --cli install --user <email_addr> --logintype devzone --product Jetson --version GA_4.2.1 --targetos Linux --host --target P3310 --flash all --license accept

This is working fine to some extent and then it ask user to specify mode (automatic/manual). We didn’t see any option to specify preferred mode with other arguments itself. Do we have different method to specify mode selection?

We are also looking for info to automate component installation. Please share if available.

I think I need to do what you are describing but its a bit hard to follow if you have never done i before (trying 4.2.3)