IntelRealSense / librealsense

Intel® RealSense™ SDK
https://www.intelrealsense.com/
Apache License 2.0
7.52k stars 4.81k forks source link

Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input10/uevent': Cannot allocate memory #13176

Closed w407022008 closed 4 weeks ago

w407022008 commented 1 month ago

Hello, Here I'm building librealsense-2.50.0 on Ubuntu 20.04 Khadas Vim4 arm64 SBC. An error occur when i setup the udev rules by ./scripts/setup_udev_rules.sh:
Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input10/uevent': Cannot allocate memory Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input11/uevent': Cannot allocate memory Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input12/uevent': Cannot allocate memory Let me know how should i fix it pls.

MartyG-RealSense commented 1 month ago

Hi @w407022008 There have been a couple of past cases of this error at https://github.com/IntelRealSense/librealsense/issues/11393 and https://github.com/IntelRealSense/realsense-ros/issues/2545 that also occurred when installing the udev rules with ./scripts/setup_udev_rules.sh

One of the RealSense users in those cases found that building the librealsense SDK from source code using the installation script libuvc_installation.sh at the link below has worked for them.

https://github.com/IntelRealSense/librealsense/blob/master/doc/libuvc_installation.md

The libuvc backend method works well on 'exotic' hardware / software configurations that are not typical of a consumer Linux PC, like the Khadas Vim4 arm64 SBC that you are using.

w407022008 commented 1 month ago

Hello, thank you, but the error is always there. After install by libuvc_installation.sh, the errors show as:


+ cd ./librealsense-master
+ echo Install udev-rules
Install udev-rules
+ sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
+ sudo udevadm control --reload-rules
+ sudo udevadm trigger
Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input10/uevent': Cannot allocate memory
Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input11/uevent': Cannot allocate memory
Failed to write 'change' to '/sys/devices/platform/fe084040.ir/input/input12/uevent': Cannot allocate memory```
MartyG-RealSense commented 1 month ago

If you are not able to install the udev rules, are you able to launch programs in sudo admin permissions mode by putting 'sudo' in front of the launch command. For example for the realsense-viewer tool:

sudo realsense-viewer

w407022008 commented 1 month ago

it could work but only depth could be published, no infra image. I have also build realsense-ros package, and i can only receive depth stream with only 10~15fps. terminal shows:

...
ERROR [546333258096] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130
...
ERROR [546333258096] (uvc-streamer.cpp:138) failed to submit UVC request, error: -13
...
ERROR [546995954032] (global_timestamp_reader.cpp:239) Error during time_diff_keeper polling: usb device disconnected
...
The device has been disconnected!
MartyG-RealSense commented 1 month ago

Infrared topics in the ROS wrapper are disabled by default and have to be enabled. You can do this by adding the parameters below to your ROS launch instruction.

enable_infra1:=true enable_infra2:=true

You could also try adding initial_reset:=true to reset the camera at launch to see if this reduces the problems.

MartyG-RealSense commented 1 month ago

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

MartyG-RealSense commented 4 weeks ago

Case closed due to no further comments received.

w407022008 commented 1 week ago

It's problem of the host device hardware issue.