Community
cancel
Showing results for 
Search instead for 
Did you mean: 
AKazm1
Beginner
845 Views

NUC8i7BEH2 issue with USB 2.0 UVC camera

Hello,

 

I have UP Board (CHT) which emulates USB 2.0 HS UVC camera. It works fine with NUC 7(KBL) and Coffee Lake PC.

When I try to use it with NUC 8, it fails to video start stream. I tried to start stream with NUC 8 + USB 2.0 HUB + my camera emulator and it started successfully with this configuration.

I checked DWC3 (my camera gadget controller) driver trace events on emulator device and compared it with wshark captured packets on host. I found that the reason why stream is not started is in that the host (NUC 8) missed to send second STATUS packet on the SET INTERFACE packet, when the gadget (UP Board) replied on first STATUS packets with NAK.

It looks like a NUC USB bug for me, because of my emulator works fine on NUC 7 and KBL host, it even works as expected with NUC 8 + USB HUB. And of course my emulator acts according to USB 2.0 specs.

Also, I remembered that my colleagues saw the same behavior with real USB 3.0 camera. Unfortunately, I couldn't approve this just right now, because of I doesn't have this camera yet.

0 Kudos
9 Replies
Wanner_G_Intel
Moderator
240 Views

Hello AKazm1, Thank you for posting on this Community. Since you are using an UP board (CHT) and your configuration works when using a USB hub, have you contacted them to check the requirements for the board USB connections to be compatible? If possible, we would like to have more information about this. We also recommend checking the Technical Product specification (TPS) for Intel® NUC Kit NUC8i7BEH. TPS > USB https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/nuc-kits/NUC8i3BE_NUC8i5BE_NUC8i7... Are you using the USB connectors or USB headers? Have you tried all USB ports on the unit? Wanner G. Intel Customer Support Technician Under Contract to Intel Corporation
AKazm1
Beginner
240 Views

Hello WannerG,

 

Thank you for the reply! You could find answers on your questions and some more details below.

 

Since you are using an UP board (CHT) and your configuration works when using a USB hub, have you contacted them to check the requirements for the board USB connections to be compatible? If possible, we would like to have more information about this.

 

I'm using USB OTG port on UP Board with micro-USB (type B) to USB (type A) cable. And this setup is fully compatible with my host as I could see.

 

Are you using the USB connectors or USB headers? Have you tried all USB ports on the unit?

 

I only use USB ports on front and back NUC panel. My device is detected with all of them except charging port, but I couldn't start video stream without external USB 2.0 HUB.

 

As I mention before my camera works fine on my host. Here is my host (Coffee Lake i7-8700 + PCH 200-series) USB-related things:

 

lspci -k -nn -s 00:14.0

00:14.0 USB controller [0c03]: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller [8086:a2af]

Subsystem: Dell Device [1028:0874]

Kernel driver in use: xhci_hcd

 

lsusb -t

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M

  |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

  |__ Port 7: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

  |__ Port 7: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

  |__ Port 10: Dev 15, If 1, Class=Video, Driver=uvcvideo, 480M

  |__ Port 10: Dev 15, If 0, Class=Video, Driver=uvcvideo, 480M

  |__ Port 12: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M

  |__ Port 12: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M

 

dmesg:

[782664.873489] usb 1-10: new high-speed USB device number 15 using xhci_hcd

[782665.023248] usb 1-10: New USB device found, idVendor=1d6b, idProduct=0102

...

[782665.024574] uvcvideo: Found UVC 1.00 device AT Camera Emulation (1d6b:0102)

[782665.026084] input: AT Camera Emulation: UVC Camera as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/input/input27

 

Here is the same output for my NUC 8:

 

lspci -k -nn -s 00:14.0

00:14.0 USB controller [0c03]: Intel Corporation Device [8086:9ded] (rev 30)

Subsystem: Intel Corporation Device [8086:2074]

Kernel driver in use: xhci_hcd

 

lsusb -t

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M

  |__ Port 2: Dev 27, If 0, Class=Video, Driver=uvcvideo, 480M

  |__ Port 2: Dev 27, If 1, Class=Video, Driver=uvcvideo, 480M

  |__ Port 4: Dev 20, If 0, Class=Hub, Driver=hub/4p, 480M

    |__ Port 3: Dev 21, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

    |__ Port 3: Dev 21, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

    |__ Port 4: Dev 22, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

  |__ Port 10: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M

  |__ Port 10: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

 

dmesg:

[ 6022.733299] usb 1-2: new high-speed USB device number 27 using xhci_hcd

[ 6022.884321] usb 1-2: New USB device found, idVendor=1d6b, idProduct=0102, bcdDevice= 1.00

