Baudrate bei USB-Serial Converter mit stty nicht einstellbar

OP #2752633
Hallo Forengemeinde schon lange nix mehr gepostet hier,

Ich muss neben meinem PL2303 nun jetzt auch ein anderes Modell eines 
USB-Serial-Converters verwenden.

Mit dem alten Prolific stellte ich meine Parameter zur Kommunikation mit 
einem AVR-betriebenen Board so ein:
1
stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb raw -echo

Nun habe ich da 2 Converter von Cypress herumliegen
1
$ lsusb | grep 232
2
Bus 003 Device 002: ID 04b4:5500 Cypress Semiconductor Corp. HID->COM RS232 Adapter
3
Bus 005 Device 002: ID 04b4:5500 Cypress Semiconductor Corp. HID->COM RS232 Adapter

Dieser lässt sich aber nicht auf die gewünschte Baudrate einstellen.
1
$stty -F /dev/ttyUSB0 9600
2
stty: /dev/ttyUSB0: unable to perform all requested operations

Mit 4800 geht's jedoch. Dann empfange ich auch etwas (natürlich wenn der 
Sender auch mit 4800 sendet).
1
$cat /dev/ttyUSB0
2
daten_vom_mc_werden_empfangen....

Gibts das überhaupt, dass dieser USB-Converter nur mit so langsamen 
Geschwindigkeiten zurechtkommt?
Oder hats da mit meinem Kernelmodul was?
Oder funzt das stty nicht immer...

Ich verwende das Modul:
1
$lsmod
2
Module                  Size  Used by
3
cypress_m8             14367  0

Habe eigentlich nicht Lust alle meine Devices auf Baud 4800 
downzugraden.

Übrigens das STK-500 lässt sich auch nicht mit dem Cypress-Adapter 
verwenden :(
Gast #2752697
Hallo Michael,

die Geschichte krankt dann am Kernelmodul, was die entsprechenden 
Geschwindigkeiten bzw. Parameter nicht zur Verfügung stellt. Das geht 
IMHO mittels ioctl()-Aufrufe, was der Treiber anbieten muß. Schau dich 
mal nach 'nem anderen Treiber um oder nimm lieber gleich 'nen 
FTDI-Konverter. Weniger Ärger und stabilere Vervindung dank 
ausgereifterer Treiber.
OP #2752783
@Jörg:
dacht ich mir schon, dass ich die Baudrate nicht einfach so beim avrdude 
mit der Option '-b' mitgeben kann. Das STK weis ja dann nicht mit 
welcher baud die Anforderungen daherkommen.


Ein nächstes Phänomen hab ich:
Wenn ich Daten mit 4800 empfange, hab ich im Logfile mir unbekannte 
Ausgaben. Kann da jemand was damit anfangen.
1
$ tail -f /var/log/messages
2
Jul 12 17:57:51 lax kernel: [39156.925930] uhci_hcd 0000:00:1d.1: release dev 2 ep81-INT, period 2, phase 1, 118 us
3
Jul 12 17:57:51 lax kernel: [39156.939980] uhci_hcd 0000:00:1d.1: reserve dev 2 ep81-INT, period 2, phase 1, 118 us
4
Jul 12 17:57:51 lax kernel: [39156.940067] uhci_hcd 0000:00:1d.1: reserve dev 2 ep02-INT, period 8, phase 4, 118 us
5
Jul 12 17:57:51 lax kernel: [39156.947926] uhci_hcd 0000:00:1d.1: release dev 2 ep02-INT, period 8, phase 4, 118 us

Anschließend habe ich jetzt das Kernelmodul so modifiziert, dass 
Baudraten bis 115200 baud akzeptiert werden.

Ursprünglich war da eine Begrenzung auf 4800 drinnen.
Mal probieren ob es funkt...
Moderator Persönliche Seite #2753448
Michael Neumayer schrieb:
> dacht ich mir schon, dass ich die Baudrate nicht einfach so beim avrdude
> mit der Option '-b' mitgeben kann. Das STK weis ja dann nicht mit
> welcher baud die Anforderungen daherkommen.

Hängt halt von der Hardware ab.  Für ein JTAGICEmkII beispielsweise
geht das: die initiale Kontaktaufnahme erfolgt immer mit 19200 Bd,
danach verhandeln sie eine neue Geschwindigkeit.  In aller Regel
wird man dabei natürlich auch auf 115200 Bd gehen.  Wenn man sich
vom ICE abmeldet, fällt es wieder auf 19200 Bd zurück (und meldet
sich ggf. mit dem USB-Interface wieser am Bus an).

Beim JTAGICE mkI war das gruselig: da musste man alle Baudraten
durchprobieren, bis man eine gefunden hat, mit der die Kommunikation
klappt.  Da es dort auch kein Abmelden gab, blieb das ICE danach bis
zum nächsten Power-Up bei dieser Rate.
Gast #2754119
Soo schlecht sind die Cypress nun auch wieder nicht. Offensichtlich 
kommt der stty nicht mit dem Converter zurecht. was passiert wenn du in 
/etc/init die Baudrate fest vorgibst?
OP #2755093
@irkngdwer
Wie meinst du dass?
In /etc/init

Ich verwende im Moment das Teil unter gentoo.
Ich kann die Baud mit stty einstellen.
Der Kerneldriver kommt allerdings nur bis 4800 bauds zurecht trotz 
modul-Modifikation.

Naja, fuer linux und windows7 gibts ja offiziell keine Treiber dafuer.

Ich mach mich dann mal auf die Suche nach einem anderen Konverter.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.