Post Go back to editing

failed to read firmware from eeprom

I am using the AD96 TOF board with Dragonboard 410c, I have connected a display and mouse+keyboard to the dragon board. I see the error Failed to read frirmware from eeprom in the terminal when I try to run the aditof-demo.sh

I have updated the sdk on the sd card following the build instructions here https://github.com/analogdevicesinc/aditof_sdk/blob/master/doc/dragonboard410c/build_instructions.md

Although I was able to run the aditof-demo.sh initially on the dragonboard, I then attempted to connect the dragon board over USB to PC and run the aditof-demo on a linux PC where the eeprom firmware error first showed up, Reverting to the dragon board setup I see the same issue while trying to run the aditof-demo on the dragonboard now. 

Please help me with any leads on how I can identify what is missing at my end which could be creating this issue?, I have tried running the eeprom tool which returns segmentation fault.

  

Parents
  • Can you try to read the contents of the eeprom using the eeprom tool?

    Firstly, make sure you build the tool by using the flag '-DWITH_TOOLS=1'. Ex: ''cmake -DDRAGONBOARD=1 -DWITH_TOOLS=1 ..'

    After building the project run the tool like this:

    ./eeprom-tool -m -r backup.bin

    If this runs ok please attach the bin here, else post here the output / error

Reply
  • Can you try to read the contents of the eeprom using the eeprom tool?

    Firstly, make sure you build the tool by using the flag '-DWITH_TOOLS=1'. Ex: ''cmake -DDRAGONBOARD=1 -DWITH_TOOLS=1 ..'

    After building the project run the tool like this:

    ./eeprom-tool -m -r backup.bin

    If this runs ok please attach the bin here, else post here the output / error

Children
  • Thanks for the suggestion.

    I did run it and it worked after adding sudo to the command, I see the below  messages,

    linaro@linaro-alip:~/workspace/github/aditof_sdk/build/tools/eeprom-tool$ sudo ./eeprom-tool -m -r backup.bin
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0125 07:21:59.512212 4369 eeprom_tool.cpp:85] Setting connection via ON_TARGET
    I0125 07:21:59.512920 4369 sensor_enumerator_dragonboard.cpp:156] Looking for sensors on the target
    I0125 07:21:59.513767 4369 sensor_enumerator_dragonboard.cpp:176] Looking at: /dev/media1 for an eligible TOF camera
    I0125 07:21:59.619187 4369 sensor_enumerator_dragonboard.cpp:190] Considering: /dev/media1 an eligible TOF camera
    I0125 07:21:59.619457 4369 sensor_enumerator_dragonboard.cpp:176] Looking at: /dev/media0 for an eligible TOF camera
    I0125 07:21:59.650869 4369 addi9036_sensor.cpp:139] Opening device
    I0125 07:21:59.651070 4369 addi9036_sensor.cpp:157] Looking for the following cards:
    I0125 07:21:59.651150 4369 addi9036_sensor.cpp:159] Qualcomm Camera Subsystem
    I0125 07:21:59.682018 4369 eeprom_tool.cpp:147] Successfully created connection to EEPROM
    I0125 07:22:00.501250 4369 cam96tof1_eeprom.cpp:59] EEPROM calibration data size 64940 bytes
    E0125 07:22:06.512076 4369 cam96tof1_eeprom.cpp:74] Successfully read data from EEPROM
    I0125 07:22:06.514055 4369 eeprom_tool.cpp:242] Successfully wrote data to file
    I0125 07:22:06.514230 4369 eeprom_tool.cpp:207] Successfully wrote data to file from EEPROM
    I0125 07:22:06.514389 4369 eeprom_tool.cpp:251] Destroyed connection

    Attaching the bin file.

  • , I see the bin file is not getting uploaded here, sent you the bin file on email. Please check

  • I wasn't able to recover the EEPROM content.

    An option is to rewrite the EEPROM with another image.

    First thing to do is to update aditof_sdk to latest from master branch. Then use the eeprom-tool to rewrite the EEPROM. You can use the EEPROM content from this file: https://github.com/analogdevicesinc/aditof_sdk/blob/master/misc/ad-96tof1-ebz/ad96tof1_eeprom.bin

    -Dan

  • Also, what revision is the camera board?

  • Hi Dan,

    On the camera board its mentioned REV D Z, attaching a snaphshot of the module

  • Thanks, I will rewrite the EEPROM to see if the issue goes away.

    Could you confirm, the eeprom tool usage to write to eeprom from a file?

    ./eeprom-tool -m -w <path to file>  will do?

  • Hi,

    That command will do.

    Please let us know the results.

  • Thanks for the help, Iam able to run aditof-demo now on the dragonboard after writing the new bin file to eeprom. The firmware error does not appear now.

  • Hi ,

    I still cant get the aditof-demo running on my linux pc, below are the messages I seem, any leads on what could be the issue here?


    santosh@santosh-Latitude-E7450:~/Documents/ccd_tof/aditof_sdk/build/examples/aditof-demo$ sudo ./aditof-demo
    [sudo] password for santosh:
    I0127 15:36:30.424474 3628 system_impl.cpp:91] Could not create TargetSensorEnumerator because SDK is not running on target.
    I0127 15:36:30.424830 3628 usb_sensor_enumerator.cpp:85] Looking for USB connected sensors
    I0127 15:36:30.615962 3628 camera_96tof1.cpp:144] Initializing camera
    I0127 15:36:30.616041 3628 usb_depth_sensor_linux.cpp:112] Opening device
    W0127 15:36:30.616326 3628 usb_linux_utils.cpp:128] Error in reading data from device, error: 2(No such file or directory)
    W0127 15:36:30.616715 3628 usb_storage_linux.cpp:119] Failed to read a packet via UVC extension unit. Error: -1
    W0127 15:36:31.126885 3628 usb_linux_utils.cpp:128] Error in reading data from device, error: 110(Connection timed out)
    W0127 15:36:31.127058 3628 usb_linux_utils.cpp:170] Failed to read a packet via UVC extension unit
    W0127 15:36:31.127156 3628 usb_storage_linux.cpp:82] Failed to read buffer through UVC extension unit. Error: -1
    I0127 15:36:31.127203 3628 calibration_96tof1.cpp:164] EEPROM calibration data size 100 bytes
    I0127 15:36:31.798282 3628 camera_96tof1.cpp:200] Camera initialized
    W0127 15:36:31.798384 3628 calibration_96tof1.cpp:346] No intrinsics found in the device memory for key 6.000000
    I0127 15:36:31.917218 3628 camera_96tof1.cpp:231] Chosen mode: near
    I0127 15:36:31.917268 3628 camera_96tof1.cpp:273] Camera range for mode: near is: 250 mm and 800 mm
    W0127 15:36:31.917291 3628 camera_96tof1.cpp:280] Failed to read firmware from eeprom

  • The USB communication seems unstable. Are you using a direct USB cable between PC and Dragonboard? or is there an USB hub in-between?