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

WARNING : (d400-factory.cpp:1195) DS5 group_devices is empty. #12047

Closed
jesusramondovale opened this issue Jul 27, 2023 · 15 comments
Closed

WARNING : (d400-factory.cpp:1195) DS5 group_devices is empty. #12047

jesusramondovale opened this issue Jul 27, 2023 · 15 comments
Labels

Comments

@jesusramondovale
Copy link

jesusramondovale commented Jul 27, 2023

I get this output when trying to execute

ros2 run realsense2_camera realsense2_camera_node

on my DEBIX Model A (2GB RAM) with Ubuntu 22.04 (Debix Image) (Kernel 5.15) and ROS2 Humble installed:

Output:

[INFO] [1690469744.075303649] [camera]: RealSense ROS v4.54.1
[INFO] [1690469744.075683689] [camera]: Built with LibRealSense v2.54.1
[INFO] [1690469744.075766698] [camera]: Running with LibRealSense v2.54.1
 27/07 16:55:44,103 WARNING [281472744417504] (d400-factory.cpp:1195) DS5 group_devices is empty.
 27/07 16:55:44,483 ERROR [281472744417504] (librealsense-exception.h:52) xioctl(VIDIOC_S_EXT_CTRLS) failed Last Error: Invalid argument
 27/07 16:55:44,504 WARNING [281472744417504] (rs.cpp:312) null pointer passed for argument "device"
[WARN] [1690469744.504959572] [camera]: Device 1/3 failed with exception: xioctl(VIDIOC_S_EXT_CTRLS) failed Last Error: Invalid argument
[ros2run]: Segmentation fault

The sudo rs-enumerate-devices command works fine (only doing it with sudo):

Device info:
    Name                          :     Intel RealSense D435I
    Serial Number                 :     231122071093
    Firmware Version              :     5.13.0.55
    Recommended Firmware Version  :     5.15.0.2
    Physical Port                 :     2-1.1-3
    Debug Op Code                 :     15
    Advanced Mode                 :     YES
    Product Id                    :     0B3A
    Camera Locked                 :     YES
    Usb Type Descriptor           :     3.2
    Product Line                  :     D400
    Asic Serial Number            :     221123063041
    Firmware Update Id            :     221123063041

Stream Profiles supported by Stereo Module
 Supported modes:
    stream       resolution      fps       format
    Infrared 1    1280x800      @ 30Hz     Y8
    Infrared 1    1280x800      @ 25Hz     Y16
    Infrared 1    1280x800      @ 15Hz     Y16
    Infrared 1    1280x800      @ 15Hz     Y8
    Infrared 1    1280x720      @ 30Hz     Y8
    Infrared 1    1280x720      @ 15Hz     Y8
    Infrared 1    1280x720      @ 6Hz      Y8
    Infrared 1    848x480       @ 90Hz     Y8
    Infrared 1    848x480       @ 60Hz     Y8
    Infrared 1    848x480       @ 30Hz     Y8

I've just seen that the camera's firmware version is lower than recommended. How do I update it?

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 27, 2023

This case is related to IntelRealSense/realsense-ros#2816

Hi @jesusramondovale Yes, firmware 5.15.0.2 should be used with SDK 2.54.1. The firmware can be updated in the RealSense Viewer tool by going to the More option near the top of the Viewer's options side-panel and selecting **Update Firmware from its drop-down menu, then navigate a pop-up file selector from a firmware .bin file downloaded from the link below.

https://dev.intelrealsense.com/docs/firmware-releases

If you do not have access to the RealSense Viewer then you can also update using the text-based tool rs-fw-update and a firmware .bin file from the link above.

https://github.com/IntelRealSense/librealsense/tree/master/tools/fw-update

@jesusramondovale
Copy link
Author

jesusramondovale commented Jul 28, 2023

Hi!

I succesfully updated the camera's firmware version to the last and recommended : 5.15.0.2 as you can see:

