Thor jp7.1 lattice hsb with imx274. "Unable to deserialize bootp request vendor data."

Jetson AGX Thor dev kit running JP7.1. I reflashed again to make sure I missed nothing in HSB Setup. Get same results in hsb docker container and native on Thor, sudo or not. How to fix this?

ping -c 2 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.574 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.561 ms
--- 192.168.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1016ms
rtt min/avg/max/mdev = 0.561/0.567/0.574/0.006 ms
hololink-enumerate
ERROR 0.0000 enumerator.cpp:270 deserialize_bootp_request tid=0x270 -- Unable to deserialize bootp request vendor data.
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.2 fpga_uuid=N/A serial_number=N/A interface=mgbe0_0 board=N/A
ERROR 0.0000 enumerator.cpp:270 deserialize_bootp_request tid=0x270 -- Unable to deserialize bootp request vendor data.
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.3 fpga_uuid=N/A serial_number=N/A interface=mgbe1_0 board=N/A
ERROR 1.0000 enumerator.cpp:270 deserialize_bootp_request tid=0x270 -- Unable to deserialize bootp request vendor data.
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.2 fpga_uuid=N/A serial_number=N/A interface=mgbe0_0 board=N/A
ERROR 1.0000 enumerator.cpp:270 deserialize_bootp_request tid=0x270 -- Unable to deserialize bootp request vendor data.
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.3 fpga_uuid=N/A serial_number=N/A interface=mgbe1_0 board=N/A
ERROR 2.0000 enumerator.cpp:270 deserialize_bootp_request tid=0x270 -- Unable to deserialize bootp request vendor data.
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.3 fpga_uuid=N/A serial_number=N/A interface=mgbe1_0 board=N/A
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.2 fpga_uuid=N/A serial_number=N/A interface=mgbe0_0 board=N/A
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.3 fpga_uuid=N/A serial_number=N/A interface=mgbe1_0 board=N/A
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.2 fpga_uuid=N/A serial_number=N/A interface=mgbe0_0 board=N/A
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.2 fpga_uuid=N/A serial_number=N/A interface=mgbe0_0 board=N/A
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.3 fpga_uuid=N/A serial_number=N/A interface=mgbe1_0 board=N/A
mac_id=N/A hsb_ip_version=0x0 fpga_crc=0x0 ip_address=192.168.0.3 fpga_uuid=N/A serial_number=N/A interface=mgbe1_0 board=N/A

Here trying hsb v2.0.0 and v2.3.0 scripts/manifest.yaml, basing attempt on git repo closed issues.

INFO 0.0000 programmer.cpp:398 check_images tid=0xbc -- context=clnx content_name=fpga_clnx_2412.bit
INFO 0.7373 programmer.cpp:398 check_images tid=0xbc -- context=cpnx content_name=fpga_cpnx_2412.bit
terminate called after throwing an instance of 'std::runtime_error'
  what():  Sensor bridge ip=192.168.0.2 (889b7ce3-65a5-4247-8b05-4ff1904c3359) isn't supported by this manifest file.

INFO 1.0508 hololink.cpp:1776 configure_hsb tid=0xc3 -- HSB IP version=0x2402 datecode=0x8b9c1816
terminate called after throwing an instance of 'std::runtime_error'
  what():  write_uint32 address=0X110 value=0X2 response_code=0X3(RESPONSE_INVALID_ADDR)
