I'm trying to get Serial over LAN working on a Tyan S8225 motherboard running Linux. The idea is to be able to connect to it on another PC running Linux with the command

ipmitool -I lanplus -H -U username sol activate

I've never actually used SOL before so I'm a little confused with the options.

There are 3 options present for the serial port in the "Remote Access Configuration" menu in the BIOS: COM1, COM2 and BMC.

What is the difference between a COMx and BMC option and which will allow me to remotely access the PC with SOL from another computer?

I should point out that this motherboard physically has a COM1 port. COM2 can be enabled in the BIOS but there is not header for it on the motherboard.

Secondly, does it matter what the baudrate etc is configured as? I've left it to the default 9600 8,n,1.

I pass the following to the kernel boot console=tty0 console=ttyS0,9600n8. I can see output on vga, but although I can connect with ipmitool, no output appears. I'm just left with is:

"[SOL Session operational.  Use ~? for help]"

What am I doing wrong?

Note: Just tried following this Serial Console Howto. However still no output appears from ipmitool.

  • Make sure the baudrate in BIOS, BMC, kernel, and init are identical. Usually the latter two are synced in recent GNU/Linux distributions, so you only have to make sure the kernel cmdline is correct. As for the BMC, you can check the baudrate using ipmitool sol info: look for keywords (non-)volatile-bit-rate. Set it to 9600 (in your case):

    sol set volatile-bit-rate 9600
    sol set non-volatile-bit-rate 9600
  • make sure the BIOS setting has on after POST or on after boot

  • make sure the BIOS setting has console redirection. In your case this is probably remote access configuration: BMC
  • the 3 previous points will make sure you will see pre-bootloader output, and kernel boot messages. Now you also need to make sure your OS will send a prompt on the serial line. How this is achieved depends on your GNU/Linux distribution, but the result is usually a agetty process being spawned by init or a replacement thereof, e.g.:

    $ pgrep -lf agetty
    30907 /sbin/agetty /dev/ttyS0 115200 vt100-nav

    You can happilly run a tty process manually, for test purposes, e.g. on all serial devices detected by the kernel (grep for ttyS on dmesg output). You can also send some output in the device:

    date | sudo dd of=/dev/console

    This will probably be garbled on your console, but at least it'll prove your setup is correct.

| improve this answer | |
  • thanks, I tried various configs and still couldn't get it to work. I gave up on it in the end. – Matt Apr 14 '13 at 22:25

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.