build error of aditof_sdk for jetson nano

Hello,

I have a problem with  Jetson Nano SD card image for AD-96TOF1-EBZ, can you help me please?

===========================================================

case #1

-------

git pull
mkdir build && cd build
cmake -DJETSON=1 -DCMAKE_PREFIX_PATH="/opt/glog;/opt/protobuf;/opt/websockets" ..
make
------
Result : Build error as below
------


=====================================================================================================

case #2

git clone github.com/.../aditof_sdk
cd aditof_sdk
mkdir build && cd build
cmake -DJETSON=1 -DCMAKE_PREFIX_PATH="/opt/glog;/opt/protobuf;/opt/websockets" ..
make
-----
Result : Built error as below
-----
analog@analog-desktop:~/workspace/github$ git clone github.com/.../aditof_sdk
Cloning into 'aditof_sdk'...
remote: Enumerating objects: 254, done.
remote: Counting objects: 100% (254/254), done.
remote: Compressing objects: 100% (179/179), done.
remote: Total 7193 (delta 113), reused 156 (delta 65), pack-reused 6939
Receiving objects: 100% (7193/7193), 80.19 MiB | 370.00 KiB/s, done.
Resolving deltas: 100% (4419/4419), done.
analog@analog-desktop:~/workspace/github$ cd aditof_sdk
analog@analog-desktop:~/workspace/github/aditof_sdk$ ls build
ls: cannot access 'build': No such file or directory
analog@analog-desktop:~/workspace/github/aditof_sdk$ mkdir build
analog@analog-desktop:~/workspace/github/aditof_sdk$ cd build
analog@analog-desktop:~/workspace/github/aditof_sdk/build$ cmake -DJETSON=1 -DCMAKE_PREFIX_PATH="/opt/glog;/opt/protobuf;/opt/websockets" ..
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found Protobuf: /opt/protobuf/lib/libprotobuf.a;-lpthread (found suitable version "3.9.0", minimum required is "3.9.0") 
-- Found OpenCV: /usr (found version "4.1.1") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/analog/workspace/github/aditof_sdk/build
analog@analog-desktop:~/workspace/github/aditof_sdk/build$ make
[  2%] Running C++ protocol buffer compiler on src/connections/network/buffer.proto
Scanning dependencies of target aditof
[  4%] Building CXX object sdk/CMakeFiles/aditof.dir/src/camera_factory.cpp.o
[  6%] Building CXX object sdk/CMakeFiles/aditof.dir/src/device_enumerator_factory.cpp.o
[  8%] Building CXX object sdk/CMakeFiles/aditof.dir/src/device_enumerator_impl.cpp.o
[ 10%] Building CXX object sdk/CMakeFiles/aditof.dir/src/device_factory.cpp.o
[ 12%] Building CXX object sdk/CMakeFiles/aditof.dir/src/eeprom_factory.cpp.o
[ 14%] Building CXX object sdk/CMakeFiles/aditof.dir/src/ethernet_device.cpp.o
[ 17%] Building CXX object sdk/CMakeFiles/aditof.dir/src/ethernet_eeprom.cpp.o
[ 19%] Building CXX object sdk/CMakeFiles/aditof.dir/src/filters_factory.cpp.o
[ 21%] Building CXX object sdk/CMakeFiles/aditof.dir/src/frame.cpp.o
[ 23%] Building CXX object sdk/CMakeFiles/aditof.dir/src/frame_impl.cpp.o
[ 25%] Building CXX object sdk/CMakeFiles/aditof.dir/src/frame_operations.cpp.o
[ 27%] Building CXX object sdk/CMakeFiles/aditof.dir/src/system.cpp.o
[ 29%] Building CXX object sdk/CMakeFiles/aditof.dir/src/system_impl.cpp.o
[ 31%] Building CXX object sdk/CMakeFiles/aditof.dir/src/usb_device.cpp.o
[ 34%] Building CXX object sdk/CMakeFiles/aditof.dir/src/utils.cpp.o
[ 36%] Building CXX object sdk/CMakeFiles/aditof.dir/src/variance_filter.cpp.o
[ 38%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/mipi/local_device.cpp.o
In file included from /home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/local_device.cpp:33:0:
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:43:20: warning: TEMP_SENSOR_REPLACEMENT_DEV_PATH’ defined but not used [-Wunused-variable]
 static const char *TEMP_SENSOR_REPLACEMENT_DEV_PATH = "";
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:40:20: warning: EEPROM_REPLACEMENT_PATH’ defined but not used [-Wunused-variable]
 static const char *EEPROM_REPLACEMENT_PATH =
                    ^~~~~~~~~~~~~~~~~~~~~~~
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:38:20: warning: EEPROM_DEV_PATH’ defined but not used [-Wunused-variable]
 static const char *EEPROM_DEV_PATH = "/sys/bus/i2c/devices/6-0056/eeprom";
                    ^~~~~~~~~~~~~~~
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:35:20: warning: EEPROM_NAME’ defined but not used [-Wunused-variable]
 static const char *EEPROM_NAME = "24c1024";
                    ^~~~~~~~~~~
[ 40%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/mipi/local_eeprom.cpp.o
[ 42%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/mipi/usb_device.cpp.o
[ 44%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/mipi/usb_eeprom.cpp.o
[ 46%] Building C object sdk/CMakeFiles/aditof.dir/src/connections/mipi/temp_sensor.c.o
[ 48%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/mipi/jetson/device_enumerator_jetson.cpp.o
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/device_enumerator_jetson.cpp: In member function ‘virtual aditof::Status DeviceEnumeratorImpl::findDevices(std::vector<aditof::DeviceConstructionData>&)’:
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/device_enumerator_jetson.cpp:68:22: warning: unused variable ‘video’ [-Wunused-variable]
     for (const auto &video : videoPaths) {
                      ^~~~~
In file included from /home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/device_enumerator_jetson.cpp:33:0:
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h: At global scope:
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:45:20: warning: CAPTURE_DEVICE_NAME’ defined but not used [-Wunused-variable]
 static const char *CAPTURE_DEVICE_NAME = "vi-output, addi9036 6-0064";
                    ^~~~~~~~~~~~~~~~~~~
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:43:20: warning: TEMP_SENSOR_REPLACEMENT_DEV_PATH’ defined but not used [-Wunused-variable]
 static const char *TEMP_SENSOR_REPLACEMENT_DEV_PATH = "";
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:40:20: warning: EEPROM_REPLACEMENT_PATH’ defined but not used [-Wunused-variable]
 static const char *EEPROM_REPLACEMENT_PATH =
                    ^~~~~~~~~~~~~~~~~~~~~~~
/home/analog/workspace/github/aditof_sdk/sdk/src/connections/mipi/jetson/target_definitions.h:37:20: warning: TEMP_SENSOR_DEV_PATH’ defined but not used [-Wunused-variable]
 static const char *TEMP_SENSOR_DEV_PATH = "/dev/i2c-6";
                    ^~~~~~~~~~~~~~~~~~~~
[ 51%] Building CXX object sdk/CMakeFiles/aditof.dir/src/cameras/ad-96tof1-ebz/calibration_96tof1.cpp.o
[ 53%] Building CXX object sdk/CMakeFiles/aditof.dir/src/cameras/ad-96tof1-ebz/camera_96tof1.cpp.o
[ 55%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/usb/usb_utils.cpp.o
[ 57%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/network/device_enumerator_ethernet.cpp.o
[ 59%] Building CXX object sdk/CMakeFiles/aditof.dir/src/connections/network/network.cpp.o
[ 61%] Building CXX object sdk/CMakeFiles/aditof.dir/buffer.pb.cc.o
[ 63%] Linking CXX shared library libaditof.so
[ 63%] Built target aditof
Scanning dependencies of target eeprom-tool
[ 65%] Building CXX object tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/main.cpp.o
[ 68%] Building CXX object tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/eeprom_tool.cpp.o
[ 70%] Building CXX object tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/cam96tof1_eeprom.cpp.o
[ 72%] Building CXX object tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/cli_helper.cpp.o
[ 74%] Building CXX object tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/camera_eeprom_factory.cpp.o
[ 76%] Linking CXX executable eeprom-tool
../../sdk/libaditof.so.1.6.0: undefined reference to `SSL_get_ex_new_index'
../../sdk/libaditof.so.1.6.0: undefined reference to `SSL_COMP_free_compression_methods'
../../sdk/libaditof.so.1.6.0: undefined reference to `SSL_CTX_get_ex_new_index'
../../sdk/libaditof.so.1.6.0: undefined reference to `ERR_free_strings'
../../sdk/libaditof.so.1.6.0: undefined reference to `SSL_load_error_strings'
../../sdk/libaditof.so.1.6.0: undefined reference to `SSL_library_init'
../../sdk/libaditof.so.1.6.0: undefined reference to `OPENSSL_add_all_algorithms_noconf'
../../sdk/libaditof.so.1.6.0: undefined reference to `EVP_cleanup'
../../sdk/libaditof.so.1.6.0: undefined reference to `SSLv23_server_method'
../../sdk/libaditof.so.1.6.0: undefined reference to `sk_value'
../../sdk/libaditof.so.1.6.0: undefined reference to `CRYPTO_cleanup_all_ex_data'
collect2: error: ld returned 1 exit status
tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/build.make:200: recipe for target 'tools/eeprom-tool/eeprom-tool' failed
make[2]: *** [tools/eeprom-tool/eeprom-tool] Error 1
CMakeFiles/Makefile2:190: recipe for target 'tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/all' failed
make[1]: *** [tools/eeprom-tool/CMakeFiles/eeprom-tool.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
analog@analog-desktop:~/workspace/github/aditof_sdk/build$ 
========================================================================================================

Best regards,

H.Kashima

Parents
  • +1
    •  Analog Employees 
    on Nov 23, 2020 10:08 AM 3 months ago

    Hi,

    It looks like websockets was linked to a version of openSSL. And in the meantime, the operating system was updated with a newer version of openSSL which doesn't have the functions that appear in your build log.

    You need to rebuild websockets. Check the steps at (see Libwebsockets section):

    https://github.com/analogdevicesinc/aditof_sdk/blob/master/doc/linux/build_instructions.md

    And then rebuild the aditof_sdk.

    Or, if you don't care about the network component (you just want to run things on the Jetson Nano) you can disable this component and you won't need websockets nor protobuf dependecies. You can disabled it from cmake:

     cmake -DJETSON=1 -DCMAKE_PREFIX_PATH="/opt/glog;/opt/protobuf;/opt/websockets" -DWITH_NETWORK=OFF ..

    -Dan

  • Hi,

    Thanks for your advice.

    After rebuilding websockes, I confirmed that aditof-sdk could be built successfully, either  1.6.0 or 1.5.0.

    Unfortunately, when I ran imshow_jetson, I got following error messages.

    analog@analog-desktop:~/workspace/github/aditof_sdk-1.5.0/build/examples/imshow-jetson$ ./imshow-jetson 
    I1124 10:29:51.048233 10825 device_enumerator_jetson.cpp:47] Looking for devices on the target
    I1124 10:29:51.049988 10825 device_enumerator_jetson.cpp:80] Looking at: /dev/video0 for an eligible TOF camera
    I1124 10:29:51.050840 10825 system_impl.cpp:62] System initialized
    I1124 10:29:51.050916 10825 camera_96tof1.cpp:74] Initializing camera
    I1124 10:29:51.050945 10825 local_device.cpp:153] Opening device
    Error eeprom_open: Permission denied
    W1124 10:29:51.074218 10825 local_device.cpp:234] EEPROM not available!
    W1124 10:29:51.074589 10825 local_device.cpp:661] EEPROM not available!
    W1124 10:29:51.074653 10825 local_device.cpp:642] EEPROM not available!
    I1124 10:29:51.074700 10825 calibration_96tof1.cpp:163] EEPROM calibration data size 100 bytes
    W1124 10:29:51.074775 10825 local_device.cpp:642] EEPROM not available!
    W1124 10:29:51.074831 10825 calibration_96tof1.cpp:175] Failed to read from eeprom
    W1124 10:29:51.074882 10825 camera_96tof1.cpp:85] Failed to read calibration data from eeprom
    E1124 10:29:51.074925 10825 main.cpp:108] Could not initialize camera!
    Segmentation fault (core dumped)
    analog@analog-desktop:~/workspace/github/aditof_sdk-1.5.0/build/examples/imshow-jetson$ 
    

    [ 2484.470194] addi9036 6-0064: camera_common_mclk_enable: enable MCLK with 37125000 Hz
    [ 2484.470225] addi9036 6-0064: camera_common_dpd_disable: csi 0
    [ 2484.470350] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x64
    [ 2484.478664] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x64
    [ 2484.485433] addi9036 6-0064: camera_common_dpd_enable: csi 0
    [ 2484.485438] addi9036 6-0064: camera_common_mclk_disable: disable MCLK
    [ 2525.507478] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [ 2525.507545] Bluetooth: BNEP socket layer initialized
     


    My hardware environment is shown below.


    Best regards,
    H.Kashima

  • 0
    •  Analog Employees 
    on Nov 24, 2020 9:00 AM 3 months ago in reply to HYKS

    Looks like extra permission is needed to access the EEPROM (Error eeprom_open: Permission denied)

    Can you please try to run the example with sudo?

    sudo ./imshow-jetson
  • Hi ,

    I tried to run with sudo, but I still got the same error messages.

    analog@analog-desktop:~/workspace/github/aditof_sdk-1.5.0/build/examples/imshow-jetson$ sudo ./imshow-jetson 
    [sudo] password for analog: 
    I1124 11:02:06.724707 12794 device_enumerator_jetson.cpp:47] Looking for devices on the target
    I1124 11:02:06.726727 12794 device_enumerator_jetson.cpp:80] Looking at: /dev/video0 for an eligible TOF camera
    I1124 11:02:06.727660 12794 system_impl.cpp:62] System initialized
    I1124 11:02:06.727783 12794 camera_96tof1.cpp:74] Initializing camera
    I1124 11:02:06.727824 12794 local_device.cpp:153] Opening device
    Error eeprom_open: Permission denied
    W1124 11:02:06.751551 12794 local_device.cpp:234] EEPROM not available!
    W1124 11:02:06.752228 12794 local_device.cpp:661] EEPROM not available!
    W1124 11:02:06.752281 12794 local_device.cpp:642] EEPROM not available!
    I1124 11:02:06.752323 12794 calibration_96tof1.cpp:163] EEPROM calibration data size 100 bytes
    W1124 11:02:06.752393 12794 local_device.cpp:642] EEPROM not available!
    W1124 11:02:06.752441 12794 calibration_96tof1.cpp:175] Failed to read from eeprom
    W1124 11:02:06.752486 12794 camera_96tof1.cpp:85] Failed to read calibration data from eeprom
    E1124 11:02:06.752526 12794 main.cpp:108] Could not initialize camera!
    Segmentation fault
    analog@analog-desktop:~/workspace/github/aditof_sdk-1.5.0/build/examples/imshow-jetson$ 

    Best regards,

    H.Kashima

  • 0
    •  Analog Employees 
    on Nov 24, 2020 11:15 AM 3 months ago in reply to HYKS

    Looking at the output of the ADDI9036 driver, it looks like there is a problem with the I2C communication.

    This might be because you are using a different version of Jetson. The one we used is Jetson Nano 2GB Developer Kit.

    So you will have to do some modifications to the device tree in order to map the I2C for the new board. My understanding is that your version of the board has an additionally I2C MUX and because of it, the device tree needs to be changed.

  • Hi DHechita,

    Thanks for your answer.

    I understood that I need to modify the device tree for my Jetson Nano 4GB.

    Could you please kindly let me know how to do it ?

    Best regards,

    H.Kashima

  • +1
    •  Analog Employees 
    on Nov 25, 2020 9:33 AM 3 months ago in reply to HYKS

    Hi,
    Firstly I would suggest to try to flip the flex-cable and also try to plug it in the other port.
    Secondly, it would be a good start to use i2cdetect in order to find the i2c bus that the camera connects to:
    In a terminal type:

    i2cdetect -l

    in order to list all i2c buses.
    Then list the devices on each bus until something appears at 0x64 (the camera), 0x56 (the eeprom) and 0x49 and 0x4b (temperature sensors).
    For example, in order to list the devices on bus 2 type:

    i2cdetect -r -y 2

    After you find the correct bus, please post the result.

  • Hi Litan,

    Thanks for your replies.

    I got the same result from 4 cases shown below  even I tried to flip the flex-cable and also try to plug it in the other port.

    case 1 ; do not  flip the flex-cable  and  plug original port 

    case 2;  flip the flex-cable and plug in the original port

    case 3;  do not  flip the flex-cable and plug in the other port

    case 4; flip the flex-cable and plug in the other port

    analog@analog-desktop:~$ i2cdetect -l
    i2c-3	i2c       	7000c700.i2c                    	I2C adapter
    i2c-1	i2c       	7000c400.i2c                    	I2C adapter
    i2c-6	i2c       	Tegra I2C adapter               	I2C adapter
    i2c-4	i2c       	7000d000.i2c                    	I2C adapter
    i2c-2	i2c       	7000c500.i2c                    	I2C adapter
    i2c-0	i2c       	7000c000.i2c                    	I2C adapter
    i2c-5	i2c       	7000d100.i2c                    	I2C adapter
    analog@analog-desktop:~$ i2cdetect -r -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 1
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 2
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: 50 -- -- -- -- -- -- 57 -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 4
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 6
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- UU -- -- -- -- -- 6a -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 3
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          ^X^C
    
    analog@analog-desktop:~$ 
    analog@analog-desktop:~$ i2cdetect -r -y 5
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          ^X^C
    
    analog@analog-desktop:~$ 
    analog@analog-desktop:~$ 
    

    Best regards,
    H.Kashima
Reply
  • Hi Litan,

    Thanks for your replies.

    I got the same result from 4 cases shown below  even I tried to flip the flex-cable and also try to plug it in the other port.

    case 1 ; do not  flip the flex-cable  and  plug original port 

    case 2;  flip the flex-cable and plug in the original port

    case 3;  do not  flip the flex-cable and plug in the other port

    case 4; flip the flex-cable and plug in the other port

    analog@analog-desktop:~$ i2cdetect -l
    i2c-3	i2c       	7000c700.i2c                    	I2C adapter
    i2c-1	i2c       	7000c400.i2c                    	I2C adapter
    i2c-6	i2c       	Tegra I2C adapter               	I2C adapter
    i2c-4	i2c       	7000d000.i2c                    	I2C adapter
    i2c-2	i2c       	7000c500.i2c                    	I2C adapter
    i2c-0	i2c       	7000c000.i2c                    	I2C adapter
    i2c-5	i2c       	7000d100.i2c                    	I2C adapter
    analog@analog-desktop:~$ i2cdetect -r -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 1
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 2
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: 50 -- -- -- -- -- -- 57 -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 4
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 6
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- UU -- -- -- -- -- 6a -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$ i2cdetect -r -y 3
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          ^X^C
    
    analog@analog-desktop:~$ 
    analog@analog-desktop:~$ i2cdetect -r -y 5
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          ^X^C
    
    analog@analog-desktop:~$ 
    analog@analog-desktop:~$ 
    

    Best regards,
    H.Kashima
Children
  • +1
    •  Analog Employees 
    on Nov 26, 2020 9:20 AM 3 months ago in reply to HYKS

    Hi,

    As far as I can tell from those results the camera is not detected on any i2c bus (although something is present at 0x64 on bus 6, the EEPROM should also be present to be sure that is the camera).

    I suggest that you do some more tries until the camera is detected on one of the i2c buses:

    • When flipping the cable make sure to do it on both ends, for example: make sure that the blue plastic is oriented in the same direction on both connectors.
    • Try another cable
    • Try to turn on the camera before booting the board

    Sample output from i2cdetect with the camera connected properly:

    analog@analog-desktop:~$ i2cdetect -r -y 9
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
    40: -- -- -- -- -- -- -- -- -- 49 -- 4b -- -- -- -- 
    50: -- -- -- -- -- -- 56 57 -- -- -- -- -- -- -- -- 
    60: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                        


    How the camera was connected:

    (notice the blue plastic)


    Also run:
    lsmod

    in order to see if the driver is loaded.

  • Hi Virgil,

    Thanks for your help.

    I can find host i2c devices as below.

    analog@analog-desktop:~$ i2cdetect -r -y 6
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: UU -- -- -- -- -- -- -- -- 49 -- 4b -- -- -- -- 
    50: -- -- -- -- -- -- UU UU -- -- -- -- -- -- -- -- 
    60: -- -- -- -- UU -- -- -- -- -- 6a -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    analog@analog-desktop:~$

    I also tried running imshow-jetson and confirmed that it worked properly.

    analog@analog-desktop:~/workspace/github/aditof_sdk-1.5.0/build/examples$ cd imshow-jetson/
    analog@analog-desktop:~/workspace/github/aditof_sdk-1.5.0/build/examples/imshow-jetson$ ./imshow-jetson 
    I1127 04:04:50.555006 11162 device_enumerator_jetson.cpp:47] Looking for devices on the target
    I1127 04:04:50.557193 11162 device_enumerator_jetson.cpp:80] Looking at: /dev/video0 for an eligible TOF camera
    I1127 04:04:50.558080 11162 system_impl.cpp:62] System initialized
    I1127 04:04:50.558157 11162 camera_96tof1.cpp:74] Initializing camera
    I1127 04:04:50.558202 11162 local_device.cpp:153] Opening device
    I1127 04:04:50.817165 11162 calibration_96tof1.cpp:163] EEPROM calibration data size 64940 bytes
    I1127 04:04:52.605535 11162 camera_96tof1.cpp:91] Camera initialized
    I1127 04:04:52.608119 11162 local_device.cpp:248] Starting device
    I1127 04:04:52.608430 11162 camera_96tof1.cpp:122] Chosen mode: near
    I1127 04:04:52.608481 11162 camera_96tof1.cpp:163] Camera range for mode: near is: 250 mm and 800 mm
    I1127 04:04:52.609177 11162 camera_96tof1.cpp:173] Found firmware for mode: near
    I1127 04:04:52.609211 11162 camera_96tof1.cpp:176] Firmware size: 10440 bytes
    I1127 04:04:55.790069 11162 calibration_96tof1.cpp:376] Camera calibration parameters for mode: near are gain: 1 offset: 0
    I1127 04:04:55.790249 11162 calibration_96tof1.cpp:388] Camera intrinsic parameters:
        fx: 393.27
        fy: 390.678
        cx: 328.386
        cy: 256.216
    
    Best regards,
    H.Kashima