program_lattice_cpnx100 scripts/manifest.yaml  # and I've tried with --hololink=192.168.0.2 , --force , --accept-eula , scripts/manifest-2507.yaml 
INFO 0.0000 programmer.cpp:398 check_images tid=0x6c5a -- context=cpnx content_name=fpga_cpnx_v2510_ea.bit
INFO 0.3242 programmer.cpp:398 check_images tid=0x6c5a -- context=clnx content_name=fpga_clnx_v2510_ea.bit
ERROR 1.0703 enumerator.cpp:270 deserialize_bootp_request tid=0x6c5a -- Unable to deserialize bootp request vendor data.
ERROR 1.0703 enumerator.cpp:270 deserialize_bootp_request tid=0x6c5a -- Unable to deserialize bootp request vendor data.
ERROR 2.0703 enumerator.cpp:270 deserialize_bootp_request tid=0x6c5a -- Unable to deserialize bootp request vendor data.
ERROR 2.0703 enumerator.cpp:270 deserialize_bootp_request tid=0x6c5a -- Unable to deserialize bootp request vendor data.
ERROR 3.0703 enumerator.cpp:270 deserialize_bootp_request tid=0x6c5a -- Unable to deserialize bootp request vendor data.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Device with 192.168.0.2 not found.
Aborted (core dumped)
program_lattice_cpnx100 --hololink=192.168.0.2 --accept-eula scripts/manifest-2507.yaml 
Initializing.
INFO 0.0000 programmer.cpp:348 check_eula tid=0x3e07 -- All EULAs are accepted via command-line switch.
INFO 0.0020 programmer.cpp:398 check_images tid=0x3e07 -- context=cpnx content_name=fpga_cpnx_v2507.bit
INFO 0.4727 programmer.cpp:398 check_images tid=0x3e07 -- context=clnx content_name=fpga_clnx_v2507.bit
ERROR 1.7656 enumerator.cpp:270 deserialize_bootp_request tid=0x3e07 -- Unable to deserialize bootp request vendor data.
ERROR 2.7656 enumerator.cpp:270 deserialize_bootp_request tid=0x3e07 -- Unable to deserialize bootp request vendor data.
ERROR 3.7656 enumerator.cpp:270 deserialize_bootp_request tid=0x3e07 -- Unable to deserialize bootp request vendor data.
ERROR 4.7656 enumerator.cpp:270 deserialize_bootp_request tid=0x3e07 -- Unable to deserialize bootp request vendor data.
ERROR 5.7656 enumerator.cpp:270 deserialize_bootp_request tid=0x3e07 -- Unable to deserialize bootp request vendor data.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Device with 192.168.0.2 not found.
Aborted (core dumped)
program_leopard_cpnx100 --hololink=192.168.0.2 --force --accept-eula scripts/manifest_leopard_cpnx100.yaml 
Initializing.
INFO 0.0000 programmer.cpp:322 check_images tid=0x5624 -- context=cpnx content_name=leopard_fpga_clnx_v2510.bit
INFO 1.9297 hololink.cpp:1776 configure_hsb tid=0x5624 -- HSB IP version=0x2402 datecode=0x8b9c1816
terminate called after throwing an instance of 'std::runtime_error'
  what():  write_uint32 address=0X110 value=0X2 response_code=0X3(RESPONSE_INVALID_ADDR)
Aborted (core dumped)
./test-agx-cpnx100-imx274.sh 
=================================================================================================== test session starts ====================================================================================================
platform linux -- Python 3.12.3, pytest-9.0.2, pluggy-1.6.0
rootdir: /home/scott/.git/holoscan-sensor-bridge
configfile: pytest.ini
testpaths: tests
plugins: timeout-2.4.0
timeout: 1200.0s
timeout method: signal
timeout func_only: False
collected 141 items                                                                                                                                                                                                        

