1

I'm trying to get my DRAC 5 card to do serial console redirection so that I can SSH into it and access the server's bios / grub / bootup / console.

So far, I can see/edit the bios, however as soon as grub starts the output get's all jumbled up. I'm assuming this may be configuration related (though at this point I can't see what).

Configs so far are :

BIOS

  • Console redirection over Com2
  • Type : vt100/vt200
  • No redirect after boot

Grub2 on Ubuntu 10.04

  • serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1
  • terminal --timeout=30 serial console
  • (kernel line :: ) linux /vmlinuz-2.6.32-31-server root=/dev/mapper/sys-dom0 ro console=tty1 console=ttyS1,115200n8r

The output itself, ends up appearing like :

��g������Bp)���'����-���C�i))a�R!{���ņ�BC!��i滑�����R!{���ņ߅C!'�����뤄����d�"�m�+-o�q��1Τ�Χ�+�ᤄ0�����餄����d�"?C!���s�����k뤄����d�"?C!��9u��!!!!��9�R!a���Ç$ �����i���r��:�R����B������d�"���!{�u����BS���/a�S�ć�3ߤ儤�S�����i�ąbi%)����������ąbi%)-���!)!��)������+�)�Ƥ�!����s!1Φ�r!����/+��)))+))���!���������k������+a

I know there are settings specific for Xen, and I'll worry about those later. At this stage, I really need to get GRUB available so that I can test custom kernels. Either the kernel's I've been trying are failing or "grub-set-default" does nothing.

Annoying thing is, on a newer server / DRAC combo the configs work fine with the same version of Ubuntu, go figure -_-

Any ideas, troubleshooting steps, etc... would be a lifesaver.

jonathanserafini
  • 1,768
  • 14
  • 20

3 Answers3

3

Looks like the bios and your serial client are using a different baud-rate as the 115k2 used by grub. Or the word-size doesn't match. Has to be something like that. Maybe the newer server defaults to (or is configured for) 115k2 in Bios redirect/drac, but the other one is not ? Without experience with DRAC or DELL bios redirects (we are a HP shop here) I can't tell for sure but I think you will have to look there instead of at the Ubuntu installation.

Tonny
  • 6,332
  • 1
  • 18
  • 31
  • Hey Tonny, I found that out just as I saw you response. Seems that the default baud rate on the DRAC for my old PE2950 defaulted to 11k and needed to be 5k. AAARGH. – jonathanserafini May 13 '11 at 14:36
  • :-) If 25 years of experience in ICT has thought me anything its this: Never assume you know the linespeed (or baudrate), never trust that the user will tell you what he really was doing when it crashed and never, ever believe anything the sales rep of the software vendor is promising about the new shiny. – Tonny May 13 '11 at 14:47
2

For anyone ever needing the info .. on the Dell PE 2950, to get console redirect to work for BIOS + GRUB + OS on Ubuntu 10.04 :

  1. F2 on bootup for BIOS
  2. In Serial Console Settings :

    • Console redirection over Com2
    • Type : vt100/vt200
    • No redirect after boot
    • Speed : 57600
  3. Edit GRUB configs in /etc/default/grub

    • GRUB_CMDLINE_LINUX="console=tty1 console=ttyS1,57600n8"
    • GRUB_TERMINAL=serial
    • GRUB_SERIAL_COMMAND="serial --unit=1 --speed=57600 --word=8 --parity=no --stop=1"
  4. update-grub

  5. Create /etc/init/ttyS1.conf

    • start on stopped rc RUNLEVEL=[2345]
    • stop on runlevel [!2345]
    • respawn
    • exec /sbin/getty -h -L -8 57600n8 ttyS1 vt100
  6. Reboot.

jonathanserafini
  • 1,768
  • 14
  • 20
  • This post was invaluable to me, thanks so much! However, it appears that depending on the generation of the server, you baud rate my very. I had to boot to the Dell toolkit and run "syscfg csp" and discover that the "msgcommbitrate" was set to 19200. This setting appears to be completely irrelevant and unaffected by the baud rate setting in the BIOS (nice job, Dell). I could've upped the bitrate to 57600, but I just left it at 19200 and did all of the above using s/57600/19200/g. Bingo, full display of BIOS, kernel messages and login terminal. Lesson: Find the real baud rate with DTK, the BIOS –  Aug 31 '11 at 16:10
2

On a Dell PowerEdge 310 with an iDRAC 6 card running Ubuntu 10.04 (Lucid) I was able to get my serial port working by making the following changes in the BIOS

  • Console redirect over COM2
  • Type vt100/vt200
  • Speed 115200

I then made sure that the RAC was configured for a bit rate of 115,200 by logging in to the system and running the following racadm commands

  • racadm config -g cfgSerial -o cfgSerialBaudRate 115200
  • racadm config -g cfgSerial -o cfgSerialBaudRate 1
  • racadm config -g cfgSerial -o cfgSerialSshEnable 1
  • racadm config -g cfgSerial -o cfgSerialCom2RedirEnable 1 (This seems to be different from the redirection enable setting in the BIOS)
  • racadm config -g cfgSerial -o cfgSerialConsoleIdleTimeout 300
  • racadm config -g cfgSerial -o cfgSerialTelnetEnable 0
  • racadm config -g cfgIpmiSol -o cfgIpmiSolEnable 1
  • racadm config -g cfgIpmiSol -o cfgIpmiSolBaudRate 115200

After doing all of this I installed the init script that delerious010 suggested and still wasn't able to get an SSH connection to the console via the DRAC card. I followed user92395's suggested and dropped the bit rate to 19,200 bps and, lo and behold, I was able to connect to my console port. Unfortunately for me the Dell toolkit hasn't been ported to Lucid and I couldn't find the source so I wasn't able to run 'syscfg csp'. I did find however that by modifying the /etc/init/ttyS1.conf script and adding a pre-start directive that runs the setserial command that I could increase the bit rate and connect at 115,200 bps. My ttyS1.conf script looks like this:

# ttyS1 - getty
#
# This service maintains a getty on ttyS1 for console 
# redirection to the Dell DRAC card.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
pre-start script
  /bin/setserial /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test
end script

exec /sbin/getty -h -L 115200n8 ttyS1 vt100

When I get a chance I'm going to boot this system with Ubuntu 12.04 (Precise) and run the syscfg command to see what the value of that 'msgcommbitrate' variable is.