Maybe a silly question stemming from my limited knowledge, but how do I get the device firmware version? I have the OAK-D Pro POE.

Following the example here, I can get the bootloader version. I also see a firmwareVersion field in the ApplicationInfo class of DeviceBootloader, and it is a hash that is only populated when there's an application flashed to the device. I am not sure if this is the version I am looking for.

  • jakaskerl replied to this.
  • Hi @zepman
    Running the script with DEPTHAI_LEVEL=info or lower should tell you the device binary version. I think it should be the same one since it is extracted from the same mcmvd binary file.

    Thanks,
    Jaka

    Hi zepman
    Device FW version depends on the depthai version. Example luxonis/depthai-core08ac4ea . You can't really get the version otherwise since it is closed source. Best way to tell is depthai commit hash.

    Why do you need the FW version anyway?

    Thanks,
    Jaka

      jakaskerl Thanks for the response.
      After discussing this with my colleagues, it looked like we could potentially use the firmwareVersion field in the ApplicationInfo class of DeviceBootloader. I went through some of the depthai-core source code (like DeviceBootloader.cpp ) to find out what that field actually represents but couldn't figure it out. Below is the output I see from running this example.

      Version: 0.0.28
      
      NETWORK Bootloader, is User Bootloader: False
      
      Memory 'Memory.FLASH' size: 67108864, info: JEDEC ID: C2 25 3A
      
      Application name: Test, firmware version: 9822af7082d67b87c5307b9c37ec7f6ab8e1bbce
      
      Memory 'EMMC' not available...

      The firmware version is only present when there is an application flashed to the device. However, I see that the hash is the same value regardless of the application/pipeline on the device. So what exactly does this firmware version hash represent?

      In any case, is it possible to somehow version the application/pipeline to allow tracking of what we have on the device?

      Hi @zepman
      Running the script with DEPTHAI_LEVEL=info or lower should tell you the device binary version. I think it should be the same one since it is extracted from the same mcmvd binary file.

      Thanks,
      Jaka

        jakaskerl

        Thanks I have the level set to debug, so one of the lines has the hash that matches the firmware version printed by the example script.

        [2024-08-15 15:45:29.629] [depthai] [debug] Resources - Archive 'depthai-device-fwp-9822af7082d67b87c5307b9c37ec7f6ab8e1bbce.tar.xz' open: 3ms, archive read: 820ms