<div dir="ltr">Web USB can only grab devices which has special Web USB headers. It can not grab any USB device.<div><br></div><div><a href="https://wicg.github.io/webusb/#webusb-descriptors">https://wicg.github.io/webusb/#webusb-descriptors</a><br></div><div><br></div><div>Kenneth</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jan 9, 2017 at 10:38 AM Greg KH <<a href="mailto:greg@kroah.com">greg@kroah.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Jan 09, 2017 at 10:20:33AM +0100, Lars Knudsen wrote:<br class="gmail_msg">
> Hi,<br class="gmail_msg">
><br class="gmail_msg">
> I am currently looking into how we can make using WebUSB devices less painful<br class="gmail_msg">
> for users on Linux.<br class="gmail_msg">
><br class="gmail_msg">
> The main purpose of WebUSB (as far as I can see) is to enable certain CDC (in<br class="gmail_msg">
> particular - but not limited to) devices communicate directly with browsers<br class="gmail_msg">
> visiting certain trusted sites (listed inside a binary object store - sent on<br class="gmail_msg">
> initial handshake).<br class="gmail_msg">
><br class="gmail_msg">
> The spec is here: <a href="https://wicg.github.io/webusb/" rel="noreferrer" class="gmail_msg" target="_blank">https://wicg.github.io/webusb/</a> (already running fine in<br class="gmail_msg">
> chrome stable)<br class="gmail_msg">
> Examples:<br class="gmail_msg">
> <a href="https://www.youtube.com/watch?v=Z1Nk2hH2wFE" rel="noreferrer" class="gmail_msg" target="_blank">https://www.youtube.com/watch?v=Z1Nk2hH2wFE</a><br class="gmail_msg">
> <a href="https://www.youtube.com/watch?v=o7wGt9RfHVA" rel="noreferrer" class="gmail_msg" target="_blank">https://www.youtube.com/watch?v=o7wGt9RfHVA</a><br class="gmail_msg">
> <a href="https://twitter.com/denladeside/status/817451203076427783" rel="noreferrer" class="gmail_msg" target="_blank">https://twitter.com/denladeside/status/817451203076427783</a><br class="gmail_msg">
><br class="gmail_msg">
> I'm guessing the solution will consist of 2 parts:<br class="gmail_msg">
><br class="gmail_msg">
> 1. make sure no WebUSB device is picked up by modemmanager (modemmanager task)<br class="gmail_msg">
<br class="gmail_msg">
Given that webusb can grab any device, how are you going to do that?<br class="gmail_msg">
<br class="gmail_msg">
> 2. make sure that webusb devices will be somehow accessible to be used by a<br class="gmail_msg">
> browser running with user permissions (current temp solution listed here:<br class="gmail_msg">
> adding user to plugdev, adding 0664 permissions to device: https://<br class="gmail_msg">
> <a href="http://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web" rel="noreferrer" class="gmail_msg" target="_blank">developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web</a> )  <br class="gmail_msg">
> (udev/systemd task).<br class="gmail_msg">
><br class="gmail_msg">
> For 2. we need to either making all webusb devices accessible or find some<br class="gmail_msg">
> other way the browsers can - in a generic way - gain access.  In all cases,<br class="gmail_msg">
> it's important that no USB interfaces has been pre-claimed by the system (e.g.<br class="gmail_msg">
> by cdc_acm) or it should be possible for the browser to throw off the claims.<br class="gmail_msg">
<br class="gmail_msg">
Userspace can disconnect any device from a driver if it wants to, but<br class="gmail_msg">
you aren't going to be able to "beat" the kernel at binding to a device<br class="gmail_msg">
if the driver.<br class="gmail_msg">
<br class="gmail_msg">
thanks,<br class="gmail_msg">
<br class="gmail_msg">
greg k-h<br class="gmail_msg">
</blockquote></div>