Hinweis zu Problem mit FT232 beim Anstecken

OP #7866530
Lesenswert?

Hallo,

ich habe hier eine ziemlich alte Platine, auf der ein FT232RL mit einem ATmega32 zusammen ein bissel Zeug steuert. Folgendes Problem trat auf.

Problem

Beim Anstecken an USB wurde der COM-Port erkannt, aber nach wenigen Sekunden fror die Maus für ca. 5-15s ein. Danach gab es viele Probleme mit der Mausbedienung, Geisterbewegungen, scheinbar gedrückte Maustasten, die gar nicht gedrückt waren etc. Das Problem ist auch als Geistermaus oder crazy mouse bekannt. Der COM-Port war auch nicht per Terminalprogramm zu öffnen.

Ursache

Die Platine sendet dauerhaft mit 9600 Baud Daten auf den COM-Port. Diese werden bei der Enumeration des USB fälschlich als Mausdaten interpretiert und der (zusätzliche) Maustreiber aktiviert.

Lösung

Man muss in den erweiterten Einstellungen für den COM-Port das Plug & Play für den (emulierten) seriellen Port ausschalten (Haken entfernen). Siehe Anhang.

https://www.sealevel.com/how-to-fix-crazy-mouse-syndrome-with-usb-serial-adapters

Angehängte Dateien:
#7866634
Lesenswert?

Falk B. schrieb:

Die Platine sendet dauerhaft mit 9600 Baud Daten auf den COM-Port.

Das ist ein uraltes Problem, das es auch schon mit Geräten an echten Seriellen Schnittstellen gab. Auch die erkannten dann eine Maus.

Dieses Verhalten ist ein grober Designfehler, den es bei Verwendung von PC Hardware unbedingt zu vermeiden gilt. Antwort immer nur auf Befehl vom PC senden.

Ich gebe an der Stelle auch zu Bedenken das es Atmegas mit integriertem USB gibt...

(Firma: 1984now) #7866751
Lesenswert?

Jim M. schrieb:

Das ist ein uraltes Problem, das es auch schon mit Geräten an echten Seriellen Schnittstellen gab. Auch die erkannten dann eine Maus.

Ja.

Dieses Verhalten ist ein grober Designfehler

Ja. ABER: Eigentlich ist es ein Designfehler der seriellen Mäuse! Die sind halt so beschissen designed, dass die einzige Möglichkeit zu ihrer Erkennung darin besteht, auf irgendein erratisches Wackeln am Port zu horchen.

In schon weitaus geringerem Maße ist es ein Designfehler heutiger OS. Angesichts der Tatsache, dass so gut wie niemand heute (und darüber hinaus schon seit mindestens ca. 2 Jahrzehnten) noch serielle Mäuse benutzt, hätte deren Erkennung schon lange per default deaktiviert sein müssen. Zumal die native Schnittstelle dieser Mäuse ja auch nur noch selten vorkommt, sondern bei den meisten Rechnern erst per USB-Adapter nachgerüstet werden muss.

#7866775
Lesenswert?

Jim M. schrieb:

Dieses Verhalten ist ein grober Designfehler, den es bei Verwendung von PC Hardware unbedingt zu vermeiden gilt. Antwort immer nur auf Befehl vom PC senden.

Genauso wäre es ein grober Designfehler, Geräte die nicht über eine bidirektionale Kommunikation verfügen ( z.B. einfache Mäuse oder Sensoren, die nur regelmäßig einen Wert liefern), von der Verwendung am PC auszuschließen.

Der Designfehler vom Windows ist, dass es per Default jeden ankommenden Datenstrom ungefragt als Mausdaten zu verstehen versucht und das seit Jahrzehnten. Der FT232 kann da nichts für.

(Firma: 1984now) #7866786
Lesenswert?

Rainer W. schrieb:

Der Designfehler vom Windows ist

Wenn es mal nur ein Windows-Problem wäre...

Ist es aber nicht. Das Problem besteht bei nahezu allen üblichen heutigen Linux-Distributionen für PCs (und darüber hinaus!) ganz genau so.

Kann man natürlich abschalten. Genau, wie man das bei Windows auch abschalten kann.

Der systemübergreifende Designfehler ist: Man muss es erst abschalten. Es sollte aber sinnvollerweise schon seit Jahrzehnten per default abgeschaltet sein. Ich kann einfach nicht begreifen, warum die OS-Anbieter so sehr auf der Unterstützung für prähistorische serielle Mäuse beharren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren