Sending binary data using PortServerTS and Realport

I’m using a PortServer TS 4 where the profile of all ports is RealPort. I’ve connected a device to the PortServer that has an ASCII mode and a Binary mode. When the device is configured to output ASCII, everything works very well. However, when configured to output binary, it appears that bytes are dropped.

Perhaps I’ve not configured the PortServer correctly?

Some setting beyond a profile of RealPort needed?

Many thanks for your time.

Robert

Some additional info.

Running CentOS 5.3 with kernel 2.6.18-238.19.1.el5.
Did a rebuild of dgrp-1.9-20 and installed it.

Sending ascii text over serial port works great.
Sending binary text - 0xFF bytes are missing (+ some following bytes). Telnet consuming these bytes?

Portserver TS / RealPort works fine on CentOS 4 - both ascii text and binary sent over serial ports with no issues.

Any suggestions?

Many Thanks,
Robert

If you try this out using the built in serial port (i.e. ttyS0) on the CentOS 5 host does it work with binary data?

If so, compare the stty -a < /dev/ttyS0 port setting with those on the Digi ports (ditty-rp -a ttyxyz).

Thank you for the reply and suggestion.

Binary data works fine on ttyS0 (and on several models of USB-to-serial hubs).

Here’s the results of stty and ditty-rp. They appear identical but for the unique ditty-rp options.

stty -a < /dev/ttyS0

speed 115200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread clocal crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

ditty-rp -a ttyLB00

onstr \033[5i offstr \033[4i term ansi
maxcps 100 maxchar 50 bufsize 100 edelay 100
-forcedcd -altpin -fastbaud (115200) -printer -rtstoggle
-rtspace -dtrpace -ctspace -dsrpace -dcdpace
DTR+ RTS+ CTS+ CD+ DSR- RI-
startc = 0x11 stopc = 0x13
-aixon astartc = 0x0 astopc = 0x0
speed 115200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread clocal crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

The PortServer only needs the profile set to RealPort, all other settings are applied on the Linux host.

The port settings look the same between the two ports, so I don’t see a problem.

What data is being lost when attempting to send binary data?

You may need to contact Digi Tech. Support to pursue this further.

Each time a 0xFF is sent from the device connected to the PortServerTS, the 0xFF plus one or two following bytes are removed from the data stream. I believe this is a telnet issue where one end of the telnet connection is in “raw” mode and the other end is not.

The 0xFF is an “Interpret as Command” byte to Telnet.

This issue occurs even when the PortServerTS “Enable binary mode for Telnet” box is checked.

Perhaps the Telnet connection bwteen the PortServer and the host is not raw on both ends.

Thanks for your help. I’ll contact Digi Tech. Support to get their opinion.

Try turning off the inpck flag (strip parity bit):

ditty-rp -inpck ttyxyz

The driver establishes a raw connection with the unit (not the individual ports) and does not perform any serial data conversions.

ditty-rp -inpck ttyLB00 worked great!!

Many Thanks for your help!