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
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_Altera1 month 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
- angelsz151 month 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
root@arria10-ea700498022f:~/app# lsusb
Bus 001 Device 008: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
Bus 001 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
Bus 001 Device 004: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@arria10-ea700498022f:~/app# dmesg | grep -i usb
[ 0.025721] usbcore: registered new interface driver hub
[ 0.025748] usbcore: registered new device driver usb
[ 0.025860] usb_phy_generic soc:usbphy: supply vcc not found, using dummy regulator
[ 0.025979] usb_phy_generic soc:usbphy: dummy supplies not allowed for exclusive requests
[ 1.277010] dwc2 ffb00000.usb: supply vusb_d not found, using dummy regulator
[ 1.284263] dwc2 ffb00000.usb: supply vusb_a not found, using dummy regulator
[ 1.291531] dwc2 ffb00000.usb: Configuration mismatch. dr_mode forced to host
[ 1.298944] dwc2 ffb00000.usb: DWC OTG Controller
[ 1.303648] dwc2 ffb00000.usb: new USB bus registered, assigned bus number 1
[ 1.310711] dwc2 ffb00000.usb: irq 48, io mem 0xffb00000
[ 1.316506] hub 1-0:1.0: USB hub found
[ 1.324776] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.335808] usbcore: registered new interface driver usb-storage
[ 1.341836] usbcore: registered new interface driver ums-freecom
[ 1.347857] usbcore: registered new interface driver ums-realtek
[ 1.353864] usbcore: registered new interface driver usbtest
[ 1.359528] usbcore: registered new interface driver lvs
[ 1.369348] usbcore: registered new interface driver ttusb-dec
[ 1.375192] usbcore: registered new interface driver uvcvideo
[ 1.380951] usbcore: registered new interface driver Philips webcam
[ 1.393456] usbcore: registered new interface driver cpia2
[ 1.398955] usbcore: registered new interface driver em28xx
[ 1.456732] usbcore: registered new interface driver usbhid
[ 1.462297] usbhid: USB HID core driver
[ 1.473258] usbcore: registered new interface driver hdm_usb
[ 194.247206] usb 1-1: new high-speed USB device number 2 using dwc2
[ 194.497830] hub 1-1:1.0: USB hub found
[ 195.097212] usb 1-1.2: new full-speed USB device number 3 using dwc2
[ 196.827207] usb 1-1.1: new high-speed USB device number 4 using dwc2
[ 198.367208] usb 1-1.3: new high-speed USB device number 5 using dwc2
[ 228.790315] usb 1-1.3: USB disconnect, device number 5
[ 231.897208] usb 1-1.3: new high-speed USB device number 6 using dwc2
[ 311.989605] usb 1-1.3: USB disconnect, device number 6
[ 315.097208] usb 1-1.3: new high-speed USB device number 7 using dwc2
[ 340.405365] usb 1-1.3: USB disconnect, device number 7
[ 343.517208] usb 1-1.3: new high-speed USB device number 8 using dwc2
- angelsz151 month 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
root@arria10-ea700498022f:~/app# lsusb
Bus 001 Device 008: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
Bus 001 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
Bus 001 Device 004: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@arria10-ea700498022f:~/app# dmesg | grep -i usb
[ 0.025721] usbcore: registered new interface driver hub
[ 0.025748] usbcore: registered new device driver usb
[ 0.025860] usb_phy_generic soc:usbphy: supply vcc not found, using dummy regulator
[ 0.025979] usb_phy_generic soc:usbphy: dummy supplies not allowed for exclusive requests
[ 1.277010] dwc2 ffb00000.usb: supply vusb_d not found, using dummy regulator
[ 1.284263] dwc2 ffb00000.usb: supply vusb_a not found, using dummy regulator
[ 1.291531] dwc2 ffb00000.usb: Configuration mismatch. dr_mode forced to host
[ 1.298944] dwc2 ffb00000.usb: DWC OTG Controller
[ 1.303648] dwc2 ffb00000.usb: new USB bus registered, assigned bus number 1
[ 1.310711] dwc2 ffb00000.usb: irq 48, io mem 0xffb00000
[ 1.316506] hub 1-0:1.0: USB hub found
[ 1.324776] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.335808] usbcore: registered new interface driver usb-storage
[ 1.341836] usbcore: registered new interface driver ums-freecom
[ 1.347857] usbcore: registered new interface driver ums-realtek
[ 1.353864] usbcore: registered new interface driver usbtest
[ 1.359528] usbcore: registered new interface driver lvs
[ 1.369348] usbcore: registered new interface driver ttusb-dec
[ 1.375192] usbcore: registered new interface driver uvcvideo
[ 1.380951] usbcore: registered new interface driver Philips webcam
[ 1.393456] usbcore: registered new interface driver cpia2
[ 1.398955] usbcore: registered new interface driver em28xx
[ 1.456732] usbcore: registered new interface driver usbhid
[ 1.462297] usbhid: USB HID core driver
[ 1.473258] usbcore: registered new interface driver hdm_usb
[ 194.247206] usb 1-1: new high-speed USB device number 2 using dwc2
[ 194.497830] hub 1-1:1.0: USB hub found
[ 195.097212] usb 1-1.2: new full-speed USB device number 3 using dwc2
[ 196.827207] usb 1-1.1: new high-speed USB device number 4 using dwc2
[ 198.367208] usb 1-1.3: new high-speed USB device number 5 using dwc2
[ 228.790315] usb 1-1.3: USB disconnect, device number 5
[ 231.897208] usb 1-1.3: new high-speed USB device number 6 using dwc2
[ 311.989605] usb 1-1.3: USB disconnect, device number 6
[ 315.097208] usb 1-1.3: new high-speed USB device number 7 using dwc2
[ 340.405365] usb 1-1.3: USB disconnect, device number 7
[ 343.517208] usb 1-1.3: new high-speed USB device number 8 using dwc2
- angelsz151 month 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
root@arria10-ea700498022f:~/app# lsusb
Bus 001 Device 008: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
Bus 001 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
Bus 001 Device 004: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- BoonBengT_Altera1 month 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
- angelsz151 month 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.
- SueC_Altera1 month ago
Contributor
Hi angelsz15,
What remaining questions or concerns do you have?
Sue