YPort: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Verdrahtung)
 
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
==Grundlagen==
 +
 
'''YPORT''' (aka XPORT) ist ein Ethernet-RS232-Konverter, den man per Default auf der Portnummer 7970 ansprechen kann.
 
'''YPORT''' (aka XPORT) ist ein Ethernet-RS232-Konverter, den man per Default auf der Portnummer 7970 ansprechen kann.
  
Zeile 19: Zeile 21:
  
  
== YPort Buffer==
 
  
Verschluckte Zeichen / unvollständige Übertragung?
 
Wenn es zu Problemn mit der Übertragung kommt, könnte das an dem per default kleinen Buffer liegen.
 
Die Buffergröße kann verändert werden wenn man per Menuconfig zunächst den 'expert mode' aktiviert, der weitere Optionen zum Vorschein bringt:
 
  
General Setup -> Promt all possible options (expert mode)
 
  
Und danach kann man die Buffergröße einstellen:
+
== Virtuelle Schnittstelle auf YPort mappen==
  
Protocols -> YPort Support -> YPort Buffer Lenght
+
===Linux===
 +
socat PTY,link=/dev/YPort TCP:192.168.1.5:7970
  
Der YPort Puffer (YPORT_BUFFER_LEN) kann bis zu 511 Bytes groß
+
... sorgt dafür, dass die serielle Schnittstelle am Ethersex als /dev/YPort im Linux-System erscheint.
konfiguriert werden.
 
  
Weitere Informationen liefert das Debugging, wenn es zu Bufferüberläufen kommt sieht man dort sowas:
+
===Windows===
 +
