What can I help you with?
NVIDIA BlueField BMC Software v24.10-LTSU3

Serial Console Capture (SCC)

The BMC has 2 UART ports:

  • UART0 (aka UART1 in HW) which connects to BlueField’s UART0 and allows the BMC to access the BlueField’s console

  • UART4 (aka UART5 in HW) which connects to RJ45 and is used for the BMC console

This section gives the steps on how to achieve a serial capture of the BlueField console via BMC UART0.

The serial capture enables us to capture the most recent messages on the BlueField’s console and store them in a buffer. It could be the BlueField’s booting messages, panic messages, or commands typed by the user.

The size of the captured buffer is limited to 65535 bytes, and can be controlled by an IPMI tool command or the /etc/ipmi/mlxbw.lan.conf file from the BMC. The buffer can be dumped using the IPMI SOL session 2 which is explained in more details below.

The first thing to do is to make sure that the BMC’s UART is connected to the BlueField’s UART.

On the BlueField Reference Platform board, for example, the JP1 header allows the UART connection between the BMC and the BlueField. Jumpers should be used to connect the following pins on JP1, if SOL is not working:

  • Pin 2 (SE_BMC0_RS232_RXD) ↔ pin 1 (SE_SOC0_RS232_TXD)

  • Pin 4 (GND) ↔ pin 3 (GND)

  • Pin 6 (SE_BMC0_RS232_TXD) ↔ pin 5 (SE_SOC0_RS232_RXD)

The next step is to set up serial console redirection using the BMC which allows administrators to remotely view the content of the BlueField’s console.

To set up the serial console redirection, configure an SOL session in the /etc/ipmi/mlxbw.lan.conf file located on the BMC as follows:

Copy
Copied!
            

sol <device> <baud_rate> [nortscts] [history=buffer_size[,backupfile=filename]] [historyfru=N]

Where:

  • device – the serial console is configured as “/dev/ttyS0”

  • baud rate – 115200

  • nortscts – disables RTS and CTS on the port. It changes the RTS output line, but does not listen to CTS.

  • history – enables serial console redirection and sets the history buffer size. The maximum buffer size is always 65535 bytes. This means that DCD and CTS are always enabled to the device, and constantly collect history for the device. Connecting to SOL interface 2 causes the full history buffer to be dumped.

  • backupfile – enables storing the history if the BMC shuts down so the data persists while rebooting

  • historyfru – assigns the BMC FRU device which fetches the contents of the history buffer

The following is an example for the above command on a BlueField Reference Platform board:

Copy
Copied!
            

sol "/dev/ttyS0" 115200 history=4000,backupfile=/home/root/serial_history historyfru=10

Normally the data is left in the history buffer when read. If you want the history data to be cleared from the buffer on read, add “readclear”:

Copy
Copied!
            

sol "/dev/ttyS0" 115200 nortscts readclear

Whenever modifications are made to the /etc/ipmi/mlxbw.lan.conf file, the BMC needs to be rebooted to apply the changes. Once the BMC is up, make sure there is activity on the BlueField’s console, otherwise the captured buffer comes up empty.

The captured data from the BlueField’s console can be dumped using sol session 2:

Copy
Copied!
            

ipmitool -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sol activate instance=2

If you want to end the session just enter “~.”.

Sometimes, a session remains active even after it is ended, you may deactivate it by running:

Copy
Copied!
            

ipmitool -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sol deactivate instance=2

Note

Make sure to have IPMI tools installed on your server.

Adding [historyfru=N] to the serial console redirection set up file enables FRU N to fetch the contents of the history buffer.

The following command dumps the binary data pertaining to the specified FRU to an FRU file:

Copy
Copied!
            

ipmitool -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN fru read <fru-id> <fru-file>

Output example:

Copy
Copied!
            

Fru Size : 2068 bytes Done

You may convert the binary FRU file to a human readable text format file by using the following command:

Copy
Copied!
            

ipmitool -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN ekanalyzer frushow a1=<fru file>

Note that the aforementioned command outputs general information about the FRU such as the manufacturer’s ID and device ID. That information is human readable, but then the BlueField’s console text will be in a hexadecimal format. So this is not as helpful as using SOL session 2 to dump the captured buffer.

If the mlxbw.lan.conf file has been previously set up to have backupfile=<history_file>, and you activated an SOL session before rebooting the BMC, then, the backup file will contain the content of the captured buffer from the last active SOL session.

Changing the Buffer Size

Once the SOL 2 connection is made, the buffer size can be overridden by running:

Copy
Copied!
            

ipmitool -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN raw 0x2e 0x01 0x74 0x9f 0x00 2 74 9f 00

Where:

  • 0x2e – OEM command NETNF

  • 0x1 – flag for SET

  • 0x74 0x9f 0x00 – OpenIPMI IANA code

  • 2 is the buffer size value (will be multiplied by 1024)

  • 74 9f 00 – what is returned is the OpenIPMI IANA code

Note that you can only change the buffer size to a smaller size than the default size you set in the mlxbw.lan.conf file. For instance, if the buffer size was set as history=4000 in the mlxbw.lan.conf file, the highest buffer size value that you can set using the raw command is 3 because 3x1024 = 3072. If you try to set the size of the buffer to 4 (4x1024=4096) that would be higher than 4000, which causes your request to be discarded.

Reading the Buffer Size

To get the buffer size, run:

Copy
Copied!
            

ipmitool -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN raw 0x2e 0x02 0x74 0x9f 0x00 74 9f 00 02

Where:

  • 0x2e – OEM command NETNF

  • 0x2 – flag for GET

  • 0x74 0x9f 0x00 – OpenIPMI IANA code

  • 74 9f 00 02 – what is returned is the OpenIPMI IANA code, and “02” is the size of the buffer divided by 1024

© Copyright 2025, NVIDIA. Last updated on Jul 3, 2025.