今天更新了d435i的固件,结果运行的时候一直报错。不管他吧也能用,有camera/imu话题但是但是没有imu数据
(response -7= HW not ready)hwmon command 0x80( 5 0 0 0 ) failed
(response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed
(response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed
(response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed
连接pc端的2.55.4的驱动的时候没有任何报错而且能正常显示imu数据,初步怀疑是驱动版本导致的。所以卸载librealsense2.50后重新安装librealsense2.55.1,卸载直接进到2.50的build里面执行sudo make uninstall 即可
当我按照其他文章给的流程重新安装librealsense的时候并不是那么顺利....(浪费了我两三个小时)
Fetching nlohmann/json...
Cloning into 'json'...
cmake..后显示这个,然后不久后紧跟着报错
Cloning into 'json'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Cloning into 'json'...
##或者是
unable to access 'https://github.com/nlohmann/json.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
我也看了一些文章说的调整缓存区(对我来说没有任何用)
git config --global http.postBuffer 524288000
于是我直接去json的git去拉取该工程,然后自行编译。注意,这需要修改几个部分的东西来绕开cmake的拉取。
sudo cd librealsense/ ;mkdir build;cd build ;cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true
##先报错一次
sudo cp ~/Desktop/json-download/ librealsense/build/external-projects
cd ..
##回到librealsense目录修改Cmake文件夹下的external_json.cmake全选后注释掉
cd ~/Desktop/json-download/ ;mkdir build;cd build ;cmake ..;sudo make install;
##手动编译json,然后回去再次cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true一看居然过了
也有libcurl的报错
比如
Cloning into 'libcurl'...
fatal: unable to access 'https://github.com/curl/curl.git/': gnutls_handshake() failed: Error in the pull function.
Cloning into 'libcurl'...
fatal: unable to access 'https://github.com/curl/curl.git/': SSL: certificate subject name (cloudflare-dns.com) does not match target host name 'github.com'
Cloning into 'libcurl'...
fatal: unable to access 'https://github.com/curl/curl.git/': gnutls_handshake() failed: Error in the pull function.
-- Had to git clone more than once:
3 times.
CMake Error at /home/orangepi/Desktop/librealsense-2.55.1/build/libcurl/tmp/libcurl-gitclone.cmake:31 (message):
Failed to clone repository: 'https://github.com/curl/curl.git'
make[2]: *** [CMakeFiles/libcurl.dir/build.make:92: libcurl/src/libcurl-stamp/libcurl-download] Error 1
make[1]: *** [CMakeFiles/Makefile2:967: CMakeFiles/libcurl.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
我承认可能是网络配置有点问题,有精力的同学可以自己想办法科学一下。但是对我还是用处不大也没有足够耐心了,所以继续上述操作——先给下下来,然后放进去自己编译或者放到指定目标目录后绕过cmake的拉取
##修改librealsense目录下的Cmake文件夹的external_libcurl.cmake文件
ExternalProject_Add(
libcurl
# PREFIX libcurl
# GIT_REPOSITORY "https://github.com/curl/curl.git"
# GIT_TAG "2f33be817cbce6ad7a36f27dd7ada9219f13584c" # curl-7_75_0
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/third-party/libcurl
CMAKE_ARGS -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}
-DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL}
-DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}
-DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO}
-DCMAKE_CXX_STANDARD_LIBRARIES=${CMAKE_CXX_STANDARD_LIBRARIES}
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/libcurl/libcurl_install
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_STL=${ANDROID_STL} ${CURL_FLAGS}
UPDATE_COMMAND ""
PATCH_COMMAND ""
TEST_COMMAND ""
)
##注释掉上面的三行,自行从该地址拉取libcurl 然后一样的操作,放置到build目录下,注意还要在third-party里面放一份
##或者自己编译
cd libcurl ; mkdir build;cd build; cmake ..;sudo make install
基本上就这些了,祝你们realsense愉快,补觉去了......
附上一张编译成功的截图