Hello,
Thanks in advance for any help you may provide.
Problem:
Over the past few weeks we have noticed that our telnet connection on our Mini-Circuits power meter will go unresponsive when using asynDriver after several days of successful use. We can still ping it, the HTML interface over ethernet is responsive, but
the telnet port can no longer connect without a device power cycle. As a test, I decided to remove EPICS from the equation and run a Tcl/tk expect script that opens the telnet connection and sends a request every five seconds. This ran for ten days without
issue. Any other diagnostic recommendations or theories as to what might be causing this behavior?
Setup:
We use a Mini-Circuits PWR-8P-RC Power Meter which is network configured. The control protocol is SCPI ASCII. We communicate through Telnet (port 23) over a TCP/IP connection. ASYN (4-31) with StreamDevice (2-7) is used for the EPICS (3.14.12.3) implementation.
PV Example:
record(ai,"$(P)$(R)POWER_PEAK_RAW") {
field(SCAN,"5 second")
field(DTYP,"stream")
field(FLNK,"$(P)$(R)POWER_PEAK")
field(INP,"@PWR-xP.proto getPwrPeak $(PORT)")
field(PREC,"3")
field(EGU,"dBm")
}
Protocol Example:
OutTerminator = CR LF;
InTerminator = LF CR;
writetimeout = 300;
readtimeout = 1000;
replytimeout = 2000;
ExtraInput = Ignore;
getPwrPeak {
out ":POWER?";
in "%f dBm %*f dBm";
}
Port Configuration:
drvAsynIPPortConfigure("ETH1",129.57.230.28:23)
ERROR Messages:
scan5 HOM:PWR1:POWER_PEAK_RAW lockRequest: pasynManager->queueRequest: port ETH1 not connected
"Can't connect to 129.57.230.28:23: Connection timed out ETH1 -1 autoConnect could not connect"
Diagnostics:
This was the response after the device had disconnected and I restarted the softIoc.
epics>asynReport(1,ETH1)
ETH1 multiDevice:No canBlock:Yes autoConnect:Yes
enabled:Yes connected:No numberConnects 0
nDevices 0 nQueued 1 blocked:No
asynManagerLock:No synchronousLock:Yes
exceptionActive:No exceptionUsers 1 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
Port 129.57.230.28:23: Disconnected
This was a response after the power meter was power cycled.
epics> asynReport(1,ETH1)
ETH1 multiDevice:No canBlock:Yes autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 0 nQueued 5 blocked:No
asynManagerLock:No synchronousLock:Yes
exceptionActive:No exceptionUsers 1 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
Port 129.57.230.28:23: Connected