I suggest we could patch the linux USB gadget driver to improve WebUSB support.
The current isssue are:
lack of support for the additional WebUSB descriptors
inability to use the device due to driver conflicts ( #125 )
permission conflicts in linux distros (this could be patched in userland, by adding a default udev rule for webusb interfaces)
eventual problems in windows
I've already worked on a custom patch for proof of concept, but it's owned by my employer, so I can't upstream it. Also maybe @gregkh might not accept it upstream in the linux usb driver. I made it work by patching the serial device with custom descriptors, so that the official driver couldn't recognize it anymore.
A smarter approach could be to have the webusb gadget allows the user to pick a function, and then decorate it with descriptor, ie: webusb driver with serial function, or storage function.
There might be a workaround by cleverly writing the descriptors using the current driver, but I'm still looking for it.
I suggest we could patch the linux USB gadget driver to improve WebUSB support.
The current isssue are:
I've already worked on a custom patch for proof of concept, but it's owned by my employer, so I can't upstream it. Also maybe @gregkh might not accept it upstream in the linux usb driver. I made it work by patching the serial device with custom descriptors, so that the official driver couldn't recognize it anymore.
A smarter approach could be to have the webusb gadget allows the user to pick a function, and then decorate it with descriptor, ie: webusb driver with serial function, or storage function.
There might be a workaround by cleverly writing the descriptors using the current driver, but I'm still looking for it.