Google Hangouts Meet Speakermic è un dispositivo prodotto da ASUS che consente un ingresso/uscita audio a 360 gradi progettato per l’utilizzo di Google Hangout e consente di collegare in cascata fino a cinque di questi speakermic insieme per l’uso in grandi sale conferenze. Un driver Linux è in arrivo per il dispositivo solo per risolvere un problema con il pulsante muto.
Il microfono vivavoce di Google Hangouts Meet è un dispositivo di fascia alta nella gamma di $ 300 ~ 400 USD progettato per l’uso principalmente all’interno di sale conferenze per fornire capacità di acquisizione e ascolto audio superiori. Il microfono vivavoce di Hangouts Meet ha la cancellazione attiva dell’eco, la gestione del rumore di fondo e altre funzionalità.
Un driver Linux è arrivato in HID-next per Hangouts Meet Speakermic per risolvere un problema con l’utilizzo dell’evento HID in Linux. In particolare, gestione errata dei pulsanti mute. Il dispositivo per il resto sembra funzionare bene su Linux con i percorsi di codice comuni esistenti.
Sono solo circa 55 righe di driver di codice necessarie per gestire un pulsante di disattivazione dell’audio che si comporta in modo anomalo o mal progettato. Un commento in codice sul driver semplice spiega:
Questo driver gestisce l’utilizzo HID di disattivazione dell’audio del telefono ignorandolo. Ciò evita la gestione predefinita da parte del driver di input nascosto che deve mappare questo a un evento KEY_MICMUTE. Il problema è che questo dispositivo implementa l’utilizzo HID di disattivazione dell’audio del telefono come interruttore a levetta, dove 1 indica disattivato e 0 indica riattivato. Tuttavia, per un evento EV_KEY 1 indica che il tasto è stato premuto e 0 indica che è stato rilasciato.
Quindi questo semplice driver è arrivato in for-next del sottosistema HID prima del ciclo del kernel Linux 5.19. Questo è un altro esempio di dove l’utilizzo di eBPF per il sottosistema HID potrebbe essere potenzialmente utilizzato come alternativa a un altro semplice driver per gestire le stranezze del dispositivo.