Le pilote du noyau du gadget USB Linux a vu un correctif publié aujourd’hui pour exposer la page de destination d’un périphérique dans le cadre de la spécification WebUSB. WebUSB, pour rappel, est la norme de l’industrie pour fournir une API JavaScript pour accéder en toute sécurité aux périphériques USB à partir de pages Web et est déjà pris en charge par Google Chrome et Microsoft Edge.
WebUSB permet d’accéder aux périphériques matériels USB à partir de pages Web et est soutenu par le W3C. WebUSB fonctionne de manière multiplateforme et peut déjà être utilisé sur Linux avec Google Chrome.
Le patch envoyé aujourd’hui pour le pilote de gadget USB Linux souhaitant exposer une URL”landing page”pour annoncer la page de l’appareil et décrire l’interface JavaScript pour ledit gadget. La page de destination du périphérique WebUSB serait exposée via sysfs et également signalée via la sortie du périphérique lsusb. WebUSB peut déjà fonctionner sur Linux avec les navigateurs Web pris en charge, tandis que ce correctif du noyau consiste à pouvoir exposer toute page de destination pertinente.
Cette spécification est publiée dans le cadre du W3C Community Contributor Agreement, qui permet notamment d’implémenter la spécification sans aucune redevance.
La spécification permet aux gadgets USB d’annoncer une URL vers la page de destination et décrit une interface Javascript permettant aux sites Web d’interagir avec le gadget USB, si l’utilisateur le permet. Il est actuellement pris en charge par les navigateurs basés sur Chromium, tels que Chrome, Edge et Opera sur tous les principaux systèmes d’exploitation, y compris Linux.
Ce correctif ajoute une prise en charge facultative pour Linux Gadgets USB souhaitant exposer une telle landing page.
Lors de l’énumération des appareils, un hôte reconnaît que la version USB annoncée est au moins 2.01, ce qui signifie qu’il existe des descripteurs BOS disponibles. L’appareil annonce ensuite la prise en charge de WebUSB en utilisant une capacité d’appareil de plate-forme. Cela inclut un code fournisseur sous lequel l’URL de la page de destination peut être récupérée à l’aide d’une demande spécifique au fournisseur.
Voir le liste de diffusion du noyau pour plus de détails sur ce correctif de support WebUSB pour le code de gadget USB. Les personnes curieuses de l’API WebUSB peuvent trouver la spécification actuelle via GitHub.