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
    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 Beam Dec 14 '13 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. – Stephen Craven Dec 16 '13 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. – Stephen Craven Dec 16 '13 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 provide and accept your own answer. – Ron Maupin Aug 8 '17 at 15:41
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.

| improve this answer | |
  • 1
    I didn't know that you could disable TCP windowning... that's pretty cool, good post craig – John Kennedy Dec 14 '13 at 16:41
  • 4
    Nagle's algorithm != TCP windowing. – John Jensen Dec 14 '13 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. – John Jensen Dec 14 '13 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. – Stephen Craven Dec 16 '13 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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