ping_device()
{
while IFS= read -r; do
netpath=/sys/class/net/${REPLY}
netserialnumber=$(get_udev_attribute "${netpath}" serial)
if [ "${netserialnumber}" = "${serialnumber}" ]; then
echo "${REPLY}" > "${sshcon}"
ip a add fc00:1:1:"${device_instance}"::1/64 dev "${REPLY}"
ip a add fe80::2 dev "${REPLY}"
ip link set dev "${REPLY}" up
fi
done < <(ls /sys/class/net)
if [ -z "$(cat "${sshcon}")" ]; then
return 1
fi
echo "Attempting >>ping6 -c 1 "fe80::1%$(cat "${sshcon}")"<<"
if ! ping6 -c 1 "fe80::1%$(cat "${sshcon}")" > /dev/null 2>&1;
then
return 1
fi
echo ">>ping6 -c 1 "fe80::1%$(cat "${sshcon}")"<< was a success"
return 0
}
There is a small bug in initrd flash script ( l4t_initrd_flash_internal.sh )
if [ -n "${network}" ]; then
while IFS= read -r; do
netpath=/sys/class/net/${REPLY}
netserialnumber=$(get_udev_attribute "${netpath}" serial)
netconfiguration=$(get_udev_attribute "${netpath}" configuration)
if [[ "${netconfiguration}" =~ RNDIS\+L4T${device_instance}* ]]; then
Can you add a dot to this line in this code snipet
if [[ "${netconfiguration}" =~ RNDIS\+L4T${device_instance}.* ]]; then
We are experiencing the same issue with initrd massflash with JetPack 5.1 on Orin NX. Only one device would flash in both our custom PCB and the nVidia Xavier NX devkit with Orin NX inserted.
I made the above code changes to l4t_initrd_flash_internal.sh on lines 456-457 and now it works with more than one device at a time in both our custom carrier board and the Xavier NX devkit.
When trying to perform mass flash with Xavier NX onto NVMe SSD with L4T 5.2 I found that only the first device could connect SSH and subsequent devices would timeout, same as the issue reported in this thread.
We modified /tools/kernel_flash/l4t_initrd_flash_internal.sh to add the missing dot as specified. Then created the mass flash image using this command…
We had a problem where l4t_initrd_flash.sh would not support more than one device SSH connection with massflash option. This thread solved this with an edit to l4t_initrd_flash_internal.sh, so we are using that one instead. Is there a similar bug in l4t_initrd_flash.sh
We found this command will work for Xavier NX on 250GiB SSD (note that edits are also required to line 2 of tools/kernal_flash/flash_l4t_nvme.xml replace value of num_sectors with <size of ssd in bytes / 512>)
Thanks lhoang, does this mean that it does not matter which one we use.
If initrd_flash_internal and initrd_flash use same initrd utility then why would the initrd_flash_internal work with massflash and the initrd_flash does not.
Technically for this release, it makes no difference. But in the future update, we might make changes to l4t_initrd_flash.sh to do some setup before running l4t_initrd_flash_internal.sh. So I think it is better for you to run the command how we intend for it to be used.
Hi @rapidproto@lhoang
SW:SDK35.2.1 HW:Orin-NX
I have modified l4t_initrd_flash_internal.sh if [[ "${netconfiguration}" =~ RNDIS\+L4T${device_instance}.* ]]; then
and I use l4t_initrd_flash_internal.sh
Can you upload full fail log both both devices? Seems like ssh goes through but flash process failed in the middle for one device. Can you try flashing them individually to see if it goes through