I have 2 Jetson TX1 boards on hand. I can now conclude that the USB hard-hanging problem is more easily reproduced on the older board (bought around Dec. 2015), but it’s very difficult to repro the problem on the newer board. I’ll post more information, such as S/N, about the boards later.
Here’s how I reproduce the problem on Jetson TX1.
-
Download “OpenCV for Linux/Mac (Version 3.1)” from http://opencv.org/downloads.html
-
Compile and install OpenCV-3.1.0 by following the official Jetson Installing_OpenCV guide.
# Add universal repository to Ubuntu
sudo apt-add-repository universe
sudo apt-get update
# Some general development libraries
sudo apt-get install -y build-essential make cmake cmake-curses-gui g++
# libav video input/output development libraries
sudo apt-get install -y libavformat-dev libavutil-dev libswscale-dev
# Video4Linux camera development libraries
sudo apt-get install -y libv4l-dev
# Eigen3 math development libraries
sudo apt-get install -y libeigen3-dev
# OpenGL development libraries (to allow creating graphical windows)
sudo apt-get install -y libglew1.6-dev
# GTK development libraries (to allow creating graphical windows)
sudo apt-get install -y libgtk2.0-dev
# Compile and install opencv
cd ~
mkdir src
cd src
unzip ~/Downloads/opencv-3.1.0.zip
cd opencv-3.1.0
mkdir build
cd build
cmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN="5.3" -DCUDA_ARCH_PTX="" -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCUDA_FAST_MATH=ON -DCMAKE_INSTALL_PREFIX=/home/ubuntu/opencv-3.1.0 ..
make -j4 install
- Compile and run the OpenCV gpu “hog” sample program with Logitech C920r camera as the video source.
$ cd ~/src/opencv-3.1.0/samples/gpu
$ g++ -o hog -I /home/ubuntu/opencv-3.1.0/include -O2 -g -Wall hog.cpp -L /home/ubuntu/opencv-3.1.0/lib -lopencv_core -lopencv_imgproc -l opencv_flann -l opencv_imgcodecs -lopencv_videoio -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_objdetect -lopencv_photo -lopencv_features2d -lopencv_calib3d -lopencv_stitching -lopencv_videostab -lopencv_shape -lopencv_cudaobjdetect -lopencv_cudawarping -lopencv_cudaimgproc
$ export LD_LIBRARY_PATH=/home/ubuntu/opencv-3.1.0/lib:$LD_LIBRARY_PATH
$ ./hog --camera 0
- When running the gpu hog program with UVC camera source, I can see xhci related messages in dmesg. And the older TX1 board usually hard-hangs within 2~3 hours. (Note the same test runs OK on Jetson TK1.)
[127773.590404] xhci_queue_intr_tx: 1 callbacks suppressed
[127792.598398] xhci_queue_intr_tx: 2 callbacks suppressed
[127812.262369] xhci_queue_intr_tx: 1 callbacks suppressed
[128383.842479] pwm_fan_driver pwm-fan.35: Enabled vdd-fan
[130176.688334] pwm_fan_driver pwm-fan.35: Disabled vdd-fan
[130653.318391] xhci_queue_intr_tx: 1 callbacks suppressed
[130695.318371] xhci_queue_intr_tx: 2 callbacks suppressed
[130736.310378] xhci_queue_intr_tx: 2 callbacks suppressed
[130976.562482] pwm_fan_driver pwm-fan.35: Enabled vdd-fan
[136366.758388] xhci_queue_intr_tx: 5 callbacks suppressed
[137284.668365] pwm_fan_driver pwm-fan.35: Disabled vdd-fan