...

[ 6022.888839] input: AT Camera Emulation: UVC Camera as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/input/input39

 

It looks like the most essential distinction between my host and NUC setup is PCH model. Are XHCI PCH 300-series is fully compatible with USB 2.0 spec? Should I update some kind of the SW? I used the latest NUC 8 BIOS and I tried Ubuntu 16 HWE kernel 4.15 and also Ubuntu 18 with 5.0.6 kernel.

 

Wanner_G_Intel
Moderator
240 Views

Hello AKazm1, Thank you for your response. In order to provide accurate information about this issue, we will do further research. We will update this thread as soon as possible. Wanner G. Intel Customer Support Technician Under Contract to Intel Corporation
Ronny_G_Intel
Moderator
240 Views

Hello AKazm1 Let me see if I understand this issue correctly: 1- You have a UP board that emulates a HS UVC camera 2- When you connect this board directly into the NUC8i7BEH2, the device is recognized by the Operating System, I see dmesg: new high-speed USB device number using xhci_hcd 3- The camera emulator fails to start video streaming. Did you check if any other functionality of the "camera" work? 4- I see that you are trying with Ubuntu*. Did you try Windows 10 by any chance? 5- Did you try an actual camera? if yes, can you please provide me with the Brand and Model? Regards, Ronny G
AKazm1
Beginner
240 Views

Hello Ronny,

 

You could see my answers below:

 

1- You have a UP board that emulates a HS UVC camera

Yes, also I should to say that isochronous transaction is used for video streaming.

 

2- When you connect this board directly into the NUC8i7BEH2, the device is recognized by the Operating System, I see dmesg: new high-speed USB device number using xhci_hcd

Yes, it's always recognized.

 

3- The camera emulator fails to start video streaming.

It takes some time for the setup path in emulator to start stream. When the NUC 8 host send to my emulator start stream reauest via  SET INTERFACE packet, my emulator replies with NAK on STATUS for this host packet, which means that request is in progress. After that in 5 seconds interval USB host should send another STATUS packet and my emulator should reply on it with another NAK or ACK, which in this case means stream is started. It's how the things should work and how it works with NUC 7.

But in NUC 8 case emulator didn't get second STATUS packet in 5 seconds, so as i could see the issue is in that NUC didn't receive NAK, which was surely sent on the device side, or it missed to send second STATUS packet.

 

Did you check if any other functionality of the "camera" work?

Yes, the camera successfully reports with possible configuration and supported controls. The issue is in the final setup phase.

 

4- I see that you are trying with Ubuntu*. Did you try Windows 10 by any chance?

Yes, I've just ended to test it. I could report now that the emulator works fine with NUC 8 + Win 10 without any USB hubs.

 

5- Did you try an actual camera? if yes, can you please provide me with the Brand and Model?

My team have some issues which looks like unstable connection with Leopard Imaging LI-USB30-AR023ZWDR camera module. But I haven't access to it and couldn't approve is it related one to the emulator issue. Also tried ELP-USBFHD01M-MF40 camera module, but the stream was started perfectly with it.

 

What is a linux BKC for the NUC 8?

 

Best regards,

Andrei

 

 

 

 

 

AKazm1
Beginner
240 Views

Ronny,

 

I've tried the latest clear linux distro with 4.19 lts kernel. I could confirm that the issue is reproduced with this setup too.

 

Best regards,

Andrei

Ronny_G_Intel
Moderator
240 Views

Hi AKazm1, Thanks for the answers, the piece of information that really concerns me if the following: 4- I see that you are trying with Ubuntu*. Did you try Windows 10 by any chance? Yes, I've just ended to test it. I could report now that the emulator works fine with NUC 8 + Win 10 without any USB hubs. If NUC8i7BEH2 + Windows 10 + Camera emulator, works well with no USB Powered Hub, this indicates that the problem may not be hardware related but perhaps an issue with the way Linux Operating Systems handle the USB controller. Have you reached out to the Linux community? The difficulty that I have to provide you with further assistance on this issue is that we dont have equivalent hardware to duplicate this issue and if the issue happens only in combination with Linux, we dont provide drivers and only limited support for Linux. Drivers are provided by the Operating System manufacturer. Please let me know if you have any comment or any idea on how I can help you out. Regards, Ronny G
Wanner_G_Intel
Moderator
240 Views

Hello AKazm1, Were you able to review the information posted before? If you have any further questions, please let us know. Wanner G. Intel Customer Support Technician Under Contract to Intel Corporation
Wanner_G_Intel
Moderator
240 Views

Hello AKazm1, If you need any assistance, please contact us back. Wanner G. Intel Customer Support Technician Under Contract to Intel Corporation
Reply