Forum: Mikrocontroller und Digitale Elektronik Hinweis zu Problem mit FT232 beim Anstecken


von Falk B. (falk)


Angehängte Dateien:

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

von Dieter S. (ds1)


Lesenswert?


von Jim M. (turboj)


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...

von Ob S. (Firma: 1984now) (observer)


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.

von Rainer W. (rawi)


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.

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


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.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Vor gepflegten 24 Jahren auf µC.net:

https://www.mikrocontroller.net/attachment/328920/Serial_Device_May_Be_Detected_as_a_Serial_Mouse_in_Windows_2000.pdf

Damals noch mit Registry-Hacks um die Erkennung abzuschalten.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ob S. schrieb:
> Das Problem besteht bei nahezu allen üblichen
> heutigen Linux-Distributionen für PCs (und darüber hinaus!) ganz genau
> so.

"The standard install of Ubuntu no longer supports serial mice" (2017, 
https://help.ubuntu.com/community/SerialMouseHowto)

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.