Flashing Orin Nano Failed ("carveout is not supported" and other errors)

I tried to flash my brand-new Orin Nano Dev Kit using SDK Manager UI from Ubuntu 18.04 x86 host, with a 500 GB NVMe installed but no SD Card. Unfortunately, it failed with the following, which doesn’t seem to be related to the NVMe:

00:34:51 ERROR: Flash Jetson Linux - flash: [ 0.1912 ] ERROR: carveout /misc/carveout/aux_info@CARVEOUT_UNUSED5/ is not supported
00:34:51 INFO: Flash Jetson Linux - flash: [ 0.1975 ] tegrahost_v2 --chip 0x23 0 --magicid MBCT --appendsigheader mb1_cold_boot_bct_MB1_aligned.bct zerosbk
00:34:51 INFO: Flash Jetson Linux - flash: [ 0.2094 ] Assuming zero filled SBK key
00:34:51 ERROR: Flash Jetson Linux - flash: [ 0.2096 ] ERROR: carveout /misc/carveout/aux_info@CARVEOUT_UNUSED5/ is not supported
00:34:51 ERROR: Flash Jetson Linux - flash: [ 0.2110 ] ERROR: /misc/tsc_controls/tsc_locking_ref_frequency_configuration is not supported
00:34:51 INFO: Flash Jetson Linux - flash: [ 0.2272 ] Assuming zero filled SBK key
00:34:51 INFO: Flash Jetson Linux - flash: [ 0.2324 ] tegrarcm_v2 --new_session --chip 0x23 0 --uid --download bct_br br_bct_BR.bct --download mb1 mb1_t234_prod_aligned_sigheader.bin.encrypt --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader.bin.encrypt --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
00:34:51 INFO: Flash Jetson Linux - flash: [ 0.2334 ] BR_CID: 0x80012344705DE64C7800000010FE0280
00:34:51 INFO: Flash Jetson Linux - flash: [ 0.2623 ] Sending bct_br
00:34:56 ERROR: Flash Jetson Linux - flash: [ 0.3056 ] ERROR: might be timeout in USB write.
00:34:56 INFO: Flash Jetson Linux - flash: Command tegrarcm_v2 --new

Any suggestions on what I should do?

Hi,

I know you may not be happy with this. This error requires debug.
I had same issue reported last week but the issue was resolved with a method that makes no sense.

Please put your jetson orin nano into recovery mode first and share me the result of lsusb on your host.

Run this command on your host

echo 8 > /proc/sys/kernel/printk
echo 'module usbcore +p' > /sys/kernel/debug/dynamic_debug/control
echo 'module xhci_hcd +p' > /sys/kernel/debug/dynamic_debug/control

And dump dmesg first.

Then, start the flash again and see if dmesg on host prints anything new.

Also, share me the full flash log.

You could also try other usb ports on your host. Try not to connect through usb hub.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 026: ID 0101:0007  
Bus 001 Device 025: ID 1a2c:0e24 China Resource Semico Co., Ltd 
Bus 001 Device 024: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 028: ID 0955:7523 NVIDIA Corp. APX
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ sudo su
[sudo] password for rmann: 
root@ubuntu18x86:/home/rmann# echo 8 > /proc/sys/kernel/printk
root@ubuntu18x86:/home/rmann# echo 'module usbcore +p' > /sys/kernel/debug/dynamic_debug/control
root@ubuntu18x86:/home/rmann# echo 'module xhci_hcd +p' > /sys/kernel/debug/dynamic_debug/control

dmesg1.txt (94.4 KB)

I am retrying the install. FYI, it rebuilds the image, which I feel could’ve been cached from the last run to save time. I’ll post a followup when it’s finished.

Is this a VM?

No. And this time, it’s getting much farther along than it did before. It seems to have flashed an OS and rebooted. Then SDK Manager popped up a dialog saying it was about to start copying components onto the target.

Then it popped up a thing saying it couldn’t ssh into the system, and that I should check to make sure ssh was running. But there seems to be no video output (unfortunately the display was disconnected during the process), so I was about to come here to report I was stuck, when I saw that SDK Manager had dismissed that dialog and had resumed installing content.

I don’t know if it’s copying over USB or Ethernet. It seems quite slow (2-3 seconds per 0.01%). Would be nice if it showed a data transfer rate.

Weill post again with the next update.

For networking, this typically occurs from the USB virtual ethernet. On the host PC, what do you see from:

# either of these:
ip -s addr
ifconfig

# And either of these:
route
ip route

Two issues are possible:

  • The host PC never gets a network route to the Jetson.
  • The route exists, but something is blocking it, e.g., missing account setup or firewall.

It’s working, just doesn’t seem particularly fast.

My subnet is 192.158.2/24

