We are having trouble configuring a Cisco 2610XM router (with an NM-16A) for use with various Lab blood gas analyzers that send data via rs-232 to our Meditech C/S health information system. We were hoping to replace our existing Annex and 3Com term servers with the more familiar Cisco term servers but we cannot get it to work quite right.
We do have the Lab analyzer sending date to Meditech, but in the data stream there is a null character (ASCII 0) following the CR character (ASCII 13) when we are expecting ONLY the CR.
Any ideas on what we can do to fix this?
Thanks, in advance.
I am not sure where the ASCII 0 comes from, and I might be totally off with my suggestion, but try and configure the 'data-character-bits' and/or the 'terminal-data-character-bits' to 7 (instead of the default value 8), this is done in line configuration mode.
The NULL character is probably the result of the programming on your monitored systems; C (and variants) put in a NULL character as an end-of-line (end of character array) marker.
If there's no config on the monitored system you can use to change this (not likely that there is), then you'll need to filter it on the monitoring system or run the stream through another system to do the filtering.
What negative effect is it having on the monitoring system?
Are you collecting raw data, then processing it, or are you monitoring/processing in Real-Time?
Is the monitoring system/device an off-the-shelf commercial product, or do you have some control on the programming?
IF you can define things like the end-of-line character (or character sequence), then put in CR/NULL or CR/LF/NULL .... whatever.
Thanks for your input, Scott. Let me try to answer your questions...
The monitored system is a medical labratory device with little configuration options.
The monitoring system could possibly be reprogrammed but this has huge implications and comes at a high cost for us.
The negative affect on the monitoring system is that it never receives the data stream completely because of the mal-formed end-of-line being received.
I should also mention that the monitored device IS currently successfully sending data to the monitoring system using a different term server (Bay Networks Annex term server). We are hoping to use the Cisco term server as a replacement for these older Annex boxes as we can no longer source them.
In doing our test, we simply unplug the monitored system from the Annex term serer and plug it into the Cisco router and then send our test data to the monitoring system.
Hope that helps to explain our situation. Thanks for your help.
If the monitored system is not gettig the lines sent through the term server, you could try the "character-dispatch
If the info is making it through the termserver, but is confusing the monitoring system, see if the monitoring system allows the conversion of CR (return) to CR/LF (return(13) with line feed(10) ... maybe getting a LF before the null will let the system ignore the errant character (or reduce the effect).
Check to see if your monitored system is set to "pad" ... the Annex is old enough that someone may have put in a/some pad characters (in your monitored systems)to slow the stream down ... there used to be two settings, one for a per-character pad (to slow the stream for slow or very busy systems), and one for EOL pad (to allow the old paper systems to index to the next line and return the head to the beginning).
Other than that, the monitoring system is going to have to somehow filter the input. If it's custom programming, I can see where it'd be ugly.
Another (probably ugly) solution would be to engage the engineering departmant and see if someone can design and produce a microcontroller-based box that'll do the filtering between the monitored and monitoring systems.
Just trying to think outside the box here for a minute... do you think I might have a cabling issue? I mean, we are seeing data arriving at the monitoring system, so I am not sure.
Our cabling goes like this, from the Cisco router:
NM-16A octopus cable to an inline RJ45 Cat 5 coupler to a CAT5 patch cable to the bix block, to horizontal network cable drop to lab area RJ-45 wall jack, to Rj-45 CAt5 patch cable, to an RJ-45/DB-9 connector plugged into the lab instrument.
My question is, how does one normally extend the length of the NM-16A octopus cable? Is it OK to use the CAT5 RJ-45 inline coupler like we did?
I'm assuming you are using a reverse telnet connection.
What port are you using?
ports 2xxx, 4xxx and 6xxx behave diferently. Try 6xxx for a binary transfer.
Maybe post your line config if this doesn't help
We are using port 2035.
Here is the exsiting line config and show line status:
transport preferred telnet
transport input pad telnet rlogin
transport output pad telnet rlogin
tserv001#show line 35
Tty Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int
35 TTY 9600/9600 - - - - - 58 1 0/0 -
Line 35, Location: "SRGEM1", Type: ""
Length: 24 lines, Width: 80 columns
Baud rate (TX/RX) is 9600/9600, no parity, 1 stopbits, 8 databits
Capabilities: Refuse Telnet Echo, Refuse Suppress-GA
Modem state: Ready
Modem hardware state: noCTS* noDSR* DTR RTS
Special Chars: Escape Hold Stop Start Disconnect Activation
^^x none - - none any
Timeouts: Idle EXEC Idle Session Modem Answer Session Dispatch
00:10:00 never none not set
Idle Session Disconnect Warning
Login-sequence User Response
Autoselect Initial Wait
Modem type is unknown.
Session limit is not set.
Time since activation: never
Editing is enabled.
History is enabled, history size is 20.
DNS resolution in show commands is enabled
Full user help is disabled
Allowed input transports are pad telnet rlogin.
Allowed output transports are pad telnet rlogin.
Preferred transport is telnet.
No output characters are padded
No special data dispatching characters
What are the behavioral differences between 2xxx, 4xxx and 6xxx ports?
Thanks for your help.