Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device #2004

Closed
fiorano10 opened this issue Jul 28, 2021 · 11 comments
Closed

xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device #2004

fiorano10 opened this issue Jul 28, 2021 · 11 comments
Labels

Comments

@fiorano10
Copy link

fiorano10 commented Jul 28, 2021

We have multiple cameras connected to the motherboard, each has its own USB 3.1 Gen 1 port. We randomly see the No such device error when the node is launched. We confirmed that all realsenses are connected as USB 3.2 devices. Using inital reset does not help, we have to restart the computer to fix this

Running the following config
Ubuntu 18.04
ROS Melodic
Librealsense v2.42
realsense-ros v2.2.22
Camera fw: 5.12.11

Logs (camera1-realsense2_camera1-1-stdout.log)

�[0m[ INFO] [1627477677.310092974]: SELECTED BASE:Depth, 0�[0m
�[0m[ INFO] [1627477677.318674069]: RealSense Node Is Up!�[0m
 28/07 09:08:02,913 ERROR [140134976579328] (types.h:315) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:02,913 ERROR [140134976579328] (error-handling.cpp:76) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:03,339 ERROR [140134783645440] (types.h:315) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:03,339 ERROR [140134783645440] (types.h:315) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:03,348 ERROR [140134951401216] (types.h:315) set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:03,349 ERROR [140134951401216] (global_timestamp_reader.cpp:239) Error during time_diff_keeper polling: set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:03,913 ERROR [140134976579328] (types.h:315) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 28/07 09:08:03,913 ERROR [140134976579328] (error-handling.cpp:76) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 29, 2021

Hi @fiorano10 How many RealSense cameras do you have attached, please? I found serials for two cameras in the text-file version of the launch log. Also, what was the roslaunch instruction that you used for the multiple-camera launch?

The text-file log has so many xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device messages generated after the RealSense Node is Up! notification that it suggests a serious communication problem.

@fiorano10
Copy link
Author

We have 4 cameras connected. We use a single launch file to launch all cameras and read the serial no. from a yaml file, along the params you see in the logs.

@MartyG-RealSense
Copy link
Collaborator

Does the launch perform any better if you use the launch file rs_multiple_devices.launch to define the cameras and their serial numbers in the roslaunch instruction instead of using a yaml file?

https://github.com/IntelRealSense/realsense-ros#work-with-multiple-cameras

@fiorano10
Copy link
Author

It does not, why would having the serial no in a launch file make a difference?

@MartyG-RealSense
Copy link
Collaborator

Having the serial number defined in the launch instruction simplifies the launch process by having one less factor (the yaml file access) to go wrong.

@fiorano10
Copy link
Author

How do we resolve the no such device error? Do we reset the camera when this happens?

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 30, 2021

xioctl(UVCIOC_CTRL_QUERY) typically indicates a conflict between librealsense and the kernel. This is a difficult problem to resolve when you cannot use RSUSB to bypass the kernel due to the need to support a multi-camera setup.

Using a different kernel version sometimes makes a positive difference. Which kernel version are you currently using, please?

@fiorano10
Copy link
Author

We're on kernel 5.4.0-65-generic

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 30, 2021

I cannot find a history of problems with RealSense projects that use kernel 5.4.0-65-generic and Ubuntu 18.04, though that does not eliminate the possibility of a conflict in your particular project.

The discussions in the links below look at a range of ways to deal with non-detection of a camera after boot, such as resetting the entire USB port instead of just the camera, or booting with rtcwake

IntelRealSense/librealsense#1615
IntelRealSense/librealsense#1615 (comment)
IntelRealSense/librealsense#5913

@MartyG-RealSense
Copy link
Collaborator

Hi @fiorano10 Do you require further assistance with this case, please? Thanks!

@MartyG-RealSense
Copy link
Collaborator

Case closed due to no further comments received.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants