Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

94103

July 12th, 2012 05:00

iDRAC6 / ssh / console com2 - how to "send BREAK" into com2 ?

Hello.

I configured the OS on my Dell R810 box to use COM2 for serial console.

I connect to iDRAC via SSH routinely, and attach serial console with console -h com2. This works as declared.

But I unable to send a break into COM2.

The regular terminal emulation software, like minicom on Linux, or tip on Solaris, provide a means for sending break into serial line, e.g. by pressing ~# (technically, sending break into serial line is just sending zero bits during 0.25 sec: see TCSBRK(0) ioctl).

Please, advice, how to send a break into COM2 using iDRAC6 facilities?

Regards,
Kostya.

July 13th, 2012 16:00

I apologize for the misunderstanding and thank you for clarifying. I found a reference that the DRAC 5 cannot support break through serial consoles other than IPMI SOL (lists.us.dell.com/.../042415.html) and although I have been unable to verify the same for the iDRAC 6 on your R810, I suspect it is the same case. Might an in-band workaround be possible for your use case?

July 12th, 2012 11:00

Hi Kostya,

What OS do you have on there? On Linux, SysRq is enabled by default so you must send two breaks over a serial console for the remote host to see one break (kernel.org/.../sysrq.txt). I am not familiar with other systems. Out of curiosity have you also seen the issue on com1 or only com2?

6 Posts

July 13th, 2012 03:00

Hello, Jonathan. You told:

have you also seen the issue on com1 or only com2?

iDRAC6 does not offer "console com1" command. com2 it the only available:

/admin1-> console
Usage: console [-bh] com2

so you must send two breaks over a serial console for the remote host

That is my question: how? How may iDRAC6 send breaks into serial line (here: COM2). It seems that iDRAC6 User's Guide doesn't mention this.

Just for reference:

[vilox@jabba ~]$ ssh -e none root@dell-idrac
/admin1-> version

SM CLP Version: 1.0.2
SM ME Addressing Version: 1.0.0b
/admin1-> racadm getversion
Bios Version = 2.4.4
iDRAC Version = 1.80
USC Version = 1.5.0.672

What OS do you have on there?

I intentionally omit OS information, because the question is OS-neutral, about iDRAC6 facilities.

6 Posts

July 13th, 2012 05:00

vilox: But I unable to send a break into COM2.
Sorry, it was a misleading statement.

I unable to send a break from iDRAC6, via COM2, to OS that listens for break on the other side of serial line.

6 Posts

July 16th, 2012 02:00

Thank you for pointer to discussion. That's right, Bryce Nesbitt pointed out to the very same problem: iDRAC inability to send break into serial line. I amused that that hasn't been fixed for years.

My workaround is to withdraw the use of Dell R810 service processor (namely iDRAC6), and talk with OS console via R810 external serial COM-9 connector. The external equipment is a regular PC with regular Linux inside, running regular communication program and able to send breaks into serial line.

Ridiculous, right ?

Could you, please, advice, may I file a bug or request for enhancement against iDRAC6 somewhere ?

1 Message

November 24th, 2018 06:00

Connected to Serial Device 2. To end type: ^\

1 Message

July 3rd, 2019 07:00

On a R910 when we want to connect to the console of the system via the DRAC we `ssh ` and then run the `console com2 ` command to connect to that systems console. When we're done and want to disconnect from the console connection we simply hit the + \ keys to send the ^\ mentioned in the help/docs.

1 Rookie

 • 

4 Posts

May 4th, 2023 02:00


@slmingol wrote:

simply hit the + \ keys to send the ^\


This is the correct way to exit the console session, but that isn't what this question is asking.  There is an internal serial (UART) connection between the BMC and the host computer.  The question is how to tell the BMC (iDRAC) to send a serial 'break' to the host computer (the computer which that iDRAC belongs to / is physically part of) when you're connected to the iDRAC via ssh.

What's a serial break?

When serial connections are idle (no characters being sent) the sender sets the logic level on the serial line to continuous logical "high" (AKA '1' or true) state.  This is the normal "idle" state for an asynchronous serial line.  Linux, Windows, Solaris etc. can respond to something called a 'serial break' on serial consoles. In this condition the serial line when idle is instead set to logical "low" for at least the time it would normally take to transmit 11 bits of data.  This is not a valid character, but is instead referred to as a 'serial break'.

Why is serial break useful?

Operating systems are typically coded to treat serial breaks for emergency, debug or security related functions (most OS make it impossible for user-space software to intercept or spoof a serial break - it's caught directly by the serial port device driver and passed to the kernel instead of any software which is using the serial device).

On Linux you can use serial break on a serial console the same way as you use the "magic sysrq" key combination when sitting at the console physical keyboard.  e.g.

serial break followed by 's' will force the kernel to write all cached filesystem data from ram to disk.

break-u will make it remount all filesystems read-only

break-b will force an immediate reset of the machine

Why did Dell forget to implement serial break via idrac ssh connections, when they work fine with the idrac if you talk to it as in IPMI target instead?  Who knows.  If you're a big customer maybe ask them to fix it.

No Events found!

Top