On Jan 28, 2010, at 6:15 PM, Peter Hicks wrote:

> Dean Belev wrote:
> 
>> I'm curious if some of you faced such a problem - reboot of the router 
>> caused by the console connection.
> 
> I once managed to send a BREAK signal to a 3640 by plugging in a console 
> cable.  At the time, it was a pretty key router in the network and sat at the 
> rommon> prompt :)
> 
> I had that down to static somewhere, as it's the only explanation I could 
> find.

Actually, it's not at all surprising, but it depends on the UART or equivalent.

A serial line has two states, "mark" -- a 1-bit -- and "space" (guess).  
Normally, the line is at "mark", which corresponds to a voltage of -3V:-25V at 
the receiver.  Space is +3V:+25V; -3V:+3V is undefined.  
(http://www.lammertbies.nl/comm/info/RS-232_specs.html is pretty good, and as 
far as I remember quite accurate, though it's ~20 years since I used a breakout 
box.)

Now -- a break signal is normally a "long space", a 0 signal that lasts too 
long, often about .25 seconds.  It originally got the name because it looked 
like a break in the teletype line; teletypes used a current loop standard 
(don't ask).  More precisely -- an asynchronous byte is followed by a "stop 
bit", which isn't so much a bit as a time interval -- one bit-time -- during 
which the signal must be in the mark state.  If you're sending at the wrong 
speed or send break -- something that's holding the line at space for long 
enough that it will run into the stop bits at any speed -- the UART will detect 
the problem; this is sometimes known as a "framing error".

So -- when you disconnect the cable, the voltage at the pin goes to 0.  How 
should that be interpreted?  If the board has a pull-up resistor to a +5V line, 
it will appear as a space signal; if it doesn't, it's up to the UART or 
equivalent, since it's undefined by the spec.  

                --Steve Bellovin, http://www.cs.columbia.edu/~smb






Reply via email to