Serieller Linux-FTDI-Treiber

443
Henrik Frilund

Ich habe ein ärgerliches Problem mit seriellen FTDI-Geräten unter Linux, das auf mehreren Computern und mit unterschiedlichen Distributionen beobachtet wurde. Das Problem ist, dass der serielle Adapter Zeichen verfehlt und nun mit einer vollständig aktualisierten Arch-Installation mit Kernel 4.12.4 so schlecht geworden ist, dass die serielle Konsole völlig unbrauchbar ist. Wir verwenden serielle Konsolen für das Testen eingebetteter Geräte. Die Häufigkeit des Problems war zuvor, dass ein oder zwei Mal ein nächster Test durchgeführt werden konnte, was schlimm genug war, dass wir für einige unserer Protokollierungsanforderungen auf Windows-Computer umsteigen mussten. Als Beispiel mit 4.12.4. Hier haben wir ein eingebettetes Gerät, das den String druckt, "Button pressed: Button 3 Switch 2\n"wenn eine bestimmte Taste gedrückt wird. Was ich bekomme:

Button pressed: Button 3 Switch 2  Button pressed: Button 2 Switch 2  Button pressed: Button 2 Switch 2  2 Switch 2 Button pressed: Button 2 Switch 1  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 SwitchButton pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 SwiButton pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  sed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  Button pressed: Button 3 Switch 2  

Wenn Sie dasselbe unter Windows ausführen, ist dies kein Problem. Vor dem letzten Update funktionierte es einwandfrei. Wenn ich dasselbe auf einer virtuellen Ubuntu-Maschine ausprobiere, ist es auch in Ordnung, aber ich weiß, dass ich, wenn ich es für längere Zeit laufen würde, auch Charaktere verlieren würde. Hat jemand anderes das gleiche Problem gefunden und vielleicht eine Lösung gefunden? Die serielle Schnittstelle läuft mit 115200 1N8 und ohne Flusskontrolle.

Vielen Dank.

1
* "Vor dem letzten Update funktionierte es" * - Die einfache Problemumgehung besteht darin, zur vorherigen Kernel-Version zurückzukehren. Sie sind nicht verpflichtet, jedes Update zu verwenden. sawdust vor 6 Jahren 0

0 Antworten auf die Frage