ubuntuusers.de

PPPd und tcp/ip über serial von pc zu pc - peformance problem

Status: Ungelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

Kai990

Anmeldungsdatum:
4. Juni 2006

Beiträge: 149

Hi,

ich habe eine ubuntu maschine an der ein usb-rs232 ftdi steckt. Daran angeschlossen ein 1.5m nullmodemkabel welches zu meinem 486dx2 laptop geht. Darüber bezieht der 486dx2 laptop auf dem slackware 8.1 läuft seine internetverbindung.

Das ganze funktioniert auch, habe es schon mit und ohne kompression getestet. Der 486dx2 laptop verfügt lediglich über einen 16450 UART, also nur 1 byte buffer.

Nun habe ich performance probleme, ich kann nicht über 57600baud gehen, sonst funktioniert die dateiübertragung kaum noch.

Eigentlich hätte ich mit diesem setup eine baudrate von 115200 baud erwartet.

Hat mir jemand einen tipp wie man die performance analysieren kann?

Woran sehe ich unter linux ob der prozessor von den interrupts des UART überlastet ist? Wird die load oder die cpu auslastung von diesen interrupts beeinflusst? Ich habe bei der dateiübertragung eigentlich eine load von weit unter 1.

Woran sehe ich mit pppd ob und wie oft übertragungsfehler auftreten? Habe mir pppstats angeschaut, aber sehe dort keine errorrate.

Oder muss ich zwangsläufig mein oszi an die leitungen hängen um das zu analysieren?

Könnte es sein dass das kabel schlecht isoliert ist?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9779

Wohnort: Münster

Kai990 schrieb:

[…] Ubuntu Maschine an der ein USB-RS232 ftdi steckt. Daran angeschlossen ein 1.5m Nullmodemkabel welches zu meinem 486dx2 Laptop geht. Darüber bezieht der 486dx2 Laptop auf dem slackware 8.1 läuft seine Internetverbindung.

Slackware 8.1 ist Software aus dem Jahre 2002 und sollte aus Sicherheitsaspekten heute im Jahre 2018 nicht mehr mit dem Internet verbunden werden!

[…] funktioniert […] Der 486dx2 Laptop verfügt lediglich über einen 16450 UART, also nur 1 Byte Buffer. […] nicht über 57600Baud […] eine Baudrate von 115200 Baud erwartet.

57600 Baud ist bei diesen steinalten Geräten ein hervorragendes Ergebnis! Bedenke bitte:

  1. Eine Kommunikation über eine asynchrone serielle Leitung funktioniert nur, wenn die lokalen Taktgeber beider Partner hinreichend synchron laufen. In der Praxis nutzen die beiden Partner aber nie die gleiche Frequenz, sondern nur fast die gleiche innerhalb eines zulässigen Bereiches. Die die Frequenz bestimmenden Bauteile (Kondensatoren, Widerstände, Quarz, …) altern mit der Zeit, wodurch sich die Frequenz ändert und somit kann es gut sein, dass bei mehreren Jahrzehnten alten Geräten 57600 Baud gerade noch funktioniert und die doppelte Baudrate eben nicht mehr.

  2. Für die nutzbare Übertragungsgeschwindigkeit ist nicht nur der digitale UART verantwortlich, sondern auch der Leitungstreiber beim Sender und der Schmitt-Trigger des Empfängers. Diese müssen nämlich für hinreichende Flankensteilheit der Impulse sorgen. Auch diese Bauteile altern und verschlechtern ihr Verhalten.

  3. Für eine gute Qualität des Analogsignals ist auch wichtig, normgerechte elektrische Pegel von nominal +/- 12 V zu verwenden und nicht 0 / 5 V.

Wenn Du über ein Oszilloskop verfügst und damit umgehen kannst, untersuche erst mal, ob die auf beiden Seiten verwendeten Frequenzen hinreichend genau übereinstimmen und die Signale auf der Leitung normgerecht sind!

Könnte es sein dass das Kabel schlecht isoliert ist?

Die Isolation des Kabels ist spielt hier keine Rolle. Grundsätzlich ist die Qualität des Kabels wichtig für die Datenübertragung; dabei sind aber eher die Kapazität und die Induktivität wichtig. Grundsätzlich sollte man kapazitäts- und induktivitätsarme Kabel bevorzugen, d.h. konkret hier:

  • 2 verdrillte Aderpaare im Kabel

  • keine weiteren Adern im Kabel

  • keine (!) Abschirmung des Kabels

Das ist allerdings die letzte Stelle, an der ich optimieren würde, da bei 1,5 m Länge das eher Effekte auf homöopathischen Niveau erwarten lässt. Mit zunehmender Länge wird die Qualität des Kabels aber immer wichtiger.

PS: Bitte verwende auch die in deutschen Texten übliche Groß-/Kleinschreibung. Sie werden dadurch viel leichter lesbar.

Kai990

(Themenstarter)

Anmeldungsdatum:
4. Juni 2006

Beiträge: 149

Danke für Deine Einschätzung. Ich werde mich dann einfach mal mit der Bandbreite abgeben bevor ich da jetzt unmengen an Zeit verbrate.

Dass Slackware 8.1 veraltet ist ist mir bewusst. Das Gerät verbindet sich nicht direkt mit dem Netzwerk, da ist immer ein extra NAT dazwischen. Die neuen Kernel sind alle viel zu aufgebläht für ein Gerät mit 16mb Arbeitsspeicher. Mit einem selbstgebauten Kernelimage des 2.4.18 Kernels komme ich mit allen nötigen Komponenten auf knapp unter 600kb Imagesize, das würde ich mit keinem modernen Kernel schaffen. Zumal die neueren Kernel so viele Optionen bereitstellen dass ich nicht mehr in der Lage bin sie so zu konfigurieren, dass sie anschließend auch lauffähig sind.

Inwiefern Groß/Kleinschreibung die Lesbarkeit verbessert kann ich nicht nachvollziehen, ich werde es dennoch versuchen.

Mit isoliert meinte ich übrigens geschirmt, hatte mich falsch ausgedrückt.

Antworten |