www.mikrocontroller.net

Forum: PC Hard- und Software Baudrate bei USB-Serial Converter mit stty nicht einstellbar


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Michael Neumayer (nurmi)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
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:
stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb raw -echo

Nun habe ich da 2 Converter von Cypress herumliegen
$ lsusb | grep 232
Bus 003 Device 002: ID 04b4:5500 Cypress Semiconductor Corp. HID->COM RS232 Adapter
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.
$stty -F /dev/ttyUSB0 9600
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).
$cat /dev/ttyUSB0
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:
$lsmod
Module                  Size  Used by
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 :(

Autor: blubb (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Michael Neumayer schrieb:
> Übrigens das STK-500 lässt sich auch nicht mit dem Cypress-Adapter
> verwenden :(

Der braucht auch 115200 Bd, mit einer anderen Rate funktioniert
der nicht (außer im Bootloader-Modus).

Autor: Michael Neumayer (nurmi)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
@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.
$ tail -f /var/log/messages
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
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
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
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...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
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.

Autor: irkngdwer (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
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?

Autor: Michael Neumayer (nurmi)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
@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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net