New issue
Advanced search Search tips

Issue 668921 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

WebUSB causes UVC device fails to be recognized

Reported by sul...@gmail.com, Nov 28 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36

Steps to reproduce the problem:
1. On Mac 10.11 (higher possibility than other versions)
2. With an external hub connected (this increases possibility)
3. Connect an USB UVC camera vi external to PC
4. USB device can be found by OS. But UVC camera device is not recognized
5. If the USB camera has UAC microphone, the UAC always works well
6. This situation can be reproduced via plugin & plugout repeatedly and possibility is about 30%~90% 

What is the expected behavior?
UVC camera can always be recognized by Mac.
Application can open camera and view the video

What went wrong?
UVC camera can not be recognized by Mac. 

Did this work before? N/A 

Chrome version: 54.0.2840.98  Channel: stable
OS Version: 10.11
Flash Version:
 

Comment 1 by sul...@gmail.com, Nov 28 2016

After disable WebUSB in chrome://flags. UVC can always be recognized and this issue can not be reproduced over 100 re-plugin/out USB camera.

Because WebUSB is enabled by default after chrome version 54, this issue impacts end-user now.

Comment 2 by rbyers@chromium.org, Nov 28 2016

Components: IO>USB
Owner: reillyg@chromium.org
Status: Assigned (was: Unconfirmed)
Does this reproduce with USB 2.0 or USB 3.0 cameras? Can you give me an example of a camera model that causes this issue?

Comment 4 by sul...@gmail.com, Nov 29 2016

We only have USB 2.0 Cameras. The issue happens no matter connecting it to USB 2.0 port or USB 3.0 port. The camera models are AVer U50 and Logitech C920

Comment 5 by mcasas@chromium.org, Nov 29 2016

Labels: Needs-Feedback
sul331@ I tried with a Logitech C920, Chrome 55.0.2883.59 (Beta)
and on my MBP 10.11.6 and video capture worked fine using [1].

You're probably being bitten by something similar to 
 https://crbug.com/432868  where the enumeration of the devices
somehow gets borked and doesn't list (any of) the cameras. IIRC
using external hubs and/or repeatedly plugging the USB connector
increases the chances of reaching a bad state.

It'd be interesting for you to:
- navigate to [1] and make sure the camera is listed, if not,
then it's most likely a camera enumeration problem
- try cam_formats_avf_64b [2] when the camera is not listed,
to see if the OS still can enumerate it or not.

My guess is that disabling WebUSB "resets" in way the UVC and
makes the enumeration work again, so it's not the root cause,
but a workaround.


[1] https://rawgit.com/Miguelao/demos/master/gum_multi.html
[2] https://github.com/miguelao/cam_formats

Comment 6 by sul...@gmail.com, Nov 30 2016

I have done more test and the result is as following.

1. I use Chrome 55.0.2883.59 (Beta) & Logitech C920 with WebUSB set to "default". The issue still can be reproduced after plugin/plugout several times.
2. When the situation happend, [1] gum_multi.html only finds 1 camera, I guess it is the embedded "Facetime HD Camera".
3. When the situation happend, [2] cam_formats_avf_64b also only finds 1 camera called "Facetime HD Camera"
4. But in the result of [2], the audio of Logitech C920 is found as expected
5. In Mac > About This Mac > System Report
    a. C920 is listed in USB
    b. C920 is listed in Audio
    C. C920 is NOT listed in Camera
6. Because of 5. Other program can not find and can not use C920. This is different from case #432868
I capture the screen and attach it.
Screen Shot 2016-11-30 at 3.31.01 PM.png
650 KB View Download
Screen Shot 2016-11-30 at 3.35.53 PM.png
283 KB View Download

Comment 7 by sul...@gmail.com, Dec 6 2016

Hi,
  Is there any way to disable WebUSB via CLI or program API? My customers have this issue in their daily work. I plan to have an easy and quick way to disable WebUSB  temporally to workaround it.
Adding --disable-features=WebUSB to the Chrome command line is the equivalent to changing the value in chrome://flags.

Comment 9 by sul...@gmail.com, Dec 9 2016

Thanks for information, currently we can workaround it by disable this feature.

Because WebUSB is really good function, I don't want to turn it off forever.
If more information or data is needed to reproduce or clear this issue, I am glad to provide it.

Labels: Pri-3
Issues not modified in last 50 days aren't on track to ship in next release.

Sign in to add a comment