debix@DEBIX26:~$ sudo rs-enumerate-devices
Device info:
    Name                          :     Intel RealSense D435I
    Serial Number                 :     231122071093
    Firmware Version              :     5.15.0.2
    Recommended Firmware Version  :     5.15.0.2
    Physical Port                 :     2-1.1-3
    Debug Op Code                 :     15
    Advanced Mode                 :     YES
    Product Id                    :     0B3A
    Camera Locked                 :     YES
    Usb Type Descriptor           :     3.2
    Product Line                  :     D400
    Asic Serial Number            :     221123063041
    Firmware Update Id            :     221123063041

But the output when I run
ros2 run realsense_camera realsense_camera_node
is exactly the same :

debix@DEBIX26:~$ ros2 run realsense2_camera realsense2_camera_node
[INFO] [1690522784.438752225] [camera]: RealSense ROS v4.54.1
[INFO] [1690522784.439068359] [camera]: Built with LibRealSense v2.54.1
[INFO] [1690522784.439139361] [camera]: Running with LibRealSense v2.54.1
 28/07 07:39:44,466 WARNING [281473406265568] (d400-factory.cpp:1195) DS5 group_devices is empty.
 28/07 07:39:44,851 ERROR [281473406265568] (librealsense-exception.h:52) xioctl(VIDIOC_S_EXT_CTRLS) failed Last Error: Invalid argument
 28/07 07:39:44,868 WARNING [281473406265568] (rs.cpp:312) null pointer passed for argument "device"
[WARN] [1690522784.868305539] [camera]: Device 1/3 failed with exception: xioctl(VIDIOC_S_EXT_CTRLS) failed Last Error: Invalid argument
[ros2run]: Segmentation fault

Note that "Camera Locked" value says YES ... Does it mean something?

EDIT: I noticed that I don't have librealsense-dkms package and I can't install it because it doesn't find the repository IP following the installation guide at https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

@MartyG-RealSense
Copy link
Collaborator

It is normal for the Camera Locked value to be Yes. It means that it is not one with special debug functions used by Intel engineers.

The DKMS packages at the distribution_linux.md page will not work with an Arm computer such as your Debix. They are designed for computers with an x86 / x64 architecture such as desktop and laptop PCs. An exception to this is Nvidia Jetson Arm-based boards, which have their own dedicated Jetson packages for librealsense.

DS5 group_devices is empty indicates that the librealsense and ROS wrapper software are being correctly detected but when the launch process then looks for the camera hardware, it cannot detect it.

@jesusramondovale
Copy link
Author

jesusramondovale commented Jul 28, 2023

Don't ask me how, but now the realsense2_camera_node is working, publishing multiple topics:

image

But the output of the camera node gives some warnings and errors, and I can't visualize the camera video on rqt nor rviz2 (no image):

[realsense2_camera_node-1]  28/07 12:08:00,819 WARNING [281472351004896] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 12:08:00,830 WARNING [281472351004896] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 12:08:03,412 ERROR [281471889696992] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 28, 2023

The control_transfer returned warning Resource temporarily unavailable can indicate that there is a communication problem between the camera and the computer. If the message is only generating a couple of times in the log instead of continuously though then it is safe to ignore it.

Did the advice that I suggested in your other case at IntelRealSense/realsense-ros#2816 (comment) to perform a reset make a difference?

@jesusramondovale
Copy link
Author

jesusramondovale commented Jul 28, 2023

It's continously. It never stops ... I only copied two of them but there are lots of them messages.

I'll try with that reset parameter..

EDIT: nope, doesn't make any difference :

debix@DEBIX26:~$ ros2 run realsense2_camera realsense2_camera_node --ros-args -p initial_reset:=true
[INFO] [1690544064.709542818] [camera]: RealSense ROS v4.54.1
[INFO] [1690544064.709866139] [camera]: Built with LibRealSense v2.54.1
[INFO] [1690544064.709934752] [camera]: Running with LibRealSense v2.54.1
[INFO] [1690544065.254218478] [camera]: Device with serial number 231122071093 was found.

