URL: https://linuxfr.org/forums/linux-debian-ubuntu/posts/utilisation-de-socat-udev-pour-lire-erire-dans-un-peripherique-usb Title: Utilisation de socat, udev pour lire/érire dans un périphérique usb Authors: webextension Date: 2012年02月22日T11:57:58+01:00 Tags: udev et socat Score: 1 Bonjour, J'ai un petit problème pour lire/érire dans un périphérique usb. Ce périphérique est reconu via le device /dev/ttyACM0 Quand j'essaye de lire et écrire en même temps via mon programme ça plante car la ressource est déjà utilisé par une des 2 méthodes (lecture ou écriture). Je cherche donc à créer un port série virtuel via socat ou créer des devices différents via udev. Mais sans résultat d'où ce post... Ce que j'ai fait: J'ai testé en créant des devices de type char et bloc en respectant bien la disponibilité des minors et majors. Je me suis dit qu'il fallait bien que les device existent pour faire du socat ou de l'udev mknod /dev/ttyrx char 4 64 mknod /dev/ttytx char 4 65 ou mknod -m 0666 /dev/rfxrx b 166 1 mknod -m 0666 /dev/rfxtx b 166 2 En essayant avec socat voilà les messages d'erreurs : # socat -d -d /dev/ttyACM0,raw,echo=0 /dev/ttytx,raw,echo=0 2012年02月21日 11:53:23 socat[25188] N opening character device "/dev/ttyACM0" for reading and writing 2012年02月21日 11:53:23 socat[25188] N opening directory "/dev/ttytx" for reading and writing 2012年02月21日 11:53:24 socat[25188] E open("/dev/ttytx", 02002, 0666): No such device or address 2012年02月21日 11:53:24 socat[25188] N exit(1) J'ai essayé avec udev en identifiant l'ID de mon périphérique usb via lsusb et j'ai rajouté les lignes adéquats dans /etc/udev/rules.d/50-udev.rules : KERNEL=="ttyUSB*", SYSFS{idProduct}=="00df", MODE=="666", SYMLINK="ttyrx" KERNEL=="ttyUSB*", SYSFS{idProduct}=="00df", MODE=="666", SYMLINK="ttytx" Mais pareil ca marche pas : stty: /dev/ttytx: Input/output error Auriez vous la syntaxe exacte de socat que je dois utiliser ? Les types de devices que je dois utiliser ? La méthodologie à suivre (car là je suis parti dans tous les sens pour essayer de faire marcher mon truc, tout via udev ? ou tout via socat ? ou les 2 ?)?? Je voudrais que ces devices soient créés quand je branche ma carte USB (en mode udev) et je voudrais que les devices virtuels soient créés dans la foulée (via socat j'imagine) Merci d'avance pour toute l'aide que vous pourrez m'apporter Cordialement

AltStyle によって変換されたページ (->オリジナル) /