Unter Windows ist es möglich, einen COM-Port zu simulieren. Hierzu kann z.B. das kostenlose Programm [http://www.hw-group.com/products/hw_vsp/index_en.html HW Virtual Serial Port] verwendet werden. Dort einfach IP-Adresse und Port (Standard: 7970) eingeben, die Option "External NVT Commands Port" ausschalten und auf "Create COM" klicken.
  
  ecmd: telnet xxxx 2701
 
  yport stats
 
  rx fe=0, ov=0, pe=0, bf=59104
 
  
  fe=frame error
+
==Probleme==
  ov=rx overflow ->  datenverlust
+
 
  pe=parity error
+
===Verschluckte Zeichen / unvollständige Übertragung===
  bf=buffer full ->  datenverlust
 
  
 +
Wenn es zu Problemn mit der Übertragung kommt, könnte das an dem per default mit 32 Byte recht kleinen Buffer liegen. Die Buffergröße kann verändert werden wenn man per Menuconfig zunächst den 'expert mode' aktiviert, der weitere Optionen zum Vorschein bringt:
  
 +
* General Setup -> Prompt for all possible options (expert mode)
  
 +
Und danach kann man die Puffergröße einstellen:
  
 +
* Protocols -> YPort Support -> YPort Buffer Length
  
== Virtuelle Schnittstelle auf YPort mappen==
+
Der YPort Puffer (YPORT_BUFFER_LEN) kann bis zu 511 Bytes groß konfiguriert werden.
  
===Linux===
+
Weitere Informationen liefert das Debugging, wenn es zu Pufferüberläufen kommt sieht man dort sowas:
socat PTY,link=/dev/YPort  TCP:192.168.1.5:7970
 
  
... sorgt dafür, dass die serielle Schnittstelle am Ethersex als /dev/YPort im Linux-System erscheint.
+
  telnet <ip> 2701
 +
  yport stats
 +
  rx fe=0, ov=0, pe=0, bf=59104
 +
 
 +
  fe=frame error  ->  Baudratenabweichung
 +
  ov=rx overflow  ->  Datenverlust
 +
  pe=parity error ->  Übertragungsfehler
 +
  bf=buffer full  ->  Datenverlust
  
===Windows===
+
===Verdrahtung===
Unter Windows ist es möglich, einen COM-Port zu simulieren. Hierzu kann z.B. das kostenlose Programm [http://www.hw-group.com/products/hw_vsp/index_en.html HW Virtual Serial Port] verwendet werden. Dort einfach IP-Adresse und Port (Standard: 7970) eingeben, die Option "External NVT Commands Port" ausschalten und auf "Create COM" klicken.
 
  
== RS232 Kabel ==
 
 
Bei der Verbindung von zwei RS232-Geräten ist die Verkabelung manchmal ein Problem.
 
Bei der Verbindung von zwei RS232-Geräten ist die Verkabelung manchmal ein Problem.
  
 
Es gibt zwei Arten von RS232-Steckern: DTE und DCE ("Data Terminal Equipment" und "Data Communications Equipment")
 
Es gibt zwei Arten von RS232-Steckern: DTE und DCE ("Data Terminal Equipment" und "Data Communications Equipment")
 
   http://www.bb-elec.com/bb-elec/literature/tech/faq_rs232_connections_work.pdf
 
   http://www.bb-elec.com/bb-elec/literature/tech/faq_rs232_connections_work.pdf
 +
  http://www.bb-elec.com/Learning-Center/All-White-Papers/White-Papers-Category1/FAQ-RS-232-Connections-That-Work.aspx
 
Daumenregel: DTE ist der Computer, DCE ist ein Modem.
 
Daumenregel: DTE ist der Computer, DCE ist ein Modem.
  
 
Das Pollin [[AVR Net-IO]] ist zum Beispiel als DCE verkabelt (vgl. S.7. http://www.pollin.de/shop/downloads/D810058B.PDF : TxD an SUB-D9 Pin 2 und RxD an Pin 3).
 
Das Pollin [[AVR Net-IO]] ist zum Beispiel als DCE verkabelt (vgl. S.7. http://www.pollin.de/shop/downloads/D810058B.PDF : TxD an SUB-D9 Pin 2 und RxD an Pin 3).
 +
 +
===ERROR: Connection blocked===
 +
 +
Es kann jeweils nur eine TCP-Verbindung auf die serielle Schnittstelle weitergeleitet werden. Jede weitere Verbindung wird mit der Fehlermeldung "ERROR: Connection blocked" quittiert.
 +
 +
Vorsicht: Programme, die einen Virtuellen Port zur Verfügung stellen und per TCP auf das Ethersex-System weiterleiten, halten möglicherweise die TCP-Verbindung aufrecht, obwohl zurzeit kein Programm den Virtuellen Port nutzt.
 +
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]

Aktuelle Version vom 21. Oktober 2014, 10:41 Uhr

Grundlagen

YPORT (aka XPORT) ist ein Ethernet-RS232-Konverter, den man per Default auf der Portnummer 7970 ansprechen kann.

  • Die Portnummer kann mit "menuconfig" auch geändert werden.
  • Die Baudrate kann man auch in "menuconfig" einstellen.

Aufruf:

nc ipnummer-ethersex 7970

Damit bekommt dann ein RS232-Gerät an ein Terminal.

Wenn es unerwünschte Echos gibt im Terminal, dann kann man die Verbindung so herstellen:

stty -icanon -echo && nc ipnummer-ethersex 7970

Wenn die Verbindung getrennt wird, muss man "blind" den Befehl "reset" eingeben und das Terminal ist wieder in normalem Modus.

Alternativ kann man auch

stty -icanon -echo; nc ipnummer 7970; stty icanon echo

eingeben, dann sollte das Echo gleich wieder aktiviert sein und das Terminal in den zeilenorientierten Modus (cooked mode) schalten.




Virtuelle Schnittstelle auf YPort mappen

Linux

socat PTY,link=/dev/YPort  TCP:192.168.1.5:7970

... sorgt dafür, dass die serielle Schnittstelle am Ethersex als /dev/YPort im Linux-System erscheint.

Windows

Unter Windows ist es möglich, einen COM-Port zu simulieren. Hierzu kann z.B. das kostenlose Programm HW Virtual Serial Port verwendet werden. Dort einfach IP-Adresse und Port (Standard: 7970) eingeben, die Option "External NVT Commands Port" ausschalten und auf "Create COM" klicken.


Probleme

Verschluckte Zeichen / unvollständige Übertragung

Wenn es zu Problemn mit der Übertragung kommt, könnte das an dem per default mit 32 Byte recht kleinen Buffer liegen. Die Buffergröße kann verändert werden wenn man per Menuconfig zunächst den 'expert mode' aktiviert, der weitere Optionen zum Vorschein bringt:

  • General Setup -> Prompt for all possible options (expert mode)

Und danach kann man die Puffergröße einstellen:

  • Protocols -> YPort Support -> YPort Buffer Length

Der YPort Puffer (YPORT_BUFFER_LEN) kann bis zu 511 Bytes groß konfiguriert werden.

Weitere Informationen liefert das Debugging, wenn es zu Pufferüberläufen kommt sieht man dort sowas:

 telnet <ip> 2701
 yport stats
 rx fe=0, ov=0, pe=0, bf=59104
 
 fe=frame error  ->  Baudratenabweichung
 ov=rx overflow  ->  Datenverlust
 pe=parity error ->  Übertragungsfehler
 bf=buffer full  ->  Datenverlust

Verdrahtung

Bei der Verbindung von zwei RS232-Geräten ist die Verkabelung manchmal ein Problem.

Es gibt zwei Arten von RS232-Steckern: DTE und DCE ("Data Terminal Equipment" und "Data Communications Equipment")

 http://www.bb-elec.com/bb-elec/literature/tech/faq_rs232_connections_work.pdf
 http://www.bb-elec.com/Learning-Center/All-White-Papers/White-Papers-Category1/FAQ-RS-232-Connections-That-Work.aspx

Daumenregel: DTE ist der Computer, DCE ist ein Modem.

Das Pollin AVR Net-IO ist zum Beispiel als DCE verkabelt (vgl. S.7. http://www.pollin.de/shop/downloads/D810058B.PDF : TxD an SUB-D9 Pin 2 und RxD an Pin 3).

ERROR: Connection blocked

Es kann jeweils nur eine TCP-Verbindung auf die serielle Schnittstelle weitergeleitet werden. Jede weitere Verbindung wird mit der Fehlermeldung "ERROR: Connection blocked" quittiert.

Vorsicht: Programme, die einen Virtuellen Port zur Verfügung stellen und per TCP auf das Ethersex-System weiterleiten, halten möglicherweise die TCP-Verbindung aufrecht, obwohl zurzeit kein Programm den Virtuellen Port nutzt.