Re: Détection automatique d'une connection USB
Le 13/04/2018 à 07:31, Danilo Uccelli a écrit :
Effectivement un des problèmes était bien le manque de slash et j'ai aussi
bien compris la faille de sécurité que cela crée.
Quel manque de slash ? Tu veux dire qu'il manquerait un / entre /sbin et
sh ? Sûrement pas, car /sbin/sh n'existe pas ; sh est dans /bin.
J'ai donc donné à root la propriété du script.
Pas suffisant car le propriétaire non root du répertoire contenant le
script peut toujours le supprimer, le renommer et le remplacer par ce
qu'il veut.
Puis, j'ai réalisé que udev n'était pas la meilleure solution puisque il
suffit d'exécuter le script une seule fois au démarrage, ensuite le
périphérique se monte tout seul. J'ai donc fait un crontab en root, au
démarrage.
Il y a mieux qu'un cronjob, je trouve.
Pour charger un module au démarrage, on peut le mentionner dans le
fichier /etc/modules.
Pour qu'il soit chargé automatiquement lors de la détection
d'identifiants donnés, on peut créer un alias pour modprobe (cf. man
modprobe.d).
Et modinfo nous apprend que le module ftdi_sio a deux paramètres vendor
et product permettant de spécifier ses propres identifiants, qui peuvent
être ajoutés par modprobe.
# modinfo -p ftdi_sio
debug:Debug enabled or not (bool)
vendor:User specified vendor ID (default=0x0403) (ushort)
product:User specified product ID (ushort)
ndi_latency_timer:NDI device latency timer override (int)
Cela pourrait être rassemblé dans un fichier /etc/modprobe.d/ftdi_sio.conf :
alias usb:v0403pEFE0d*dc*dsc*dp*ic*isc*ip* ftdi_sio
options ftdi_sio vendor=0x0403 product=0xEFE0
A tester et vérifier. Je ne suis pas sûr s'il faut 0x devant les
identifiants en hexadécimal.
Pour finir, note qu tu aurais pu et pourrais encore demander à ce que
tes identifiants personnalisés soient ajoutés au module ftdi_sio
directement dans les sources du noyau, comme beaucoup d'autres semblent
l'être déjà.
Reply to: