From eeac8ce969fe767c8e16498e0da1a735051bf74b Mon Sep 17 00:00:00 2001 From: Aravind Mani <53524901+aravindmani-1@users.noreply.github.com> Date: Mon, 6 Jun 2022 21:44:32 +0530 Subject: [PATCH] [DellEMC]: S52xx platform bug fixes (#10981) * S52xx bug fixes * update sfp.py Co-authored-by: Aravind Mani --- .../s5212f/sonic_platform/sfp.py | 2 ++ .../s5224f/sonic_platform/sfp.py | 2 ++ .../s5232f/sonic_platform/sfp.py | 2 ++ .../s5248f/scripts/s5248f_platform.sh | 10 +++++++--- .../s5248f/sonic_platform/chassis.py | 4 ++-- .../s5248f/sonic_platform/sfp.py | 2 ++ .../s5296f/scripts/s5296f_platform.sh | 8 ++++++-- .../z9264f/sonic_platform/sfp.py | 1 + 8 files changed, 24 insertions(+), 7 deletions(-) diff --git a/platform/broadcom/sonic-platform-modules-dell/s5212f/sonic_platform/sfp.py b/platform/broadcom/sonic-platform-modules-dell/s5212f/sonic_platform/sfp.py index e08c265527..0b62c81bcb 100644 --- a/platform/broadcom/sonic-platform-modules-dell/s5212f/sonic_platform/sfp.py +++ b/platform/broadcom/sonic-platform-modules-dell/s5212f/sonic_platform/sfp.py @@ -13,6 +13,7 @@ try: import time import struct import mmap + import subprocess from sonic_platform_base.sonic_xcvr.sfp_optoe_base import SfpOptoeBase except ImportError as e: @@ -39,6 +40,7 @@ class Sfp(SfpOptoeBase): def __init__(self, index, sfp_type, eeprom_path): SfpOptoeBase.__init__(self) self.sfp_type = sfp_type + self.port_type = sfp_type self.index = index self.eeprom_path = eeprom_path self._initialize_media(delay=False) diff --git a/platform/broadcom/sonic-platform-modules-dell/s5224f/sonic_platform/sfp.py b/platform/broadcom/sonic-platform-modules-dell/s5224f/sonic_platform/sfp.py index 5598f060a9..e3c3ce02ab 100644 --- a/platform/broadcom/sonic-platform-modules-dell/s5224f/sonic_platform/sfp.py +++ b/platform/broadcom/sonic-platform-modules-dell/s5224f/sonic_platform/sfp.py @@ -13,6 +13,7 @@ try: import time import struct import mmap + import subprocess from sonic_platform_base.sonic_xcvr.sfp_optoe_base import SfpOptoeBase except ImportError as e: @@ -39,6 +40,7 @@ class Sfp(SfpOptoeBase): def __init__(self, index, sfp_type, eeprom_path): SfpOptoeBase.__init__(self) self.sfp_type = sfp_type + self.port_type = sfp_type self.index = index self.eeprom_path = eeprom_path self._initialize_media(delay=False) diff --git a/platform/broadcom/sonic-platform-modules-dell/s5232f/sonic_platform/sfp.py b/platform/broadcom/sonic-platform-modules-dell/s5232f/sonic_platform/sfp.py index 955e39d642..7b2e9025bb 100644 --- a/platform/broadcom/sonic-platform-modules-dell/s5232f/sonic_platform/sfp.py +++ b/platform/broadcom/sonic-platform-modules-dell/s5232f/sonic_platform/sfp.py @@ -13,6 +13,7 @@ try: import time import struct import mmap + import subprocess from sonic_platform_base.sonic_xcvr.sfp_optoe_base import SfpOptoeBase except ImportError as e: @@ -39,6 +40,7 @@ class Sfp(SfpOptoeBase): def __init__(self, index, sfp_type, eeprom_path): SfpOptoeBase.__init__(self) self.sfp_type = sfp_type + self.port_type = sfp_type self.index = index self.eeprom_path = eeprom_path self._initialize_media(delay=False) diff --git a/platform/broadcom/sonic-platform-modules-dell/s5248f/scripts/s5248f_platform.sh b/platform/broadcom/sonic-platform-modules-dell/s5248f/scripts/s5248f_platform.sh index 84f2363667..8e6d705795 100755 --- a/platform/broadcom/sonic-platform-modules-dell/s5248f/scripts/s5248f_platform.sh +++ b/platform/broadcom/sonic-platform-modules-dell/s5248f/scripts/s5248f_platform.sh @@ -56,11 +56,15 @@ switch_board_qsfp_mux() { switch_board_qsfp() { case $1 in "new_device") - for ((i=2;i<=57;i++)); + for ((i=2;i<=49;i++)); do - echo optoe1 0x50 > /sys/bus/i2c/devices/i2c-$i/$1 + echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-$i/$1 done - ;; + for ((i=50;i<=57;i++)); + do + echo optoe1 0x50 > /sys/bus/i2c/devices/i2c-$i/$1 + done + ;; "delete_device") for ((i=2;i<=57;i++)); diff --git a/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/chassis.py b/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/chassis.py index b047ec0c96..50c0be5036 100644 --- a/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/chassis.py +++ b/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/chassis.py @@ -127,11 +127,11 @@ class Chassis(ChassisBase): self.PORT_START = 1 self.PORT_END = 56 self.PORTS_IN_BLOCK = (self.PORT_END + 1) - _sfp_port = range(49, self.PORTS_IN_BLOCK) + qsfp_port = range(49, self.PORTS_IN_BLOCK) eeprom_base = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom" for index in range(self.PORT_START, self.PORTS_IN_BLOCK): eeprom_path = eeprom_base.format(self._port_to_i2c_mapping[index]) - port_type = 'QSFP' if index in _sfp_port else 'SFP' + port_type = 'QSFP' if index in qsfp_port else 'SFP' sfp_node = Sfp(index, port_type, eeprom_path) self._sfp_list.append(sfp_node) diff --git a/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/sfp.py b/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/sfp.py index bc7f2bce90..b568b6fa15 100644 --- a/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/sfp.py +++ b/platform/broadcom/sonic-platform-modules-dell/s5248f/sonic_platform/sfp.py @@ -13,6 +13,7 @@ try: import time import struct import mmap + import subprocess from sonic_platform_base.sonic_xcvr.sfp_optoe_base import SfpOptoeBase except ImportError as e: @@ -39,6 +40,7 @@ class Sfp(SfpOptoeBase): def __init__(self, index, sfp_type, eeprom_path): SfpOptoeBase.__init__(self) self.sfp_type = sfp_type + self.port_type = sfp_type self.index = index self.eeprom_path = eeprom_path self._initialize_media(delay=False) diff --git a/platform/broadcom/sonic-platform-modules-dell/s5296f/scripts/s5296f_platform.sh b/platform/broadcom/sonic-platform-modules-dell/s5296f/scripts/s5296f_platform.sh index 2bf64fa736..0a1514d2f7 100755 --- a/platform/broadcom/sonic-platform-modules-dell/s5296f/scripts/s5296f_platform.sh +++ b/platform/broadcom/sonic-platform-modules-dell/s5296f/scripts/s5296f_platform.sh @@ -71,9 +71,13 @@ switch_board_qsfp_mux() { switch_board_qsfp() { case $1 in "new_device") - for ((i=2;i<=105;i++)); + for ((i=2;i<=97;i++)); do - echo sff8436 0x50 > /sys/bus/i2c/devices/i2c-$i/$1 + echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-$i/$1 + done + for ((i=98;i<=105;i++)); + do + echo optoe1 0x50 > /sys/bus/i2c/devices/i2c-$i/$1 done ;; diff --git a/platform/broadcom/sonic-platform-modules-dell/z9264f/sonic_platform/sfp.py b/platform/broadcom/sonic-platform-modules-dell/z9264f/sonic_platform/sfp.py index 2e20fa9e0e..f3dd5704ac 100644 --- a/platform/broadcom/sonic-platform-modules-dell/z9264f/sonic_platform/sfp.py +++ b/platform/broadcom/sonic-platform-modules-dell/z9264f/sonic_platform/sfp.py @@ -43,6 +43,7 @@ class Sfp(SfpOptoeBase): def __init__(self, index, sfp_type, eeprom_path): SfpOptoeBase.__init__(self) self.sfp_type = sfp_type + self.port_type = sfp_type self.index = index self.eeprom_path = eeprom_path self._initialize_media(delay=False)