Image-Based Over-the-Air Update question

I want to update system,release 32.5 to release 32.6.
Follow the manual steps, Preparing the OTA Payload Package and Trigger the OTA Process.
when I reboot the device, cannot boot normally
the boot log:

[ 8.440882] extcon-disp-state external-connection:disp-state: cable 44 state 0 already set.
[ 8.448657] Extcon DP: HPD disabled
[ 8.452324] hpd: hpd_switch 0
[ 8.455556] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
[ 8.462298] hpd: state 1 (Check Plug), hpd 0, pending_hpd_evt 0
[ 8.465654] Root device found: initrd
[ 8.466918] Mount initrd as rootfs and enter recovery mode
[ 8.476911] hpd: switching from state 1 (Check Plug) to state 3 (Disabled)
[ 8.505755] usb 1-4.2: new low-speed USB device number 3 using tegra-xusb
enable_remote_access
enable remote access
[ 8.529475] usb 1-4.2: New USB device found, idVendor=30fa, idProduct=0301
[ 8.529614] usb 1-4.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 8.529766] usb 1-4.2: Product: USB OPTICAL MOUSE
[ 8.532735] input: USB OPTICAL MOUSE as /devices/3610000.xhci/usb1/1-4/1-4.2/1-4.2:1.0/0003:30FA:0301.0001/input/input6
[ 8.533273] hid-generic 0003:30FA:0301.0001: input,hidraw0: USB HID v1.11 Mouse [USB OPTICAL MOUSE ] on usb-3610000.xhci-4.2/input0
[ 8.598661] gpio tegra-gpio wake20 for gpio=52(G:4)
[ 8.601849] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit ISC DHCP - ISC
[ 8.637768] usb 1-4.4: new low-speed USB device number 4 using tegra-xusb
[ 8.664481] usb 1-4.4: New USB device found, idVendor=413c, idProduct=2113
[ 8.664635] usb 1-4.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 8.664749] usb 1-4.4: Product: Dell KB216 Wired Keyboard
Listening on LPF/eth0/00:04:4b:cc:22:e6
Sending on LPF/eth0/00:04:4b:cc:22:e6
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0xe8ae1b68)

Is this normal? How to solve this problem.

hello 417383384,

please also share your steps in details for reference,
thanks

Steps Performed on the Host Machine.

  1. Set the environment variable BASE_BSP
    $ BASE_BSP=/home/nvidia_l4t/32_5_1/Linux_for_Tegra

  2. Get the package for the current release of Jetson Linux and unpack and apply its sample root filesystem
    $ tar xpf Tegra186_Linux_aarch64.tbz2
    $ cd Linux_for_Tegra/rootfs/
    $ sudo tar xpf
    …/…/Tegra_Linux_Sample-Root-Filesystem
    _aarch64.tbz2
    $ cd …
    $ sudo ./apply_binaries.sh

  3. Set the environment variable ToT_BSP
    ToT_BSP=/home/li/tmp/a04_source/a04_jetpack4_6/jetpack_4.6/jetpack_4.6/l4t_32.6.1/drivers/Linux_for_Tegra/

  4. Install the OTA tool package

  5. Set the environment variable ToT_BSP
    TARGET_BSP=/home/li/tmp/a04_source/a04_jetpack4_6/jetpack_4.6/jetpack_4.6/l4t_32.6.1/drivers/Linux_for_Tegra/

  6. Generate the base recovery image and recovery DTB
    sudo ./tools/ota_tools/version_upgrade/build_base_recovery_image.sh jetson-agx-xavier-devkit R32-5 ${BASE_BSP}/ ${BASE_BSP}/rootfs ${TARGET_BSP}

  7. Generate the OTA update payload package
    sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-agx-xavier-devkit R32-5
    generate_base_recovery_image.txt (1.3 KB)
    generate_ota_update_payload_package.txt (257.7 KB)

Steps Performed on the Jetson Device
1.Review /boot/extlinux/extlinux.conf.
2.Download the OTA update tool packageand the OTA update payload package to the target board.
3.Create a directory to hold files generated in the OTA update process
4.Unpack ota_tools__aarch64.tbz2
5.Create a directory /ota/ and put the OTA update payload package ota_payload_package.tar.gz in it.
6.Unpack the OTA payload package and prepare to start OTA
start_ota.txt (10.1 KB)

Just want to confirm, is your board a custom board or a devkit?

Can you share the full boot log?

a devkit.
boot_log.txt (135.9 KB)

Hi 417383384,

We can’t reproduce your issue on Xavier.
OTA update from r32.5 to r32.6, after reboot, device can boot up success without problme.

List our steps for you reference:
[On Host]

