Il driver del kernel del gadget USB di Linux ha visto una patch pubblicata oggi per esporre la pagina di destinazione di un dispositivo come parte della specifica WebUSB. WebUSB come promemoria è lo standard del settore per fornire un’API JavaScript per accedere in modo sicuro ai dispositivi USB dalle pagine Web ed è già supportato da Google Chrome e Microsoft Edge.
WebUSB consente l’accesso ai dispositivi hardware USB dalle pagine Web ed è supportato dal W3C. WebUSB funziona in modo multipiattaforma e può già essere utilizzato su Linux con dispositivi come Google Chrome.
La patch inviata oggi per il driver del gadget USB di Linux che desidera esporre un URL di”pagina di destinazione”per annunciare la pagina per il dispositivo e descrivere l’interfaccia JavaScript per detto gadget. La pagina di destinazione del dispositivo WebUSB verrebbe esposta tramite sysfs e segnalata anche tramite l’output del dispositivo lsusb. WebUSB può già funzionare su Linux con i browser Web supportati mentre questa patch del kernel riguarda la possibilità di esporre qualsiasi pagina di destinazione pertinente.
Questa specifica è pubblicata sotto il W3C Community Contributor Agreement, che in particolare consente di implementare la specifica senza royalty.
La specifica consente ai gadget USB di annunciare un URL alla pagina di destinazione e descrive un’interfaccia Javascript per consentire ai siti web di interagire con il gadget USB, se l’utente lo consente. Attualmente è supportato dai browser basati su Chromium, come Chrome, Edge e Opera su tutti i principali sistemi operativi, incluso Linux.
Questa patch aggiunge il supporto facoltativo per sistemi basati su Linux Gadget USB che desiderano esporre una tale pagina di destinazione.
Durante l’enumerazione dei dispositivi, un host riconosce che la versione USB annunciata è almeno la 2.01, il che significa che sono disponibili descrittori BOS. Il dispositivo quindi annuncia il supporto WebUSB utilizzando una funzionalità del dispositivo della piattaforma. Ciò include un codice fornitore in base al quale è possibile recuperare l’URL della pagina di destinazione utilizzando una richiesta specifica del fornitore.
Vedi mailing list del kernel per ulteriori dettagli su questa patch di supporto WebUSB per il codice gadget USB. I curiosi dell’API WebUSB possono trovare le specifiche correnti tramite GitHub.