Hardware Developers Community - NI sbRIO & SOM

cancel
Showing results for 
Search instead for 
Did you mean: 

Why my USB Web cam is not recognized by sbRIO-9607?

Hi,

 

I want to plug my Logitech C270 USB Webcam into sbRIO-9607 to do simple image capture. However, the camera is not recognized by sbRIO-9607. Actually, sbRIO OS does not find any new USB device plugged in when I plug in the camera. Anything wrong with the sbRIO USB port design?

 

I've also done the following things to make sure that the camera itself is good.

 

1. It works well when I plug it to a MyRIO USB port.

2. If I connect the sbRIO to a USB 3.0 hub and connect the camera to the hub, it works.

 

I'm wondering whether any design fault on sbRIO-9607 USB port. Or any limitation?

 

Thanks,

Richie.

0 Kudos
Message 1 of 15
(5,997 Views)

Hi Richie,

 

The main compatibility requirement for the camera is that it conforms to the UVC standard and is USB 2.0. From what I'm seeing online, that model seems to meet those requirements. From a software compatibility perspective I think you'll need to have the "USB Webcam Support" feature installed. This software component is packaged in IMAQdx and you should be able to install it to the target by doing a custom software installation (rather than selecting the Recommended Software Set) in MAX. Could you confirm in MAX that the right support is installed?

 

If you already have support installed and its still not working could you clarify these points:

  1. Are you using the onboard USB host port or one that you've implemented on your own RMC board?
  2. Does this happen on more than one 9607 or is it confined to just one unit?
  3. Does it continue to fail enumeration between reboots? 

Thanks,

Will

National Instruments

0 Kudos
Message 2 of 15
(5,987 Views)

Hi, Will

 

Thanks for your quick guide and reply. Here are the answers.

 

First of all, Yes, the "USB Webcam Support" is installed properly. Otherwise, the camera won't work even I have the USB hub inserted.

 

  1. Are you using the onboard USB host port or one that you've implemented on your own RMC board?     ------  [Richie] I'm using onboard USB host port. Since NI 9694 only allows me to the 96 digital I/O, I didn't get a chance to try the RMC USB. Any difference between them?
  2. Does this happen on more than one 9607 or is it confined to just one unit? --------  [Richie] This specific camera does not work with the several 9607 boards at my hand. But we do have other cameras work with 9607 well. And, there are some cameras stopping working with 9607 after a while usage. If you unplug them from the original 9607 and plug into other 9607 boards, the camera may work well again. And, all these cameras seem to work well with MyRIO under all circumstances, that’s why I’m suspecting whether any design fault of the USB host port on 9607. The stability of the HW is very important to us.
  3. Does it continue to fail enumeration between reboots?  ----------  [Richie] The problem is that 9607 does not find any new USB device plugged in. No matter how many times you reboot the sbRIO, there is no new USB device found.

Let me summarize two scenarios here.

  1. No USB device is found, which is the problem I’m posting here. But the device can work well if a USB hub is inserted.
  2. Camera is found. But once you try to use it, you will get some error messages. Some of the error messages are listed here, which I got from a terminal. If I insert a USB hub, the camera works well.
  • Uvcvideo: Failed to resubmit video URB.
  • Uvcvideo: Failed to set UVC probe control : -110 (exp. 26).

Thanks

Richie

0 Kudos
Message 3 of 15
(5,979 Views)

Hi, Will

 

Any thoughts on my reply?

 

Thanks

Richie

0 Kudos
Message 4 of 15
(5,956 Views)

Hi Richie,

 

I suspect that this could be a kernel issue rather than a hardware issue. What version of LabVIEW RT and the cRIO drivers are you using on the sbRIO and on the mRIO? Also, could you execute the "uname -a" command on both myRIO and sbRIO targets to get the kernel version?

 

Thanks,

Will

0 Kudos
Message 5 of 15
(5,948 Views)

Hi, Will

 

The MyRIO is using RT 2016 and NI-RIO 16.0. The sbRIO is using RT 2016 with NI-RIO 17.6 (to work around another issue). To run "uname -a", I'm getting the following results. Seems that they are using a same kernel. Actually, the reason why I suspect the HW is that a USB Hub without power supply can make things work well.

 

Linux NI-myRIO-1900-03073d19 4.1.15-rt17-ni-4.0.0f1 #1 SMP PREEMPT RT Fri May 27 10:41:15 CDT 2016 armv7l GNU/Linux

Linux NI-sbRIO-9607-01bbebaa 4.1.15-rt17-ni-4.0.0f1 #1 SMP PREEMPT RT Fri May 27 10:41:15 CDT 2016 armv7l GNU/Linux

 

Thanks,

Richie

0 Kudos
Message 6 of 15
(5,941 Views)

Hi Richie,

 

Thanks for the info. I was suspecting a kernel issue because there are a lot of older bug reports surrounding similar behavior:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1018020

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1021261

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1026056

 

This issue was supposed to be fixed in 3.5, but it seems like some people still experienced issues after that proposed fix. Additional, I think the problem originally came about as a regression. Given that, it's still possible that what you're seeing is related and a similar regression has occurred recently.

 

Even though there is a difference between myRIO and sbRIO, that can still be kernel related since I believe the root problem in reported bugs was dependent on timing at bootup and enumeration. Slight timing differences between hardware models could produce the different behavior. This may also explain why some the addition of a hub fixes the issue since a hub would influence timing.

 

A telltale sign that we're running into the same thing would be "cannot set freq 16000 to ep 0x86" entries in /var/log/kern.log. Could you check this log? Also, readout from "lsusb -v" may prove helpful.

 

-Will

 

0 Kudos
Message 7 of 15
(5,917 Views)

Hi, Will

 

Sorry for replying late.

 

I did observe that this had been a long time kernel issue before I started this topic. But I was expecting that NI has done enough tests so that I started this topic.

 

In my case, if I run "lsusb", I don't get the device ID 046d:0825 shown in the list. If I run "lsusb -v", sometimes, I'm getting messages as below when the camera does not work.

 

Can't get device qualifier: Resource temporarily unavailable

Can't get debug descriptor: Resource temporarily unavailable

 

I don't see /var/log/kern.log. But I find /var/local/natinst/log/ker.log, which does not contain ""cannot set freq 16000 to ep 0x86"".

 

Besides, I've tried to upgrade the firmware to 6.0.0f1 and driver to 18.0 but found no use.

 

Thanks,

Richie

0 Kudos
Message 8 of 15
(5,895 Views)

Hi Richie,

 

I wanted to give you a quick update on this. We've been looking into this behavior on our end and have attempted to replicate the issue on a 9627 and 9637 with the 2016 SW stack. Unfortunately, neither of these setups have shown the problem. However, each included a fairly stripped down software set with just System Configuration and NI-IMAQdx components. In the interest of leaving no stone un-turned I'm curious to know all the software you have installed so that I can mirror it. Can you generate a MAX Technical Support Report for me?

0 Kudos
Message 9 of 15
(5,862 Views)

Hey, Will,

 

Thanks for keeping looking into it. Please check out the attached file.

 

BTW, based on my experience, I'm not sure whether you can easily find one camera to reproduce the issue. I have one at my hand, which does not work with several sbRIO-9607s, maybe all. I can send it to NI China if you can give me some contacts, or maybe together with my sbRIO. This will save you much time, I think.

 

Thanks,

Richie

0 Kudos
Message 10 of 15
(5,839 Views)