$TARGET_BSP=/home/nvidia/Desktop/Carol_test/JetPack/JetPack-4.6_GA_Xavier/Linux_for_Tegra/
$ToT_BSP=/home/nvidia/Desktop/Carol_test/JetPack/JetPack-4.6_GA_Xavier/Linux_for_Tegra/
$BASE_BSP=/home/nvidia/Desktop/Carol_test/JetPack/JetPack-4.5.1_Xavier/Linux_for_Tegra
$cd ${TARGET_BSP}/../
$tar xpf ${ToT_BSP}/../ota_tools_R32.6.1_aarch64.tbz2 -C ./
$cd ${TARGET_BSP}
$cp ${ToT_BSP}/tools/ota_tools/version_upgrade/* ./tools/ota_tools/version_upgrade
$sudo ./tools/ota_tools/version_upgrade/build_base_recovery_image.sh jetson-agx-xavier-devkit R32-5 ${BASE_BSP} ${BASE_BSP}/rootfs ${TARGET_BSP}
$sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-agx-xavier-devkit R32-5

[On Xavier with r32.5.1 build]

1. Review /boot/extlinux/extlinux.conf:
"INITRD /boot/initrd" is set under the LINUX /boot/Image
"root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4" add into the APPEND line.
2. copy ota_tools_R32.6.1_aarch64.tbz2 and ota_payload_package.tar.gz to Xavier
3. Set WORKDIR
$ WORKDIR=/home/nvidia/OTA
$ tar xpvf ota_tools_R32.6.1_aarch64.tbz2 $WORKDIR
$ sudo mkdir /ota
$ sudo cp ota_payload_package.tar.gz /ota
$ cd ${WORKDIR}/Linux_for_Tegra/tools/ota_tools/version_upgrade
$ sudo ./nv_ota_start.sh /dev/mmcblk0 /ota/ota_payload_package.tar.gz
$ sudo reboot

Can you share the full boot log?

Hi 417383384,

Attached uart log for you reference.
OTA-update_Xavier_Uart.log (155.6 KB)

I tested it again, the kernel log is as follows:

Listening on LPF/eth0/48:b0:2d:2f:f0:93
Sending on LPF/eth0/48:b0:2d:2f:f0:93
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0xe8bcf14f)
[ 8.260000] hid-generic 0003:413C:2113.0002: input,hidraw1: USB HID v1.11 Keyboard [Dell KB216 Wired Keyboard] on usb-3610000.xhci-4.4/input0
[ 8.265185] input: Dell KB216 Wired Keyboard as /devices/3610000.xhci/usb1/1-4/1-4.4/1-4.4:1.1/0003:413C:2113.0003/input/input8
[ 8.323620] hid-generic 0003:413C:2113.0003: input,hidraw2: USB HID v1.11 Device [Dell KB216 Wired Keyboard] on usb-3610000.xhci-4.4/input1
[ 11.060851] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 11.062057] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
ERROR: eth0: timeout for obtaining IP address through DHCP
/
[ 38.330889] lib80211: common routines for IEEE802.11 drivers
[ 38.335347] vdd-1v8-cvb: disabling
[ 38.335461] vdd-1v8-sd: disabling
[ 38.335524] vdd-epb-1v0: disabling
[ 38.335586] avdd-cam-2v8: disabling
[ 38.335648] vdd-sata-1v5: disabling
[ 38.335708] vdd-1v8-slt: disabling
[ 38.335768] vdd-3v3-slt: disabling
[ 38.335824] vdd-fan: disabling
[ 38.335885] vdd_sys_en: disabling
[ 38.365684] dhd_module_init in
[ 38.366190] no wifi platform data, skip
[ 38.366311] DHD wifi platform data is required for Android build
[ 38.366466] dhd_module_init: Failed to load the driver, try cnt 0
[ 38.366575] dhd_module_init: Failed to load driver max retry reached**
insmod: ERROR: could not insert module /lib/modules/4.9.201-tegra/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko: Invalid parameters
Failed to install wifi module
ERROR: Network(ethernet & wireless) i��

Is it " vdd disable" problem?

Is it " vdd disable" problem?

If you ever read your kernel log before, you would know it is not a problem.

It looks like you process didn’t succeed. 4.9.201 is still the kernel version of r32.5.1.

Does the device need network connection during OTA upgrade

Hi 417383384,

Yes, please connect Ethernet to do the OTA upgrade.
Thanks!

May I ask why need to connect to Ethernet?
If I am not connected to Ethernet, will OTA upgrade fail?

What is the software release version that you downloaded in this step?

Get the package for the current release of Jetson Linux and unpack and apply its sample root filesystem
$ tar xpf Tegra186_Linux_ aarch64.tbz2
$

I mean, does Xavier need to connect to Ethernet? During OTA upgrade and reboot.

please check developer guide, Over-the-Air Update. you’ll need to communicate with the server (host machine) to trigger the OTA Process.

Hi,

if you don’t have network enabled, you can modify the “nv_recovery.sh” to comment the line “reboot_system”:

ota_log "enable_remote_access"

if ! enable_remote_access; then
        ota_log "Failed to run \"enable_remote_access\""
        reboot_system
fi

thank you. The problem is solved.

1 Like

If you’re not using Ethernet, what are you using for OTA upgrade?
Wifi?

Mobile Hard Disk of USB. Because I can’t connect to Ethernet.