$ ip -s addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    1025361196415 20370052 0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    1025361196415 20370052 0       0       0       0       
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:60:e0:85:44:95 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    0          0        0       0       0       0       
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:60:e0:85:44:96 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 192.168.2.17/24 brd 192.168.2.255 scope global dynamic noprefixroute eno1
       valid_lft 54856sec preferred_lft 54856sec
    inet6 fd4f:e35a:d703:44a4:556:c399:d4f8:9013/64 scope global temporary dynamic 
       valid_lft 1785sec preferred_lft 1785sec
    inet6 fd4f:e35a:d703:44a4:f720:735c:53e8:3baa/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 1785sec preferred_lft 1785sec
    inet6 fe80::9848:d2bc:633:b495/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    31024761374 230743266 0       74822   0       1281709 
    TX: bytes  packets  errors  dropped carrier collsns 
    1079458005413 746205128 0       0       0       0       
7: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 0e:86:8d:47:b0:51 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::6a4f:269f:7d08:c222/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    15424      141      0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    31375      153      0       0       0       0       
8: enx8a4463839abe: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 8a:44:63:83:9a:be brd ff:ff:ff:ff:ff:ff
    inet 192.168.55.100/24 brd 192.168.55.255 scope global dynamic noprefixroute enx8a4463839abe
       valid_lft 8sec preferred_lft 8sec
    inet6 fe80::df45:376e:9125:6c6/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    27172357   490116   0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    4290800276 2837998  0       0       0       0       

$ ip route
default via 192.168.2.1 dev eno1 proto dhcp metric 100 
169.254.0.0/16 dev eno1 scope link metric 1000 
192.168.2.0/24 dev eno1 proto kernel scope link src 192.168.2.17 metric 100 
192.168.55.0/24 dev enx8a4463839abe proto kernel scope link src 192.168.55.100 metric 102 

Welp, SDK Manager says it installed and completed successfully! I wonder if that’s because debugging was turned on and changed timings a bit, or it was just a fluke the first time around.

How do I turn debugging back off?

I guess you solved this, but some of it is a mystery. For the sake of posterity…

Slow or not, this seems to function correctly. I don’t see any kind of error/drop/overrun:

What confuses me though is that there is neither IPv4 nor IPv6 address on usb0. If the USB virtual address is assigned, then the host PC should see IPv4 192.168.55.1 (the Jetson would have 192.168.55.1). Note that some of the traffic can in fact be DHCP without any address.

Is the wired ethernet of the Jetson attached? If the wired ethernet were used, then the USB ethernet would not matter, but then you’d need the wired ethernet address.

Note that flash has no requirement for ethernet. Only the install of optional content cares. After flash it automatically reboots. You are free to uncheck flash though and run sdkmanager for just optional packages and not flash if the Jetson is fully booted. The wired ethernet is likely faster than the USB ethernet in some cases.

So far as debugging goes, any echo to “/proc” files is reset if you reboot. Only settings in “/etc/sysctl.conf” would remain after reboot.

Hmm. It seems to have installed successfully, but I couldn’t get the display to turn on, and I don’t see it on my network. I don’t know what the default mDNS name is. I tried reconnecting to it with SDK Manager, and that said there was a new version of JetPack (5.1.1), and offered to update it. Odd, unless that came out in the last 24 hours.

I decided to just power cycle the device, but it still won’t output anything to the display.

At least power cycling it made it appear in my DHCP server list, so I’m able to ssh into it. Any ideas on getting the display up?

Since you can ssh in, what do you see from “dmesg”? Also, find the log file listed from:
ls -ltr /var/log/Xorg.*.log | tail -n 1
…and post that log.

I’d note the IP address too since at a later date this will usually remain constant if you stick to the same router (though it could change). It might be useful to ping that at another time if it fails.

I was able to set the Avahi hostname to orin, and that works fine. I just didn’t know the default.

The two logs:

dmesg.log (68.2 KB)
Xorg.log (20.5 KB)

So should I be able to use SDK Manager in that case without the USB connected? How can SDK Manager find the target?

Great!

JetPack 5.1.1 is the first SDK Manager release which supports the Orin Nano Developer Kit. That’s probably the major issue that you are experiencing.

So why didn’t it install 5.1.1? Or did it? How do I tell what’s installed?

If you have a running Jetson, you can use jtop. Here’s an article on how to install it if you don’t know how.

The current SDK Manager version is 1.9.2.
On the SDK Manager, it’s not clear how you selected ‘Orin Nano Developer Kit’ from the product selector. Perhaps you selected ‘Orin Nano’ instead?

To check the current version from the command line:

sdkmanager --ver

Other options are in the SDK Manager Documentation

Command line options: Command-Line Install :: NVIDIA SDK Manager Documentation

jtop is cool! Anyway, it says I have JetPack 5.1.1

You’ll need to be careful. JetPack encompasses the NVIDIA compute libraries. They are probably be correct. On the other hand, the lower level board support may be incorrect. The board is a little bit different than previous carrier boards. If you encounter issues with hardware features not working, take that into account.

No, I selected Orin Nano 8 GB Development Kit.

My host is down for the moment while I replace the power supply. Will check the other stuff in a bit.