Tech Support > Computer Hardware > Modems > console port
console port
Posted by Aaron Leonard on November 2nd, 2007



~ > I've got a bunch of modems out there connected to console ports on
~ > cisco routers. I know there is no way to reverse telnet to the console
~ > port like you can to the aux port. I need to figure out some way to
~ > send some modem AT commands to the modem. I tried doing a send con 0
~ > then typing my command, but the banner that gets sent first is messing
~ > things up. In fact if you connect a modem directly to a pc and then
~ > copy and paste this in to a terminal session, you'll get nothing from
~ > the modem:
~ >
~ > ***
~ > ***
~ > *** Message from tty2 to all terminals:
~ > ***
~ > ats0?
~ >
~ > I've got a rs232 analyser online and see that it's getting to the
~ > modem, but no go. Even pasting ***ats0?<CR> into a terminal doesn't
~ > work. I need a way to blindly send data to the console port w/ no
~ > banners. I don't need to read back any data, just send.
~ >
~ > Surely others have run into this issue before. Appreciate any
~ > insights.
~ >
~ > Thanks in advance.
~ >
~ > SPH
~
~ Doing some further research, it seems that if I can up the inter-
~ character delay to about 30msec all will be fine. Does anyone know if
~ this is possible to do?

A ha, you're the same guy whose post I answered in comp.dcom.modems a
few minutes ago.

So piecing your story together, I have gathered that:

- you have USR Courier modems
- you have (some model of) Cisco routers
- the Couriers are cabled to the router console ports at some
(unspecified) speed

So ... I will add some observations that may or may not be helpful here ...

a) If you have a Cisco 8xx router with the console/aux port, then we
definitely have seen problems communicating w/ Courier above 57600 bps.
(Although I'm not sure that we tried with 2 stopbits.) So, try 1 stopbit,
try slower speeds.

b) It's somewhat tricky to configure a modem on a console port - see below
for my deep wisdom on the subject that I try to impart to the Cisco TAC ...

Good luck,

Aaron

----

When you configure a modem on the console, you need to be
aware of a few things:

1. The modem port does not do modem control. This is a problem
for a couple of reasons:

1.1. If the call should hang up, the line will not drop. So this is a
possible security threat - one user could log in then the modem
connection could drop, then someone else could dial in and be at
the console port without having had to authenticate.

Workarounds: use a modem with a built-in password; configure a
short exec-timeout to shrink the window of vulnerbility.

1.2. On a line with modem control enabled (modem inout or modem
dialin), the line will be up only if we see DSR - i.e. if DCD (modem
carrier) is high. The modem will normally output result codes such as
"NO CARRIER", "RING", "CONNECT 9600" etc. only while its DCD is low
- therefore, modem result codes will not be seen by the line as user
input (unless you've configured 'no flush-at-activation'.) However,
a line with no modem control (such as the console) sees ALL characters
received as user input. This is probably what causes the problem
described below ... the modem has output result codes, and IOS is
seeing this as input to the Password: prompt. Sometimes the modem's
AT parser can get into a "babble loop" with the console parser, where
each device is continuously outputting error messages in response to
the other's error messages.

Therefore, a modem on the console should always be configured for "dumb"
mode - do not display result codes and do not echo commands, do not
even parse AT commands.

2. Since you have to configure the console modem not to display
result codes, this means that modem autoconfigure can't work
(not sure if it could work in any case on a console line.) Therefore
in order to configure the modem as desired, you must enter the
config via the AT interface and store it in modem NVRAM (&W typically.)

3. Most modems unfortunately are unable to be explicitly configured
to a fixed DTE rate, and instead infer the DTE rate via autobauding
to characters received on the AT interface. With such modems
(especially USRs), if you have only incoming not outgoing calls
(as would be the case with a console port) and if the DTE doesn't
periodically send AT commands (as would be the case without
modem autoconfigure), the modems are apt to forget what DTE rate
they're supposed to use, with the result being that you call in and
the modem decides that its DTE rate should be 38400 bps or some
dumb thing and so it can't talk with the console which is 9600 bps.

Workaround: configure the modem for a fixed DCE rate of 9600 bps
(with EC but no compression), and configure its DTE rate to follow
the DCE rate.

To summarize how to configure a modem on the console port then:

- force the modem to connect at a 9600 bps modulation (DCE link speed)
- either lock the DTE port speed at 9600, or else have the DTE speed
track the DCE speed (which is locked at 9600)
- enable error control
- no flow control
- DTR forced high
- autoanswer
- do not transmit result codes
- do not echo AT commands
- do not parse AT commands at all (dumb mode)

You can configure the modem by using DIP switches and/or AT commands.
To send the modem AT commands: connect to it via reverse telnet out an
aux port, or from a terminal program on a PC COM port. Issue the
AT command string ending with &W to write the configuration to NVRAM.
Note that you had better know what you're doing, since the AT interface
will be disabled after you issue the command.

How do you find out what AT commands and DIP switch settings are
applicable to your particular modem? Consult its documentation.

For instructions specific to the USR Courier modem, see
the next tip ...

--

Here are the steps to take specifically with a USR Courier Modem
to connect to a cisco router console port.

1.) Hook up modem to COM port on PC
2.) Set Hyperterminal settings to:
9600 bps
8 databits
no parity
1 stopbit
no flow control
3.) connect to modem and issue the following AT string:

at&f0s0=1&b0&n6&u6&m4&k0&w
&F0 - no flow control factory template
S0=1 - autoanswer after 1 ring
&B0 - serial port rate follows DCE rate
&N6 - 9600 bps max DCE rate
&U6 - 9600 bps min DCE rate
&M4 - EC with fallback to async
&K0 - no data compression
&W - write to NVRAM

4.) set dip switches on modem to:
switch 1: ON (ignore DTR)
switch 2 - doesn't matter due to switch 3
switch 3 - OFF (disable result codes)
switch 4 ON (disable echo)
switch 5 OFF (enable auto answer)
switch 6 - don't care (console doesn't watch DCD)
switch 7 - don't care due to switch 3
switch 8 OFF (disable AT commands)
switch 9 - don't care
switch 10 OFF (load config from NVRAM)
(based upon http://www.usr.com/support/3453b/345...ipswitches.htm
)
5.) power-cycle the modem
6.) set configuration on console port of router to:
line con 0
exec-timeout x y --> where "x" is minutes and "y" is seconds
login
password xxxxx --> where "xxxxx" is your exec password
....and that's IT!!

Posted by Green Xenon [Radium] on November 9th, 2007


On Nov 1, 1:17 pm, fl...@apaflo.com (Floyd L. Davidson) wrote in
http://groups.google.com/group/comp....1b0db05ef8396d :



What about if I were to use the currently present phone lines? Why
wouldn't this work?

Will someone please answer my question?


Similar Posts