1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Handling Ethernet-to-Serial Connection when vendor SDK expects tty device |
From: | Maren Purves via Tech-talk <tech-talk at aps.anl.gov> |
To: | Mark Rivers <rivers at cars.uchicago.edu> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Wed, 7 Apr 2021 14:13:28 -1000 |
Hi Maren,
> I hope EPICS didn't lose that capability with the newer versions?
No, EPICS has not lost that capability. With EPICS and asyn one uses the drvAsynIPPort driver, and not the drvAsynSerialPort driver, because EPICS is talking to the terminal server, not directly to the serial port. In fact EPICS now supports the RFC2217 protocol, which allows EPICS to control the serial port parameters like baud rate, parity, etc. Without that one needs to configure those parameters outside of EPICS, typically with a Web or command line interface to the terminal server.
The issue that Jakub was facing is that he needed a way to create a Linux device that appears to be a standard tty driver, i.e. it emulates a local serial port and hides the fact that it is going through a Moxa. He needed that to be able to use a vendor library, not for EPICS.
Mark
________________________________
From: Maren Purves <m.purves at eaobservatory.org>
Sent: Wednesday, April 7, 2021 2:56 AM
To: Mark Rivers
Cc: Wlodek, Jakub; tech-talk at aps.anl.gov
Subject: Re: Handling Ethernet-to-Serial Connection when vendor SDK expects tty device
Hi Mark & Jakub,
while I have never worked with a Moxa we have connected serial line devices through terminal servers or later console switches from the beginning of using them with EPICS, starting with one that I first tried to connect directly to a serial line but found that one of the parameters needed a setting that I could only set on a terminal server.
We're still running EPICS 3.13.8 and PPC IOCs with tnetDev and drvAscii and that has always worked.
I hope EPICS didn't lose that capability with the newer versions?
When I tried to upgrade to 3.15.6 and got as far as building a softIoc the first device I tried to talk to (but never succeeded) was a Lakeshore on a console switch (never got that to work, got side-tracked and haven't gotten back to it yet). I hope you're not saying that isn't going to work?
Thanks,
Maren
On Tue, Apr 6, 2021 at 3:51 AM Mark Rivers via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>> wrote:
Hi Jakub,
> I know there is external software I could use to create a virtual serial device from an ethernet connection, but is there a way to do this from within EPICS?
I don't know of a way to do that inside EPICS.
Moxa provides a "Real TTY" Linux driver that allows creating ports like /dev/ttyr00 to the Moxa device. These provide all of the serial port controls (baud, parity, etc.).
https://www.moxa.com.cn/getmedia/6fbafa79-1113-4953-a6cc-bef28dae1180/moxa-real-tty-driver-for-nport-tech-note-v1.0.pdf
Mark
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of Wlodek, Jakub via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Sent: Tuesday, April 6, 2021 8:34 AM
To: tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>
Subject: Handling Ethernet-to-Serial Connection when vendor SDK expects tty device
Good morning EPICS community,
I had the following question regarding one of the devices that I am currently working on supporting. Essentially, I am using an asynPortDriver
based driver integrated with the device vendor SDK. The vendor SDK has a connection function that expects a string representing either identification
for the USB device to communicate over the USB bus (this I have working fine), or a TTY serial device for communicating over serial (ex. /dev/ttyS0, COM1 on Windows).
When connected directly to the serial port of the target machine, the device connects and this works OK.
However, ideally, we would prefer to use a MOXA ethernet-to-serial adapter to talk to the device, and I am not sure what the best approach for this is. Traditionally,
for say a StreamDevice IOC I would use drvAsynIPPortConfigure(), and then configure the MOXA to communicate via serial on the other end, but given that
the device needs a serial device to connect, I wasn't sure how to handle that. I know there is external software I could use to create a virtual serial device from
an ethernet connection, but is there a way to do this from within EPICS?
Thanks,
Jakub