Пример интерфейса WebUSB
Я понимаю проблемы безопасности и внесенные изменения, как описано здесь: https://groups.google.com/a/chromium.org/forum/
Но так как мои устройства больше не работают, мне было интересно:
- Существует ли пример дескриптора интерфейса, который я могу использовать для реализации на моем USB-устройстве (было бы полезно, если бы оно работало без правила udev или драйвера Windows, который должен быть установлен пользователем)?
- Существуют ли предпочтительные классы для использования, которые будут поддерживаться в течение более длительного времени (например, в зависимости от поставщика 0xFF)?
Любая помощь будет оценена.
1 ответ
Решение
- Ваш существующий дескриптор интерфейса, с
bInterfaceClass
установить 0xff для конкретного поставщика, а не его текущее значение будет работать просто отлично. В Linux потребуется правило udev, чтобы сделать узел USB-устройства доступным для записи в браузере. В Windows вам потребуется реализовать дескриптор возможностей платформы дескриптора Microsoft OS 2.0, чтобы указать Windows загружать нужный драйвер по умолчанию при подключении устройства. Пример всех этих дескрипторов включен в библиотеку WebUSB Arduino в WebUSB.cpp. - Ваш интерфейс, вероятно, должен быть специфичным для поставщика (0xff), если он не реализует стандартизированный класс устройств, который не является одним из классов защищенного интерфейса.