UVC camera randomly freezes and needs to be unplugged and replugged

  1. Where did you get the camera module(s)?

Amazon

  1. Model number of the product(s)?

B0292

  1. What hardware/platform were you working on?

Ubuntu Linux 18.04 on a System 76 Laptop

  1. Instructions you have followed. (link/manual/etc.)

I’m using Cheese, following the instructions at this link Webcam - Community Help Wiki

  1. Problems you were having?

The camera works as expected when I plug it in. After some time, it stops working: it’s still listed with lsusb, but Cheese only returns a black screen, and I can’t select other cameras on the laptop, such as the internal camera. Unplugging and replugging the camera temporarily solves the issue.

  1. The dmesg log from your hardware?

after the webcam stops working, a bunch of these messages appear in dmesg:

[…]
[ 1174.464915] uvcvideo: Non-zero status (-71) in video completion handler.
[ 1174.466996] uvcvideo: Non-zero status (-71) in video completion handler.
[ 1174.468795] uvcvideo: Non-zero status (-71) in video completion handler.
[ 1174.470357] uvcvideo: Non-zero status (-71) in video completion handler.
[…]

  1. Troubleshooting attempts you’ve made?

Added an externally powered USB hub to no avail.

  1. What help do you need?

Are there other logs or troubleshooting steps to figure out what’s going on?

I reproduced the same issue on Windows 10 with AMCap. I left the camera connected overnight to a Windows laptop, and in the morning AMCap showed a black image for the ArduCam. The image from the internal camera of the laptop was displayed correctly. After unplugging and replugging the ArduCam, AMCap showed the correct picture again.

We bought 8 cameras from Amazon, and at least 3 of them have the same issue. Can it be a firmware problem?

I did some further testing following the idea from this link https://community.infineon.com/t5/USB-superspeed-peripherals/CX3-UVC-ubuntu-18-04-uvcvideo-Non-zero-status-71-in-video/m-p/153157

I used Wireshark to monitor the USB traffic overnight on Windows. I made sure to capture the initial connection of the camera and verified that it was working properly with AMCap. I left the camera connected overnight, and in the morning AMCap was showing just a black screen. I now have a capture file that is about 60 MB. It looks like that for some reason, the camera stops replying to URB_BULK requests in a timely fashion. Can the Wireshark capture be helpful in troubleshooting the issue?