[console speed] lock console speed to start up speed (#2222)
Auto negotiating console speed could cause sonic to lock on a wrong speed under rare conditions. The only way to come out of the wrong speed is to issue line break or restart console service with forced speed, or reboot sonic. Lock down the console speed to avoid these situations. Signed-off-by: Ying Xie <ying.xie@microsoft.com>
This commit is contained in:
parent
ce54ef7256
commit
f089d14970
@ -85,6 +85,19 @@ update_mgmt_interface_macaddr() {
|
|||||||
sed -i "/eth0/ s/ATTR{address}==\"$old_mac\"/ATTR{address}==\"$new_mac\"/g" /etc/udev/rules.d/70-persistent-net.rules
|
sed -i "/eth0/ s/ATTR{address}==\"$old_mac\"/ATTR{address}==\"$new_mac\"/g" /etc/udev/rules.d/70-persistent-net.rules
|
||||||
}
|
}
|
||||||
|
|
||||||
|
program_console_speed()
|
||||||
|
{
|
||||||
|
speed=$(cat /proc/cmdline | grep -Eo 'console=ttyS[0-9]+,[0-9]+' | cut -d "," -f2)
|
||||||
|
if [ -z "$speed" ]; then
|
||||||
|
CONSOLE_SPEED=9600
|
||||||
|
else
|
||||||
|
CONSOLE_SPEED=$speed
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i "s|\-\-keep\-baud .* %I| $CONSOLE_SPEED %I|g" /lib/systemd/system/serial-getty@.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
}
|
||||||
|
|
||||||
# If the machine.conf is absent, it indicates that the unit booted
|
# If the machine.conf is absent, it indicates that the unit booted
|
||||||
# into SONiC from another NOS. Extract the machine.conf from ONIE.
|
# into SONiC from another NOS. Extract the machine.conf from ONIE.
|
||||||
if [ ! -e /host/machine.conf ]; then
|
if [ ! -e /host/machine.conf ]; then
|
||||||
@ -185,6 +198,8 @@ done
|
|||||||
|
|
||||||
eval sonic_version=$(cat /etc/sonic/sonic_version.yml | grep build_version | cut -f2 -d" ")
|
eval sonic_version=$(cat /etc/sonic/sonic_version.yml | grep build_version | cut -f2 -d" ")
|
||||||
|
|
||||||
|
program_console_speed
|
||||||
|
|
||||||
if [ -f /host/image-$sonic_version/platform/firsttime ]; then
|
if [ -f /host/image-$sonic_version/platform/firsttime ]; then
|
||||||
|
|
||||||
if [ -n "$aboot_platform" ]; then
|
if [ -n "$aboot_platform" ]; then
|
||||||
|
Reference in New Issue
Block a user