Forum: Mikrocontroller und Digitale Elektronik Probleme mit USB-Serial Adapter unter Ubuntu


von Sebastian (Gast)


Lesenswert?

Hallo,

ich habe zwei von diesen USB-Serial Adaptern: 
http://www.amazon.de/dp/B00GBVMWBC/ref=pe_386171_37038021_TE_3p_M3T1_dp_1

Unter Windows kann ich mit diesen und Putty einwandfrei von USART lesen.

Unter Ubuntu funktioniert nur einer einwandfrei, der andere liefert mir 
beim Lesen mit cat nur kryptischen Buchstabensalat.

So lese ich unter Ubuntu (ttyUSB0 und ttyUSB1):
1
stty -F /dev/ttyUSB0 115200 raw -echo
2
cat /dev/ttyUSB0

Hat jemand eine Idee, wodran das liegen könnte? Da beide unter Windows 
funktionieren, denke ich mal, dass der Fehler bei Ubuntu liegt.

Viele Grüße,

Sebastian

von Schleby N. (schleby)


Lesenswert?

1
sudo gpasswd -a $USER uucp
2
sudo gpasswd -a $USER lock
3
sudo gpasswd -a $USER tty

danach sollte es gehen

von Sebastian (Gast)


Lesenswert?

Was machen die Befehle?

Ich habe für meine zwei Befehle ein Shellskript gemacht und das rufe ich 
per sudo auf.

Ich habe gerade festgestellt, dass es an /dev/ttyUSB0 zu liegen scheint. 
Ziehe ich beide Adapter ab und stecke den ersten an, dann ist dieser 
unter /dev/ttyUSB0 zu lesen. Stecke ich den zweiten an, dann eben 
/dev/ttyUSB1. Ziehe ich nun wieder beide Adapter ab und vertausche die 
Reihenfolge des Ansteckens, dann wird wieder zuerst /dev/ttyUSB0 
zugewiesen und dann /dev/ttyUSB1. Unter /dev/ttyUSB1 kann ich also beide 
Adapter lesen, unter /dev/ttyUSB0 kommt nur murks.

Ich sende immer häppchenweise, also zum Beispiel "Hallo" alle 5 
Sekunden. Ich sehe dann auch zum Beispiel das H, danach kommt dann 
wieder murks. Das H vom nächsten Hallo sehe ich dann wieder.

von ado (Gast)


Lesenswert?

Ich kenne mich da nicht so gut aus aber du kannst die Schnittstellen 
auch über "by-id" ansprechen.

/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A60178J4-if00-port0

wenn du die Geschwindigkeit gesetzt hast und dann mit
stty -F /dev/ttyUSB0 -a
wieder ausließt, stimmen dann die Angaben ?

von Sebastian (Gast)


Lesenswert?

So ich habe mal nachgeschaut:
1
$ sudo stty -F /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9EDTNJJ-if00-port0
2
speed 115200 baud; line = 0;
3
min = 1; time = 0;
4
-brkint -icrnl -imaxbel
5
-opost -onlcr
6
-isig -icanon -iexten -echo -echok -echoctl -echoke
7
$ sudo stty -F /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9MP1V3Z-if00-port0
8
speed 115200 baud; line = 0;
9
min = 1; time = 0;
10
-brkint -icrnl -imaxbel
11
-opost
12
-isig -icanon -echo

Das Auslesen des oberen Adapters liefert murks und dieser wurde zuerst 
eingesteckt. Stecke ich den anderen zuerst ein, dann bekommt er auch die 
oberen Werte. Es scheint ja einen Unterschied zwischen den Werten 
zugeben.

von Sebastian (Gast)


Lesenswert?

Upsala, ich habe den Schalter -a übersehen. Daher noch einmal die 
ausführlichere Ausgabe:
1
$ sudo stty -F /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9EDTNJJ-if00-port0 -a
2
speed 115200 baud; rows 0; columns 0; line = 0;
3
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
4
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
5
parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
6
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
7
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
8
-isig -icanon -iexten -echo echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke
9
10
$ sudo stty -F /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9MP1V3Z-if00-port0 -a
11
speed 115200 baud; rows 0; columns 0; line = 0;
12
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
13
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
14
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
15
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
16
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
17
-isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

von Konrad S. (maybee)


Lesenswert?

Wenn /dev/ttyUSB1 die gute Schnittstelle ist, dann mach das:
1
stty -F /dev/ttyUSB0 `stty -F -g /dev/ttyUSB1`
Dadurch werden alle Einstellungen von /dev/ttyUSB1 nach /dev/ttyUSB0 
kopiert.

von ado (Gast)


Lesenswert?

Einige Werte  unterscheiden sich:

parenb
onlcr
iexten
echok
echoctl
echoke

"... Wird einem Argument ein `-' vorangestellt, so wird die 
entsprechende Eigenschaft abgeschaltet bzw. in ihr Gegenteil verkehrt. "
http://www.fh-wedel.de/~si/doc/LHB/node106.html

Ich bin da noch über sane gestolpert, welches  alle Einstellungen auf 
Standardwerte setzen soll.

von bingo (Gast)


Lesenswert?

Schleby na schrieb:
> sudo gpasswd -a $USER lock

Wozu ist die Gruppe "lock" gut ?

von Sebastian (Gast)


Lesenswert?

@Konrad S.:

Vielen Dank für den Befehl. Jetzt geht es endlich! Nur das "-g" muss 
hinter die Pfadangabe, also
1
stty -F /dev/ttyUSB0 `stty -F /dev/ttyUSB1 -g`

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.