Impossible de configurer le débit en bauds sur le port série USB pour Ubuntu 12.04
J'ai juste mis à niveau de Ubuntu 10.04 sur un projet qui se connecte un périphérique intégré par le biais d'un USB port série à 115200 bauds. Après la mise à niveau de cela, il ne fonctionne pas, mais j'ai redémarré et a été en mesure de se connecter. Depuis l'arrêt et le redémarrage de mon système je n'ai pas été en mesure de se connecter. La ligne série dirait qu'il est connecté au mauvais débit en bauds (rapide de chaîne de caractères comme ressemblant à:
"'''''''''''''''''ppppp'''''''''''''''pppppp'''''''''''"...
Le périphérique USB est reconnu et mis en place comme /dev/ttyUSB0
. Quand j'ai essayer de régler le débit en bauds avec stty
j'obtiens:
$ sudo stty -F /dev/ttyUSB0 115200
stty: /dev/ttyUSB0: unable to perform all requested operations
Si j'essaie de réglage de 9600
il semble fonctionner:
$ sudo stty -F /dev/ttyUSB0 9600
Mais tout le reste échoue:
$ sudo stty -F /dev/ttyUSB0 4800
stty: /dev/ttyUSB0: unable to perform all requested operations
Voici ce que stty voit:
$ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
Je peux modifier d'autres valeurs à l'aide de stty (echo, résonnent, etc.), mais pas le débit en bauds.
J'ai vu un commentaire en ligne que quelqu'un pourrait définir bauds avec Minicom, mais pas à partir de la ligne de commande, donc je me suis Minicom et il a essayé, mais j'obtiens le même résultat (ce qui semble être le mauvais débit en bauds).
J'ai aussi essayé setserial, mais qui refuse d'accepter la /dev/ttyUSB
appareils:
$ sudo setserial /dev/ttyUSB0 -a
Cannot get serial info: Invalid argument
$ sudo setserial /dev/ttyS0 -a
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
Enfin, voici les appareils, et leur installation à partir de la commande dmesg:
$ ls -l /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 Nov 19 15:53 /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 Nov 19 16:00 /dev/ttyUSB1
$ dmesg | grep ttyUSB
[ 32.444445] usb 4-1: generic converter now attached to ttyUSB0
[ 32.444549] usb 8-2: generic converter now attached to ttyUSB1
J'ai travaillé avec cet appareil sous Ubuntu 10.04 pour quelques mois et a été en mesure de les utiliser de la semaine dernière, mais depuis l'arrêt et le redémarrage je n'ai pas pu. J'ai regardé en ligne et a trouvé quelques personnes qui ont un problème similaire, mais aucun avec des solutions. Comment puis-je résoudre ce problème?
oui, setserial /dev/ttyUSB0 un "argument non valide" (voir à la fin de la question)
OriginalL'auteur user1835090 | 2012-11-19
Vous devez vous connecter pour publier un commentaire.
Je ne sais toujours pas ce qui s'est passé, mais il est aujourd'hui. Pour tous ceux qui s'exécute dans le même problème, j'ai essayé le "modprobe -r usbserial" (mon idée était de voir si l'ancien pilote pourrait être chargé avec modprobe -f; elle ne pouvait pas), puis rechargé le module "modprobe usbserial". Cette fois, la série a fonctionné correctement - je ne sais pas pourquoi.
Maintenant, quand je ne stty il rapporte:
et je peux changer la vitesse de transmission (je l'ai changé pour 9600 et puis retour à 115200).
Donc il n'y a pas de réponse satisfaisante, mais, apparemment, de jouer avec, ça peut le faire travail qu'il a commencé à travailler la première fois après un redémarrage.
stty -F /dev/ttyUSB0
), il va fonctionner. Je ne sais pas pourquoi il exige deux essais, mais cela devrait fonctionner.OriginalL'auteur user1835090
Autorisation d'écriture sur le fichier de périphérique est nécessaire pour modifier les paramètres. Vous pouvez le contrôler
avec une simple inscription. Par exemple.
Dans le cas ci-dessus, tout le monde le droit de lecture (
r
) le superutilisateurroot
et le
dialout
groupe ont la permission d'écrire trop (rw
).Si vous êtes membre de la
dialout
groupe, vous pouvez modifier la vitessesans aucune autre chose par la mentionnés ci-dessus
stty -F /dev/ttyUSB0 115200
commande sinon vous avez besoin d'utiliser
sudo
.Vous pouvez contrôler votre statut de membre avec le
id
commande.OriginalL'auteur kaliczp