New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

udev rules on Linux #70

Open
karel-3d opened this Issue Jan 5, 2017 · 7 comments

Comments

Projects
None yet
2 participants
@karel-3d

karel-3d commented Jan 5, 2017

This might be better suited as an "implementation issue", but since this will affect every vendor implementing this (both browser vendor and hardware vendor), I am adding it here. (Also I like github issues more than chrome bug tracker.)

When experimenting with this, I found out that if the end user uses Linux, he still needs to install the correct "udev rules" file as a root in order to use the device; otherwise, the kernel won't let the browser use the device. (Or it will, if you run the browser as a root, but that's not very safe and Chromium will issue warnings on start.)

This goes against the stated goal wrote here https://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web - you still need to install some files as a root, potentially compromising your computer. It's easier than drivers, but it's still adding something somewhere as a root.

I am not sure what to do with that, if there is any solution. Maybe there is a way your device can confront to some of the "default" udev rules (there are some pre-installed on my Ubuntu), which would stop the need of special handling, but I haven't found out how to do that.

@karel-3d

This comment has been minimized.

Show comment
Hide comment
@karel-3d

karel-3d Jan 5, 2017

This seems not to be an issue on Chromebooks by the way. They are linux, but the handling of devices is supposedly different.

karel-3d commented Jan 5, 2017

This seems not to be an issue on Chromebooks by the way. They are linux, but the handling of devices is supposedly different.

@karel-3d

This comment has been minimized.

Show comment
Hide comment
@karel-3d

karel-3d Jan 5, 2017

Oh, you have that already mentioned in the document in "Tips" (I missed that). Should I close this then?

karel-3d commented Jan 5, 2017

Oh, you have that already mentioned in the document in "Tips" (I missed that). Should I close this then?

@karel-3d

This comment has been minimized.

Show comment
Hide comment
@karel-3d

karel-3d Jan 5, 2017

By the way, with chrome.hid API, and probably with chrome.usb (not sure), the devices inaccessible due to missing udev files are still listed with enumeration; with webusb, they are not. (Probably because Chrome cannot send the control messages? Yeah that might be it)

So the web app developer cannot even detect that the udev file is missing. I did that with chrome.hid; it was a bit "heuristic", but it worked.

karel-3d commented Jan 5, 2017

By the way, with chrome.hid API, and probably with chrome.usb (not sure), the devices inaccessible due to missing udev files are still listed with enumeration; with webusb, they are not. (Probably because Chrome cannot send the control messages? Yeah that might be it)

So the web app developer cannot even detect that the udev file is missing. I did that with chrome.hid; it was a bit "heuristic", but it worked.

@larsgk

This comment has been minimized.

Show comment
Hide comment
@karel-3d

This comment has been minimized.

Show comment
Hide comment
@karel-3d

karel-3d Jan 10, 2017

That's a pretty long thread 😮

karel-3d commented Jan 10, 2017

That's a pretty long thread 😮

@larsgk

This comment has been minimized.

Show comment
Hide comment
@larsgk

larsgk Jan 10, 2017

larsgk commented Jan 10, 2017

@larsgk

This comment has been minimized.

Show comment
Hide comment
@larsgk

larsgk Sep 14, 2017

@reillyeon , did you have some new info on this?

larsgk commented Sep 14, 2017

@reillyeon , did you have some new info on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment