Forum Discussion
Hi,
It appears that the issue may be due to an incorrect device tree configuration. You might want to review the device tree settings to ensure they are correct.
Here is the reference:
https://github.com/torvalds/linux/tree/master/arch/arm64/boot/dts/altera
Regards
- angelsz155 days ago
New Contributor
Thank you for your response, and apologies for the delayed reply.
The initial issue related to USB device recognition and speed negotiation was resolved by enabling the appropriate drivers in the virtual kernel of my Yocto-based project.
Due to the USB 3.0 limitation of the RealSense camera and the USB 2.0 interface available on the Arria 10 platform, I decided to switch the RGB-D camera to a Kinect v1 (Xbox 360).
I am currently attempting to interface with the Kinect using both the libfreenect library and direct USB frame communication. However, the issue appears to be within the USB subsystem: something in the USB drivers is blocking the data flow between the ARM processor and the camera.
The camera itself has been tested and works correctly on other platforms such as Jetson and Raspberry Pi, so a hardware issue is unlikely. At this point, I suspect the problem may be related to the dwc2 driver or possibly missing permissions or misconfigured drivers within the system.
Any suggestions would be greatly appreciated.
- YokezhiC_Altera4 days ago
New Contributor
Hello,
Users running libfreenect require appropriate permissions to access the Kinect hardware. You may need to configure a udev rule to grant this access:
Udev rules are stored in /etc/udev/rules.d/. You’ll need to create a new file there. You can name it something descriptive like 51-kinect.rules.
Run the following command to open the editor:
sudo nano /etc/udev/rules.d/51-kinect.rules
Add the Rule content:
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666"
# ATTR{product}=="Xbox NUI Audio"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666"
# ATTR{product}=="Xbox NUI Camera"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c2", MODE="0666"
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02be", MODE="0666"
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02bf", MODE="0666"
**Note: Mode="0666" allows read/write access
Reload the udev Rules:
sudo udevadm control --reload-rules
sudo udevadm trigger
- angelsz157 hours ago
New Contributor
Thanks for the suggestion.
I applied the udev rules fix, but the issue persists. The application is also running as root, so this does not seem to be a permissions problem.
The device is correctly detected (lsusb shows camera, motor, and audio), which indicates that USB connectivity and basic enumeration are working.
The failure happens during device communication:
Input/Output control transfer failed
incomplete reads (expected X bytes)
unexpected USB disconnect
This points to a low-level issue, possibly related to the dwc2 driver or hardware limitations for isochronous transfers (potential USB bus saturation).
Full console output attached:
root@arria10-ea700498022f:~/app# ./kinect_test_app
send_cmd: Input control transfer failed (18)
[ 340.405365] usb 1-1.3: USB disconnect, device number 7
freenect_fetch_reg_info: send_cmd read 18 bytes (expected 118)
send_cmd: Output control transfer failed (-1)
freenect_fetch_reg_const_shift: send_cmd read -1 bytes (expected 8)
freenect_camera_init(): Failed to fetch const shift for device
Device 0x51fda0 open during shutdown, closing...
root@arria10-ea700498022f:~/app# [ 343.517208] usb 1-1.3: new high-speed USB device number 8 using dwc2
root@arria10-ea700498022f:~/app# lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/3p, 480M
|__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 480M
|__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
|__ Port 3: Dev 8, If 0, Class=Vendor Specific Class, Driver=, 480M
- BoonBengT_Altera1 day ago
Moderator
Hi angelsz15 ,
I hope you’re doing well. I wanted to follow up and check if there are any remaining questions or concerns regarding this matter. Please let us know if anything still needs clarification — we’re happy to assist further.
Thank you for your time, and we look forward to your feedback.
Best Wishes
BB
- angelsz157 hours ago
New Contributor
Thank you for your interest BoonBengT_Altera in my case. I am documenting all the issues I encounter in this thread, so any help or suggestions are welcome.