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.

  

  • 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?

  • I am using a Direct USB cable

  • I checked the dmseg messages, I see this one appear when I try to run the application

    [ 6366.713132] uvcvideo: Failed to query (GET_CUR) UVC control 5 on unit 3: -110 (exp. 60).

    Is it an issue with linux ?, I am on ubuntu 20.04 LTS

  • 110 is the error code for timeout. Can you try to reboot both the board and your PC?

    Also, is you aditof_sdk on the PC up-to-date? (latest from master)?

  • Yes I have updated and rebuilt the applications, the timeout issue has gone after reboot, but I see this,

    santosh@santosh-Latitude-E7450:~/Documents/ccd_tof/aditof_sdk/build/examples/aditof-demo$ sudo ./aditof-demo
    I0127 17:11:36.339990  2296 system_impl.cpp:91] Could not create TargetSensorEnumerator because SDK is not running on target.
    I0127 17:11:36.340368  2296 usb_sensor_enumerator.cpp:85] Looking for USB connected sensors
    W0127 17:11:36.529641  2296 camera_96tof1.cpp:91] Could not find 24c1024 while looking for storage for camera AD-96TOF1-EBZ
    I0127 17:11:36.530390  2296 camera_96tof1.cpp:144] Initializing camera
    W0127 17:11:36.530436  2296 camera_96tof1.cpp:147] Failed to initialize! Not all sensors are available
    W0127 17:11:36.530635  2296 usb_depth_sensor_linux.cpp:205] Failed to set Pixel Format, error: 25(Inappropriate ioctl for device)
    W0127 17:11:36.530699  2296 camera_96tof1.cpp:371] Failed to set frame type
    I0127 17:11:36.646940  2296 camera_96tof1.cpp:231] Chosen mode: near
    I0127 17:11:36.646993  2296 camera_96tof1.cpp:273] Camera range for mode: near is: 250 mm and 800 mm
    W0127 17:11:36.647015  2296 camera_96tof1.cpp:280] Failed to read firmware from eeprom

  • I haven't seen this before. If you start the demo 2-3 times, will the same error be displayed? (I'm trying to figure out if USB communication is unstable or it's something else this time)