4

I have configured a Cisco 2911 with an HWIC-1T card as a terminal server using the configuration below. I can telnet to port 2003 of the loopback address and establish a serial connection to a laptop connected to the HWIC-1T card.

interface serial 0/0/0
  physical-layer async
  no ip address
  encapsulation slip

line 0/0/0
  no exec
  transport input telnet
  transport output none

The stream of characters going from the serial connection to the telnet session works perfectly. However, the stream of characters going from the telnet session out to the serial connection to the laptop lags one character behind most of the time.

Meaning if I type "1234" into the telnet window, I will see just "123" come out the serial window. The last character isn't lost, just buffered in the router until I press the next key. Sometimes the router will buffer two characters and sometimes if I type two characters together in quick sessesion, both will be correctly displayed.

I know the router is doing the buffering because I ran Wireshark and saw the TCP packet with the last character enter the router and not immediately get displayed. enter image description here

What am I doing wrong? Thanks in advance!

4
  • 4
    My first impression would be: don't use a WIC-1T as a terminal port. (I've never seen anyone do that, even 'tho Cisco makes DB25 RS-232 cables for it.)
    – Ricky
    Commented Dec 14, 2013 at 3:11
  • We used the WIC-1T card because it was already in place. Based on your comment (@Ricky) I have wired the AUX line to my test router and I do not see this issue. This may well be the solution, though as unsatisifying one as the HWIC-1T card should work and it is already cabled in the field. Thank you. Commented Dec 16, 2013 at 12:03
  • After some further troubleshooting and wire captures, it appears that the router or the HWIC-1T card is buffering the entire last TCP packet (most of the time). If I copy and paste a large section of text into the telnet window I do not see any of the characters appear on the serial port from the last TCP packet. Commented Dec 16, 2013 at 12:13
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could post and accept your own answer.
    – Ron Maupin
    Commented Jan 6, 2021 at 0:21

1 Answer 1

6

Disable the Nagle algorithm, as that can introduce lag on telnet connections. In general, Nagle is A Good Thing(tm), but I recall it doing this on telnet connections. (telnet? terminal server? ...I'm having flashbacks.) Something like no service nagle in global config (if I recall correctly.)

update

This turns out to not solve the OP's question; but it's still useful to keep here. I'm editing my answer so people who up-voted have the ability to undo their up-vote.

4
  • 1
    I didn't know that you could disable TCP windowning... that's pretty cool, good post craig Commented Dec 14, 2013 at 16:41
  • 4
    Nagle's algorithm != TCP windowing. Commented Dec 14, 2013 at 18:39
  • 1
    Also, service nagle is disabled by default (at least as of IOS version 12.2) so I'm not sure this will solve his problem, but it's a good suggestion nonetheless. Commented Dec 14, 2013 at 18:49
  • It appears that the Nagle algorithm is disabled by default in my version of IOS. I tried turning it on, but it did not solve the problem. Commented Dec 16, 2013 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.