[INFO] [1690544065.254414321] [camera]: Device with physical ID 2-1.1-3 was found.
[INFO] [1690544065.254477560] [camera]: Device with name Intel RealSense D435I was found.
[INFO] [1690544065.257772643] [camera]: Device with port number 2-1.1 was found.
[INFO] [1690544065.258210572] [camera]: Device USB type: 3.2
[INFO] [1690544065.262665464] [camera]: getParameters...
[INFO] [1690544065.264410302] [camera]: JSON file is not provided
[INFO] [1690544065.264607145] [camera]: Device Name: Intel RealSense D435I
[INFO] [1690544065.264704629] [camera]: Device Serial No: 231122071093
[INFO] [1690544065.264845606] [camera]: Device physical port: 2-1.1-3
[INFO] [1690544065.265231292] [camera]: Device FW version: 5.15.0.2
[INFO] [1690544065.265575611] [camera]: Device Product ID: 0x0B3A
[INFO] [1690544065.265664596] [camera]: Sync Mode: Off
[INFO] [1690544067.904341609] [camera]: Stopping Sensor: Depth Module
[INFO] [1690544068.080390936] [camera]: Starting Sensor: Depth Module
 28/07 13:34:28,217 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:34:28,227 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[INFO] [1690544068.238586201] [camera]: Open profile: stream_type: Infra(1), Format: Y8, Width: 848, Height: 480, FPS: 30
[INFO] [1690544068.238776297] [camera]: Open profile: stream_type: Infra(2), Format: Y8, Width: 848, Height: 480, FPS: 30
[INFO] [1690544068.238861909] [camera]: Open profile: stream_type: Depth(0), Format: Z16, Width: 848, Height: 480, FPS: 30
[INFO] [1690544068.239683281] [camera]: Stopping Sensor: RGB Camera
[INFO] [1690544068.247293222] [camera]: Starting Sensor: RGB Camera
[INFO] [1690544068.302313913] [camera]: Open profile: stream_type: Color(0), Format: RGB8, Width: 1280, Height: 720, FPS: 30
[INFO] [1690544068.302616491] [camera]: Stopping Sensor: Motion Module
 28/07 13:34:28,307 WARNING [281472733014240] (ds-calib-parsers.cpp:41) IMU Calibration is not available, default intrinsic and extrinsic will be used.
[INFO] [1690544068.316439215] [camera]: Starting Sensor: Motion Module
[WARN] [1690544068.336870912] [camera]:
[INFO] [1690544068.355384407] [camera]: Open profile: stream_type: Accel(0)Format: MOTION_XYZ32F, FPS: 100
[INFO] [1690544068.355569253] [camera]: Open profile: stream_type: Gyro(0)Format: MOTION_XYZ32F, FPS: 200
[INFO] [1690544068.374338958] [camera]: RealSense Node Is Up!
 28/07 13:34:28,458 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:34:28,571 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:34:28,682 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:34:28,692 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:34:47,719 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:34:55,513 ERROR [281472317188320] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130
 28/07 13:35:03,744 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:35:03,754 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:35:03,764 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:35:03,775 WARNING [281472707651808] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 28/07 13:35:07,268 ERROR [281472124315872] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 132

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 28, 2023

It appears that a lot of streams are enabled at the same time. Let's try a launch where only depth is enabled and it is set to a low FPS speed and resolution to see if it reduces the number of warnings.

ros2 launch realsense2_camera rs_launch.py depth_module.profile:=640x480x15 enable_color:=false

@jesusramondovale
Copy link
Author

Same output:

