It seems that obmc-console does not support sending break to the serial port.
As I can see from the source code of phosphor-net-ipmid, it does support receiving break from IPMI clients, and forward this through an OOB message to the console server in
https://github.com/openbmc/phosphor-net-ipmid/blob/7c91cdd1cc7f8b4d2269d25e0d68cb352084aa45/sol/sol_manager.cpp#L78
However, the console server in this repo does not support receiving that OOB message and is unable to send break to the serial port in
|
rc = recv(client->fd, buf, sizeof(buf), MSG_DONTWAIT); |
I suggest to change the receiving function from recv to recvmsg to handle the OOB message from phosphor-net-ipmid and use tcsendbreak(fd, 0) to forward the break signal to the serial port.
Sending break through serial port is important for system administrators to trigger Linux SysRq from SOL remotely.
It seems that
obmc-consoledoes not support sending break to the serial port.As I can see from the source code of
phosphor-net-ipmid, it does support receiving break from IPMI clients, and forward this through an OOB message to the console server inhttps://github.com/openbmc/phosphor-net-ipmid/blob/7c91cdd1cc7f8b4d2269d25e0d68cb352084aa45/sol/sol_manager.cpp#L78
However, the console server in this repo does not support receiving that OOB message and is unable to send break to the serial port in
obmc-console/socket-handler.c
Line 279 in 6b62be6
I suggest to change the receiving function from
recvtorecvmsgto handle the OOB message fromphosphor-net-ipmidand usetcsendbreak(fd, 0)to forward the break signal to the serial port.Sending break through serial port is important for system administrators to trigger Linux SysRq from SOL remotely.