YPort: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(added Category:Ethersex)
(Verdrahtung)
 
(11 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Yport ( Ethernet - RS232 Konverter ) ==
+
==Grundlagen==
  
YPORT (aka XPORT) ist ein Ethernet - RS232 Konverter den man mit der default Portnummer 7970 ansprechen kann.
+
'''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 Portnummer kann mit "menuconfig" auch geändert werden.
Zeile 8: Zeile 8:
 
Aufruf:
 
Aufruf:
 
  nc ipnummer-ethersex 7970
 
  nc ipnummer-ethersex 7970
Damit bekommt dann ein Gerät mit den RS232 an ein Terminal.
+
Damit bekommt dann ein RS232-Gerät an ein Terminal.
  
Wenn es unerwünschte echo's gibt im Terminal, dann kann man die Verbindung so herstellen:
+
Wenn es unerwünschte Echos gibt im Terminal, dann kann man die Verbindung so herstellen:
 
  stty -icanon -echo && nc ipnummer-ethersex 7970
 
  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.
+
Wenn die Verbindung getrennt wird, muss man "blind" den Befehl "reset" eingeben und das Terminal ist wieder in normalem Modus.
 +
 
 
Alternativ kann man auch  
 
Alternativ kann man auch  
 
  stty -icanon -echo; nc ipnummer 7970; stty icanon echo
 
  stty -icanon -echo; nc ipnummer 7970; stty icanon echo
eingeben, dann sollte das Echo gleich wieder aktiviert sein und in den Cooked-Mode schalten
+
eingeben, dann sollte das Echo gleich wieder aktiviert sein und das Terminal in den zeilenorientierten Modus (cooked mode) schalten.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== Virtuelle Schnittstelle auf YPort mappen==
  
== YPort auf virtuelle Schnittstelle mappen ==
+
===Linux===
 
  socat PTY,link=/dev/YPort  TCP:192.168.1.5:7970
 
  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.
 
... sorgt dafür, dass die serielle Schnittstelle am Ethersex als /dev/YPort im Linux-System erscheint.
  
== RS232 Kabel ==
+
===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.
 +
 
 +
 
 +
==Probleme==
 +
 
 +
===Verschluckte Zeichen / unvollständige Übertragung===
  
Zwei rs232 Geraete verbinden lasst sich einfach anhoeren, aber die verkabelung ist manchmal ein Problem.
+
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:
  
Es gibt zwei arten von RS232 Stecker  DTE und DCE
+
* 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/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.
 +
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]

Aktuelle Version vom 21. Oktober 2014, 11: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.