[realsense2_camera_node-1] [INFO] [1690545536.604039116] [camera.camera]: RealSense Node Is Up!
[realsense2_camera_node-1] [WARN] [1690545536.756401910] [camera.camera]: 
[realsense2_camera_node-1]  28/07 13:58:56,893 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:58:56,903 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:58:56,914 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:58:56,925 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:58:56,935 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:58:56,946 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] [WARN] [1690545537.486425014] [camera.camera]: XXX Hardware Notification:Motion Module force pause,1.69055e+12,Error,Hardware Error
[realsense2_camera_node-1] [WARN] [1690545537.486794148] [camera.camera]: Hardware Notification:Motion Module force pause,1.69055e+12,Error,Hardware Error


[realsense2_camera_node-1]  28/07 13:59:45,083 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,093 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,104 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,114 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,125 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,135 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,146 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1]  28/07 13:59:45,156 WARNING [281472409659616] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11

@MartyG-RealSense
Copy link
Collaborator

It was confirmed in an earlier discussion that the camera works normally on another computer and the problems only occur on your Debix Model A. And unfortunately you are not able to change to another type of computing board.

Do you have a different USB cable that you can try with the camera to confirm if the Debix is not working well with your current cable even though it works with the camera on your other computer.

@jesusramondovale
Copy link
Author

jesusramondovale commented Jul 28, 2023

Yes, I'll try with another USB cable and come back to you. Thanks!

EDIT: nothing changed. Topics are being published on ROS net (at least the names), but I can't visualize the video.

@MartyG-RealSense
Copy link
Collaborator

Apologies for the delay in responding. A notification is not sent to me if an edit is made to a comment instead of a new comment being posted.

Has there been no change since the previous week?

@MartyG-RealSense
Copy link
Collaborator

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

@MartyG-RealSense
Copy link
Collaborator

Case closed due to no further comments received.

@jesusramondovale
Copy link
Author

Hey. I've got the exact same problem again...
Installed RealSense SDK succesfully (sudo rs-enumerate-devices works fine)
but when I execute the ROS2 Wrapper with

debix@DEBIX25:~/librealsense$ ros2 launch realsense2_camera rs_launch.py

I get this error ouput:

[INFO] [launch]: All log files can be found below /home/debix/.ros/log/2023-09-27-06-45-57-373454-DEBIX25-14668 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [realsense2_camera_node-1]: process started with pid [14682] [realsense2_camera_node-1] [INFO] [1695797158.404652736] [camera.camera]: RealSense ROS v4.54.1 [realsense2_camera_node-1] [INFO] [1695797158.404968999] [camera.camera]: Built with LibRealSense v2.54.1 [realsense2_camera_node-1] [INFO] [1695797158.405047252] [camera.camera]: Running with LibRealSense v2.54.1 [realsense2_camera_node-1] 27/09 06:45:58,435 WARNING [281472476768480] (d400-factory.cpp:1195) DS5 group_devices is empty. [realsense2_camera_node-1] 27/09 06:45:58,830 ERROR [281472476768480] (librealsense-exception.h:52) xioctl(VIDIOC_S_EXT_CTRLS) failed Last Error: Invalid argument [realsense2_camera_node-1] 27/09 06:45:58,837 WARNING [281472476768480] (rs.cpp:312) null pointer passed for argument "device" [realsense2_camera_node-1] [WARN] [1695797158.837362369] [camera.camera]: Device 1/3 failed with exception: xioctl(VIDIOC_S_EXT_CTRLS) failed Last Error: Invalid argument [ERROR] [realsense2_camera_node-1]: process has died [pid 14682, exit code -11, cmd '/home/debix/ros2_ws/install/realsense2_camera/lib/realsense2_camera/realsense2_camera_node --ros-args --log-level info --ros-args -r __node:=camera -r __ns:=/camera --params-file /tmp/launch_params_j9ko_vrh --params-file /tmp/launch_params_w3fbxgpj'].

I need help as soon as possible, please.

@MartyG-RealSense
Copy link
Collaborator

Hi @jesusramondovale I have posted a reply at IntelRealSense/realsense-ros#2816 (comment)

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