Historique: usb_bus_id_instable
Aperçu de cette version: 8
note
usb_bus_id_instable est un script adaptant rtirq en fonction du bus id de l'interface audio USB .
image
Table des matières
Description
...Dans le monde informatique moderne, l'USB c'est la (parfois mauvaise) réponse à tout. Sur l'USB, on branche ses interfaces homme/machine (clavier, souris, wacom, surface de contrôle...), des périph de sorties (imprimantes), des périph de stockages, des téléphones... Certains, pour ne pas dire la plupart, restent branchés en permanence.
Dans une approche MAO, on veut une gestion du temps réel au cordeau, ce qui implique une hiérarchisation de l'importance des périphériques; dans ce but on utilise rtirq-init via son fichier de configuration (dans la famille debian, c'est /etc/default/rtirq) et on donne un niveau de priorité aux différents périphériques. Jusque là tout va bien, si l'on a une carte audio PCI à base de ice1712, il suffit de mettre RTIRQ_NAME_LIST="rtc ice1712" et le tour est joué: votre système d'exploitation sait que le périph ice1712 est importantissime. Si, par contre, votre interface est sur port USB, les choses se compliquent puisque vous devrez déclarer non pas l'interface mais le port. Simple: RTIRQ_NAME_LIST="rtc usb". Sauf qu'avec cette syntaxe, votre interface audio a certes une haute priorité, mais vos claviers, souris, imprimantes, gorcongulator, et ce truc inutile à l'effigie de Jackie Quartz offert par tante Janine (et qu'il est interdit de balancer, sauf à vouloir déclencher une guerre familiale digne d'inspirer le prochain Shakespeare) se retrouvent tous avec le même niveau de priorité élevé. Résultat: en pleine prise ultime et merveilleuse, l'imprimante se met en veille et en informe le système, le chat bouge la souris, le gorcongulator gorcongule (c'est son rôle, après tout) et tante Janine se rappelle à votre bon souvenir avec une mise en mouvement aussi absurde que cpuphage de son truc débile, là. Au revoir la merveilleuse prise vocale à forte poussée, tellement forte d'ailleurs qu'on ne peut s'en permettre qu'une, gorge et voisins déclarant forfait.
Heureusement, la solution est dans la doc: il suffit de préciser le port usb concerné comme ceci:
RTIRQ_NAME_LIST="rtc usb2" (en vérifiant évidemment le numéro de port avec lsusb et en ne mettant rien d'autre sur ce port)
Et le tour est joué... jusqu'à ce que d'un coup ça déconne, moins qu'avant mais ça rame grave en audio... Parce que le port USB de votre interface a changé de bus ID entre deux redémarrages et n'est donc plus en priorité élevée. Et là, il vous reste deux options:
-Hurler après nunux, balancer moults coups de lattes dans la tour, faire une manif pro Trump au congrès du Libre et faire un versement permanent de 1,5 fois votre salaire à goowinpple
-Lire le paragraphe suivant...
Utilisation
...Il s'agit donc de créer un petit script qui sera exécuté à chaque démarrage, récupérera le bus ID de l'interface USB audio, modifiera le fichier de configuration de rtirq-init avant de le relancer. La procédure qui suit est opérationnelle sur une Debian Stretch, elle devrait être valable sur toutes les distros issues de Debian type librazik, ubuntu et ses dérivées, devuan, etc. (si votre distro debianesque est vraiment exotique, je pars du principe que vous êtes suffisamment pointu pour savoir adapter ce qui suit).