tests/test_coe.py::test_imx274_mono_linux_naive[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] FAILED                                                                                                                      [  0%]
tests/test_coe.py::test_imx274_stereo_linux_naive[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] FAILED                                                                                                                    [  1%]
tests/test_coe.py::test_imx274_stereo_linux_naive_coe[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] FAILED                                                                                                                [  2%]
tests/test_coe.py::test_imx274_stereo_linux_argus[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] SKIPPED (Tests only run in --igpu mode.)                                                                                  [  2%]
tests/test_coe.py::test_imx274_stereo_linux_argus_coe[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] SKIPPED (Tests only run in --igpu mode.)                                                                              [  3%]
tests/test_coe.py::test_imx274_mono_linux_argus[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] SKIPPED (Tests only run in --igpu mode.)                                                                                    [  4%]
tests/test_coe.py::test_imx274_mono_linux_argus_coe[Imx274_Mode.IMX274_MODE_1920X1080_60FPS] SKIPPED (Tests only run in --igpu mode.)                                                                                [  4%]
tests/test_coe.py::test_vb1940_mono_linux_naive[Vb1940_Mode.VB1940_MODE_2560X1984_30FPS] SKIPPED (Tests only run in --vb1940 mode.)                                                                                  [  5%]
tests/test_coe.py::test_vb1940_mono_linux_argus[Vb1940_Mode.VB1940_MODE_2560X1984_30FPS] SKIPPED (Tests only run in --igpu mode.)                                                                                    [  6%]
tests/test_coe.py::test_vb1940_mono_linux_naive_coe[Vb1940_Mode.VB1940_MODE_2560X1984_30FPS] SKIPPED (Tests only run in --vb1940 mode.)                                                                              [  7%]
tests/test_coe.py::test_vb1940_stereo_linux_naive[Vb1940_Mode.VB1940_MODE_2560X1984_30FPS] SKIPPED (Tests only run in --vb1940 mode.)                                                                                [  7%]
tests/test_coe.py::test_vb1940_stereo_linux_naive_coe[Vb1940_Mode.VB1940_MODE_2560X1984_30FPS] SKIPPED (Tests only run in --vb1940 mode.)                                                                            [  8%]
tests/test_coe.py::test_vb1940_stereo_linux_argus_coe[Vb1940_Mode.VB1940_MODE_2560X1984_30FPS] SKIPPED (Tests only run in --igpu mode.)                                                                              [  9%]
tests/test_distributed_imx274_player.py::test_distributed_imx274_player[Imx274_Mode.IMX274_MODE_3840X2160_60FPS] SKIPPED (TEST HANGS)                                                                                [  9%]
tests/test_distributed_tao_peoplenet.py::test_distributed_tao_peoplenet[Imx274_Mode.IMX274_MODE_3840X2160_60FPS] SKIPPED (Disabled, see https://nvbugspro.nvidia.com/bug/4472408)                                    [ 10%]
tests/test_ecam0m30tof_player.py::test_ecam0m30tof_player[ECam0M30Tof_Mode.EDEPTH_MODE_DEPTH_IR] SKIPPED (Don't run network accelerated tests when --unaccelerated-only is specified.)                               [ 11%]
tests/test_ecam0m30tof_player.py::test_ecam0m30tof_player[ECam0M30Tof_Mode.EDEPTH_MODE_DEPTH] SKIPPED (Don't run network accelerated tests when --unaccelerated-only is specified.)                                  [ 12%]
tests/test_ecam0m30tof_player.py::test_ecam0m30tof_player[ECam0M30Tof_Mode.EDEPTH_MODE_IR] SKIPPED (Don't run network accelerated tests when --unaccelerated-only is specified.)                                     [ 12%]
tests/test_emulator.py::test_emulator_vb1940_loopback[linux-1-0-True] FAILED                                                                                                                                         [ 13%]
tests/test_emulator.py::test_emulator_vb1940_loopback[coe-1-0-True] FAILED                                                                                                                                           [ 14%]
tests/test_emulator.py::test_emulator_vb1940_loopback[linux-1-0-False] FAILED                                                                                                                                        [ 14%]
tests/test_emulator.py::test_emulator_vb1940_loopback[linux-1-1-False] FAILED                                                                                                                                        [ 15%]
tests/test_emulator.py::test_emulator_vb1940_loopback[linux-1-2-False] FAILED                                                                                                                                        [ 16%]
tests/test_emulator.py::test_emulator_single_camera_imx_loopback[imx477-linux-1080p-True] FAILED                                                                                                                     [ 17%]
tests/test_emulator.py::test_emulator_single_camera_imx_loopback[imx477-linux-1080p-False] FAILED                                                                                                                    [ 17%]
tests/test_emulator.py::test_emulator_single_camera_imx_loopback[imx477-linux-4k-False] FAILED                                                                                                                       [ 18%]
tests/test_gpio_example_app.py::test_gpio_example_app SKIPPED (Tests only run in --hsb-nano mode.)                                                                                                                   [ 19%]
tests/test_hololink_acks.py::test_hololink_acks SKIPPED (Don't run network accelerated tests when --unaccelerated-only is specified.)                                                                                [ 19%]
tests/test_hololink_acks.py::test_hololink_ecb_retry SKIPPED (Don't run network accelerated tests when --unaccelerated-only is specified.)                                                                           [ 20%]
tests/test_hololink_enumeration.py::test_hololink_enumeration_native PASSED                                                                                                                                          [ 21%]
tests/test_hololink_enumeration.py::test_hololink_enumeration_supplemental[192.168.0.2] FAILED                                                                                                                       [ 21%]
tests/test_hololink_enumeration.py::test_hololink_enumeration_via_reactor[192.168.0.2] PASSED                                                                                                                        [ 22%]
tests/test_holoscan.py::test_holoscan[720-1280-bayer_format0-pixel_format0-0.1] FAILED                                                                                                                               [ 23%]
tests/test_holoscan.py::test_holoscan[720-1280-bayer_format1-pixel_format1-0.1] terminate called without an active exception
Fatal Python error: Aborted

Here is how I resolved the issues presented above:

The Lattice LF-SNSR-ETH-EVN “holoscan-sensor-bridge” I recently purchased, came with firmware IP v2402. In order to upgrade it to hsb 2.5.0, firmware/IP version 2510 I had to pull these hsb release versions; to build these hsb docker images; to run containers with docker/demo.sh. To then be able to run commands below to upgrade each version of the firmware/IP.

wget https://github.com/nvidia-holoscan/holoscan-sensor-bridge/releases/ {1.1.0,2.0.0,2.5.0}

After following holoscan/sensor-bridge/2.5.0/setup to do “Host Setup” which installs cmake version 4.2.3 kitware.com/cmake, we then must add these ENV lines to docker/Dockerfile docker/Dockerfile.demo to successfully build the images in these two hsb release versions.

holoscan-sensor-bridge-1.1.0/docker/Dockerfile:ENV CMAKE_ARGS="-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
holoscan-sensor-bridge-1.1.0/docker/Dockerfile.demo:ENV CMAKE_ARGS="-DCMAKE_POLICY_VERSION_MINIMUM=3.5"

holoscan-sensor-bridge-2.0.0/docker/Dockerfile:ENV CMAKE_ARGS="-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
holoscan-sensor-bridge-2.0.0/docker/Dockerfile.demo:ENV CMAKE_ARGS="-DCMAKE_POLICY_VERSION_MINIMUM=3.5"

To build each image within each of the three holoscan-sensor-bridge-{1.1.0,2.0.0,2.5.0} directories

docker/build.sh --igpu

These are the commands in each respective docker/demo.sh container to upgrade to next version of firmware.

holoscan-sensor-bridge-1.1.0# 
hololink --manual-enumeration program --accept-eula scripts/manifest-2407.yaml

holoscan-sensor-bridge-2.0.0# 
hololink --force program --accept-eula scripts/manifest-2412.yaml

holoscan-sensor-bridge-2.5.0# 
program_lattice_cpnx100 --force --accept-eula scripts/manifest-2507.yaml

holoscan-sensor-bridge-2.5.0# 
program_lattice_cpnx100 --force --accept-eula scripts/manifest-2510.yaml

holoscan-sensor-bridge-1.0 provides firmware IP FPGA v2402 and is what my hsb had installed.
holoscan-sensor-bridge-1.1-0 provides IP FPGA v2407
holoscan-sensor-bridge-2.0.0 provides IP FPGA v2412
holoscan-sensor-bridge-2.5.0 provides IP FPGA v2507 and v2510