YPort: Unterschied zwischen den Versionen
(→YPort Buffer) |
Dinus (Diskussion | Beiträge) (→Verdrahtung) |
||
(2 dazwischenliegende Versionen von einem anderen Benutzer 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 20: | Zeile 22: | ||
− | |||
− | |||
− | |||
− | * General Setup -> | + | == 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 [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=== | ||
+ | |||
+ | 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: | Und danach kann man die Puffergröße einstellen: | ||
− | * Protocols -> YPort Support -> YPort Buffer | + | * Protocols -> YPort Support -> YPort Buffer Length |
Der YPort Puffer (YPORT_BUFFER_LEN) kann bis zu 511 Bytes groß konfiguriert werden. | Der YPort Puffer (YPORT_BUFFER_LEN) kann bis zu 511 Bytes groß konfiguriert werden. | ||
Zeile 41: | Zeile 57: | ||
fe=frame error -> Baudratenabweichung | fe=frame error -> Baudratenabweichung | ||
ov=rx overflow -> Datenverlust | ov=rx overflow -> Datenverlust | ||
− | pe=parity error -> | + | pe=parity error -> Übertragungsfehler |
bf=buffer full -> Datenverlust | bf=buffer full -> Datenverlust | ||
− | == | + | ===Verdrahtung=== |
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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
Inhaltsverzeichnis
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.