I have an Intel Aero, bios version Aero-01.00.13. This post is a followup of the issue posted over here https://github.com/IntelRealSense/librealsense/issues/914 Not detecting ZR300 on Intel Aero hardware USB OTG issue · Issue # 914 · IntelRealSense/librealsense · GitHub
Running a USB 3.0 OTG cable and attempting to connect a ZR300 RealSense camera.
The ZR300 camera only connects the Interposer, and lists it as a Texas Instruments with the wrong vendor and device ID (0451:8027). Otherwise it does nothing and does not detect as a Intel Realsense camera would. The camera works fine on a newer Dell laptop running identical Ubuntu 16.04.3. The USB3.0 OTG cable works fine and connects full speed USB3.0 devices to the system.
I have enabled in the BIOS SSIC and forced host configuration among other settings that I've tried (systematically gone through and tried combinations of all likely settings to have a relevant effect on this).
I have also tried on the custom Intel Aero kernel and on the stock Ubuntu 64 bit kernel with same results.
Diagnostics logs. For each diagnostic below I will post the Aero's diagnostics followed by a known-good implementation on an identical software install (Ubuntu 16.04.3) running on a Dell XPS 15 9560.
When the device is plugged in, the following dmesg output is observed.
[15776.714123] usb 1-1: USB disconnect, device number 33
[15778.186007] usb 1-1: new high-speed USB device number 34 using xhci_hcd
[15778.326518] usb 1-1: New USB device found, idVendor=0451, idProduct=8027
[15778.326533] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[15778.326545] usb 1-1: SerialNumber: DA0C005160B7
[15778.336592] hub 1-1:1.0: USB hub found
[15778.336823] hub 1-1:1.0: 2 ports detected
[16258.083862] usb 1-1: new high-speed USB device number 7 using xhci_hcd
[16258.224341] usb 1-1: New USB device found, idVendor=0451, idProduct=8027
[16258.224345] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[16258.224347] usb 1-1: SerialNumber: DA0C005160B7
[16258.225289] hub 1-1:1.0: USB hub found
[16258.225330] hub 1-1:1.0: 2 ports detected
[16258.343828] usb 2-1: new SuperSpeed USB device number 6 using xhci_hcd
[16258.364216] usb 2-1: New USB device found, idVendor=0451, idProduct=8025
[16258.364220] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[16258.365369] hub 2-1:1.0: USB hub found
[16258.365402] hub 2-1:1.0: 2 ports detected
[16258.651969] usb 2-1.2: new SuperSpeed USB device number 7 using xhci_hcd
[16258.672525] usb 2-1.2: LPM exit latency is zeroed, disabling LPM.
[16258.673112] usb 2-1.2: New USB device found, idVendor=8086, idProduct=0ad0
[16258.673115] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[16258.673117] usb 2-1.2: Product: CX3-UVC
[16258.673119] usb 2-1.2: Manufacturer: Cypress
[16258.674414] uvcvideo: Unknown video format 38574152-1a66-a242-9065-d01814a8ef8a
[16258.674422] uvcvideo: Found UVC 1.10 device CX3-UVC (8086:0ad0)
[16258.675823] uvcvideo 2-1.2:1.0: Entity type for entity Extension 3 was not initialized!
[16258.675829] uvcvideo 2-1.2:1.0: Entity type for entity Processing 2 was not initialized!
[16258.675832] uvcvideo 2-1.2:1.0: Entity type for entity Camera 1 was not initialized!
When the device is plugged in, the following lsusb -v -t output is observed.
/: Bus 01.Port 1: Dev 1, class="root_hub", Driver=xhci_hcd/7p, 480M
|__ Port 1: Dev 35, If 0, class="Hub", Driver=hub/2p, 480M
/: Bus 02.Port 1: Dev 1, class="root_hub", Driver=xhci_hcd/8p, 5000M
|__ Port 1: Dev 6, If 0, class="Hub", Driver=hub/2p, 5000M
|__ Port 1: Dev 8, If 2, class="Video", Driver=uvcvideo, 5000M
|__ Port 1: Dev 8, If 0, class="Video", Driver=uvcvideo, 5000M
|__ Port 1: Dev 8, If 5, class="Video", Driver=uvcvideo, 5000M
|__ Port 1: Dev 8, If 3, class="Video", Driver=uvcvideo, 5000M
|__ Port 1: Dev 8, If 1, class="Video", Driver=uvcvideo, 5000M
|__ Port 1: Dev 8, If 4, class="Video", Driver=uvcvideo, 5000M
|__ Port 2: Dev 7, If 0, class="Video", Driver=uvcvideo, 5000M
|__ Port 2: Dev 7, If 1, class="Video", Driver=uvcvideo, 5000M
|__ Port 2: Dev 7, If 2, class="Vendor" Specific Class, Driver=, 5000M
Additionally I've done a USB packet capture of the Aero vs expected.
Some other strangeness I've been having with this board is that my USB3.0 thumb drive will not initialise when plugged in via a USB3.0 hub. However I'm leaving this info to last as I have the same behaviour with the ZR300 module with or without the hub in place. For these tests I omitted the USB hub for simplicity of configuration. The USB thumb drive that doesn't work through the USB hub works if 'downgraded' to USB 2.0 via a non-USB3 extension cable.
I currently do not have access to a 10-pin IPEX CABLINE V connector to directly connect it to the board as the R200 sensor works fine. Unplugging the R200 sensor when connecting the ZR300 sensor makes no observable difference when tested.
The connectivity issues with this Aero board are identical on Yocto linux as they are on Ubuntu. BIOS settings are default and have been tried at default values prior to my experimentation with various configurations.
I'm happy to provide any other diagnostic or troubleshooting info as needed. Hopefully this can be resolved with a tweak in bios settings, or if not then a firmware update on the Aero.
Edit - I'm seeing this in my dmesg on the Aero board, looks like it is trying to initialize some part of the video device
[ 34.620264] hub 1-1:1.0: USB hub found
[ 34.620323] hub 1-1:1.0: 2 ports detected
[ 38.105645] atomisp-css2401a0_v21 0000:00:03.0: Refused to change power state, currently in D3
[ 38.125068] isys dma store at addr(0xcd408) val(0)
[ 38.146889] atomisp-css2401a0_v21 0000:00:03.0: Refused to change power state, currently in D3
[ 38.165705] isys dma store at addr(0xcd408) val(0)
[ <span class="Apple-conver...
Thank you for your interest in the Intel Aero Platform. Unfortunately, the Intel RealSense ZR300 has not been validated on the Intel Aero Compute Board and therefor it's functionality may be indeterminate. You can see which boards the ZR300 camera has been validated at https://click.intel.com/intelr-realsensetm-development-kit-featuring-the-zr300.html under the "Usage tab".
Regarding the USB 3.0, let me check with the engineering team and gather additional information. As soon as I hear back from them I will let you know.
Please let me know when you have an answer. We are spending time and resources trying to build a custom I-PEX LVDS cable / breakout board solution to connect to the Aero board under the assumption that the higher bandwidth / use of correct port for RealSense will solve our issue. Your engineers will know the answer to this. A software only solution would be far preferable at this stage in our product's development.
If there is a contact number of anyone at Intel in the engineering side of the Aero boards who we could speak to, that would be greatly appreciated if you could PM me their details. We have so far been let down in our attempts to contact sales reps, engineering leads and others regarding volume production of products using both Aero boards and RealSense sensors. It is critical that we make progress here and get these roadblocks out of the way.
I will PM you my cell number and hopefully we can figure out a way to move this forwards and resolve this connectivity issue.
Any followup on this issue? I am also seeing the same problem with USB 3.0 devices. The output of lsusb -t shows that the bus 1 USB controller is configured as a USB2 device. This is the bus that all devices plugged into the OTG cable get placed on, hence them getting only recognized as a USB2 devices. When using the same devices, cables and and hubs on other machines, devices get recognized as USB3 devices. On the aero they always get recognized as USB2.
Thank you for your reply.
To use the USB 3.0 OTG port to host a 3.0 device or hub, users will need to use a cable that is compliant to the USB 3.0 OTG specification. Unfortunately, almost all OTG cables available in the market are non-standard / not compliant with the USB 3.0 OTG specification and are targeted to work with a specific device. For Aero, we (Intel) are making available a compliant cable via our distributor. We will announce this in the Community Forum when those cables become available. For operation in USB 2.0 modes, any cable in the market should work, assuming they are compliant with USB 2.0 specification.
I hope Aero wiki is updated with information soon to highlight that USB3 device will not function currently without a deliverable from Intel. All I see on the wiki right now is that Intel is going to delivery a USB3 OTG in Q3 of last year. It does not clear state that COTS USB3 OTG cables will not work. It looks like several of us have been dealing with related issues for a while.
In the mean time, do you have any idea of when this cable will be available? Or are there any suppliers out there that make such a compliant cable?
Without functioning USB3 on this board, my project is going to have to move to another vehicle solution that incorporates another supplier's SBC which supports USB3.