Skip to content

Commit

Permalink
[Mellanox] Support new sensor conf file for MSN4700 A1/A0 (#7535)
Browse files Browse the repository at this point in the history
#### Why I did it

MSN4700 A1/A0 used different sensor chip but keep the existing platform name *x86_64-mlnx_msn4700-r0*, this is a workaround to replace the sensor conf on MSN4700 A1/A0

#### How I did it

Use a shell script to get the sensor conf path and copy that files to /etc/sensors.d/sensors.conf
  • Loading branch information
Junchao-Mellanox authored and daall committed May 10, 2021
1 parent d634a85 commit 6e12c40
Show file tree
Hide file tree
Showing 4 changed files with 177 additions and 3 deletions.
21 changes: 21 additions & 0 deletions device/mellanox/x86_64-mlnx_msn4700-r0/get_sensors_conf_path
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

HW_VERSION="/var/run/hw-management/system/config1"
SENSORS_CONF_FILE="/usr/share/sonic/platform/sensors.conf"
SENSORS_CONF_FILE_A1="/usr/share/sonic/platform/sensors.conf.a1"

function get_sensor_conf_path() {
local _HW_VERSION="0"
if [[ -e $HW_VERSION ]]; then
_HW_VERSION=$(cat $HW_VERSION 2>&1)
if [[ "$_HW_VERSION" == "1" ]]; then
if [[ -e $SENSORS_CONF_FILE_A1 ]]; then
echo $SENSORS_CONF_FILE_A1
return
fi
fi
fi
echo $SENSORS_CONF_FILE
}

get_sensor_conf_path
142 changes: 142 additions & 0 deletions device/mellanox/x86_64-mlnx_msn4700-r0/sensors.conf.a1
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
################################################################################
# Copyright (C) 20xx-2021 Mellanox Technologies, Ltd. ALL RIGHTS RESERVED.
#
# Platform specific sensors config for SN4700 A0/A1
################################################################################

# Temperature sensors
bus "i2c-2" "i2c-1-mux (chan_id 1)"
chip "mlxsw-i2c-*-48"
label temp1 "Ambient ASIC Temp"

bus "i2c-7" "i2c-1-mux (chan_id 6)"
chip "tmp102-i2c-*-49"
label temp1 "Ambient Fan Side Temp (air intake)"
chip "tmp102-i2c-*-4a"
label temp1 "Ambient Port Side Temp (air exhaust)"

bus "i2c-15" "i2c-1-mux (chan_id 6)"
chip "tmp102-i2c-15-49"
label temp1 "Ambient COMEX Temp"

# Power controllers
bus "i2c-5" "i2c-1-mux (chan_id 4)"
chip "mp2975-i2c-*-62"
label in1 "PMIC-1 PSU 12V Rail (in1)"
label in2 "PMIC-1 ASIC 0.8V VCORE MAIN Rail (out)"
label temp1 "PMIC-1 Temp 1"
label power1 "PMIC-1 PSU 12V Rail Pwr (in1)"
label power2 "PMIC-1 ASIC 0.8V VCORE MAIN Rail Pwr (out)"
label curr1 "PMIC-1 PSU 12V Rail Curr (in1)"
label curr2 "PMIC-1 ASIC 0.8V VCORE MAIN Rail Curr (out)"
chip "mp2975-i2c-*-64"
label in1 "PMIC-2 PSU 12V Rail (in1)"
label in2 "PMIC-2 ASIC 1.8V VCORE MAIN Rail (out)"
label in3 "PMIC-2 ASIC 1.2V VCORE MAIN Rail (out)"
label temp1 "PMIC-2 Temp 1"
label power1 "PMIC-2 PSU 12V Rail Pwr (in1)"
label power2 "PMIC-2 ASIC 1.8V VCORE MAIN Rail Pwr (out)"
label curr1 "PMIC-2 PSU 12V Rail Curr (in1)"
label curr2 "PMIC-2 ASIC 1.8V VCORE MAIN Rail Curr (out)"
label curr3 "PMIC-2 ASIC 1.2V VCORE MAIN Rail Curr (out)"
chip "mp2975-i2c-*-66"
label in1 "PMIC-3 PSU 12V Rail (in1)"
label in2 "PMIC-3 ASIC 0.85V T0_1 Rail (out)"
label in3 "PMIC-3 ASIC 1.8V T0_1 Rail (out)"
label temp1 "PMIC-3 Temp 1"
label power1 "PMIC-3 PSU 12V Rail Pwr (in1)"
label power2 "PMIC-3 ASIC 0.85V T0_1 Rail Pwr (out)"
label curr1 "PMIC-3 PSU 12V Rail Curr (in1)"
label curr2 "PMIC-3 ASIC 0.85V T0_1 Rail Curr (out)"
label curr3 "PMIC-3 ASIC 1.8V T0_1 Rail Curr (out)"
chip "mp2975-i2c-*-6a"
label in1 "PMIC-4 PSU 12V Rail (in1)"
label in2 "PMIC-4 ASIC 0.85V T2_3 Rail (out)"
label in3 "PMIC-4 ASIC 1.8V T2_3 Rail (out)"
label temp1 "PMIC-4 Temp 1"
label power1 "PMIC-4 PSU 12V Rail Pwr (in1)"
label power2 "PMIC-4 ASIC 0.85V T2_3 Rail Pwr (out)"
label curr1 "PMIC-4 PSU 12V Rail Curr (in1)"
label curr2 "PMIC-4 ASIC 0.85V T2_3 Rail Curr (out)"
label curr3 "PMIC-4 ASIC 1.8V T2_3 Rail Curr (out)"
chip "mp2975-i2c-*-6e"
label in1 "PMIC-5 PSU 12V Rail (in1)"
label in2 "PMIC-5 ASIC 1.2V T0_3 Rail_1 (out)"
label in3 "PMIC-5 ASIC 1.2V T4_7 Rail_2 (out)"
label temp1 "PMIC-5 Temp 1"
label power1 "PMIC-5 PSU 12V Rail Pwr (in1)"
label power2 "PMIC-5 ASIC 1.2V T0_3 Rail_1 Pwr (out)"
label power3 "PMIC-5 ASIC 1.2V T4_7 Rail_2 Pwr (out)"
label curr1 "PMIC-5 PSU 12V Rail Curr (in1)"
label curr2 "PMIC-5 ASIC 1.2V T0_3 Rail_1 Curr (out)"
label curr3 "PMIC-5 ASIC 1.2V T4_7 Rail_2 Curr (out)"

bus "i2c-15" "i2c-1-mux (chan_id 6)"
chip "tps53679-i2c-*-58"
label in1 "PMIC-8 PSU 12V Rail (in1)"
label in2 "PMIC-8 PSU 12V Rail (in2)"
label in3 "PMIC-8 COMEX 1.8V Rail (out)"
label in4 "PMIC-8 COMEX 1.05V Rail (out)"
label temp1 "PMIC-8 Temp 1"
label temp2 "PMIC-8 Temp 2"
label power1 "PMIC-8 COMEX 1.8V Rail Pwr (out)"
label power2 "PMIC-8 COMEX 1.05V Rail Pwr (out)"
label curr1 "PMIC-8 COMEX 1.8V Rail Curr (out)"
label curr2 "PMIC-8 COMEX 1.05V Rail Curr (out)"
chip "tps53679-i2c-*-61"
label in1 "PMIC-9 PSU 12V Rail (in1)"
label in2 "PMIC-9 PSU 12V Rail (in2)"
label in3 "PMIC-9 COMEX 1.2V Rail (out)"
ignore in4
label temp1 "PMIC-9 Temp 1"
label temp2 "PMIC-9 Temp 2"
label power1 "PMIC-9 COMEX 1.2V Rail Pwr (out)"
ignore power2
label curr1 "PMIC-9 COMEX 1.2V Rail Curr (out)"
ignore curr2

# Power supplies
bus "i2c-4" "i2c-1-mux (chan_id 3)"
chip "dps460-i2c-*-58"
label in1 "PSU-1(L) 220V Rail (in)"
ignore in2
label in3 "PSU-1(L) 12V Rail (out)"
label fan1 "PSU-1(L) Fan 1"
label temp1 "PSU-1(L) Temp 1"
label temp2 "PSU-1(L) Temp 2"
label temp3 "PSU-1(L) Temp 3"
label power1 "PSU-1(L) 220V Rail Pwr (in)"
label power2 "PSU-1(L) 12V Rail Pwr (out)"
label curr1 "PSU-1(L) 220V Rail Curr (in)"
label curr2 "PSU-1(L) 12V Rail Curr (out)"
chip "dps460-i2c-*-59"
label in1 "PSU-2(R) 220V Rail (in)"
ignore in2
label in3 "PSU-2(R) 12V Rail (out)"
label fan1 "PSU-2(R) Fan 1"
label temp1 "PSU-2(R) Temp 1"
label temp2 "PSU-2(R) Temp 2"
label temp3 "PSU-2(R) Temp 3"
label power1 "PSU-2(R) 220V Rail Pwr (in)"
label power2 "PSU-2(R) 12V Rail Pwr (out)"
label curr1 "PSU-2(R) 220V Rail Curr (in)"
label curr2 "PSU-2(R) 12V Rail Curr (out)"

# Chassis fans
chip "mlxreg_fan-isa-*"
label fan1 "Chassis Fan Drawer-1 Tach 1"
label fan2 "Chassis Fan Drawer-1 Tach 2"
label fan3 "Chassis Fan Drawer-2 Tach 1"
label fan4 "Chassis Fan Drawer-2 Tach 2"
label fan5 "Chassis Fan Drawer-3 Tach 1"
label fan6 "Chassis Fan Drawer-3 Tach 2"
label fan7 "Chassis Fan Drawer-4 Tach 1"
label fan8 "Chassis Fan Drawer-4 Tach 2"
label fan9 "Chassis Fan Drawer-5 Tach 1"
label fan10 "Chassis Fan Drawer-5 Tach 2"
label fan11 "Chassis Fan Drawer-6 Tach 1"
label fan12 "Chassis Fan Drawer-6 Tach 2"

# Miscellaneous
chip "*-virtual-*"
ignore temp1
8 changes: 6 additions & 2 deletions dockers/docker-platform-monitor/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,14 @@ RUN apt-get purge -y \
/python-wheels \
~/.cache
COPY ["docker_init.sh", "lm-sensors.sh", "/usr/bin/"]
COPY ["docker-pmon.supervisord.conf.j2", "/usr/share/sonic/templates/"]
COPY ["lm-sensors.sh", "/usr/bin/"]
COPY ["docker-pmon.supervisord.conf.j2", "docker_init.j2", "/usr/share/sonic/templates/"]
COPY ["ssd_tools/*", "/usr/bin/"]
COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
COPY ["critical_processes", "/etc/supervisor"]
RUN sonic-cfggen -a "{\"CONFIGURED_PLATFORM\":\"{{CONFIGURED_PLATFORM}}\"}" -t /usr/share/sonic/templates/docker_init.j2 > /usr/bin/docker_init.sh
RUN rm -f /usr/share/sonic/templates/docker_init.j2
RUN chmod 755 /usr/bin/docker_init.sh
ENTRYPOINT ["/usr/bin/docker_init.sh"]
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,17 @@ else
SONIC_PLATFORM_API_PYTHON_VERSION=3
fi

{% if CONFIGURED_PLATFORM == "mellanox" %}
SENSORS_CONF_PATH_GETTER="/usr/share/sonic/platform/get_sensors_conf_path"
if [ -e $SENSORS_CONF_PATH_GETTER ]; then
SENSORS_CONF_FILE=$($SENSORS_CONF_PATH_GETTER 2>&1)
fi
{% endif %}

if [ -e $SENSORS_CONF_FILE ]; then
HAVE_SENSORS_CONF=1
mkdir -p /etc/sensors.d
/bin/cp -f $SENSORS_CONF_FILE /etc/sensors.d/
/bin/cp -f $SENSORS_CONF_FILE /etc/sensors.d/sensors.conf
fi

if [ -e $FANCONTROL_CONF_FILE ]; then
Expand Down

0 comments on commit 6e12c40

Please sign in to comment.