Dell: S6100 fix xcvrd crash (#10062)
This commit is contained in:
parent
afa18e2856
commit
6c31fc65ff
@ -20,6 +20,7 @@ try:
|
||||
from sonic_platform.psu import Psu
|
||||
from sonic_platform.thermal import Thermal
|
||||
from sonic_platform.watchdog import Watchdog, WatchdogTCO
|
||||
from sonic_platform.sfp import Sfp
|
||||
except ImportError as e:
|
||||
raise ImportError(str(e) + "- required module not found")
|
||||
|
||||
@ -76,6 +77,15 @@ class Chassis(ChassisBase):
|
||||
self._module_list.append(module)
|
||||
self._sfp_list.extend(module._sfp_list)
|
||||
|
||||
#SFP ports
|
||||
sfp_port = 11
|
||||
for index in range(64,66):
|
||||
eeprom_path = "/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom".format(sfp_port)
|
||||
sfp_control = ""
|
||||
sfp_node = Sfp(index, 'SFP', eeprom_path, sfp_control, index)
|
||||
self._sfp_list.append(sfp_node)
|
||||
sfp_port = sfp_port + 1
|
||||
|
||||
for i in range(MAX_S6100_FANTRAY):
|
||||
fandrawer = FanDrawer(i)
|
||||
self._fan_drawer_list.append(fandrawer)
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
try:
|
||||
import os
|
||||
import syslog
|
||||
import time
|
||||
from sonic_platform_base.sonic_xcvr.sfp_optoe_base import SfpOptoeBase
|
||||
except ImportError as e:
|
||||
@ -42,6 +43,9 @@ class Sfp(SfpOptoeBase):
|
||||
"""
|
||||
Retrieves the presence of the sfp
|
||||
"""
|
||||
if self.index > 64:
|
||||
return False
|
||||
|
||||
presence_ctrl = self.sfp_control + 'qsfp_modprs'
|
||||
try:
|
||||
reg_file = open(presence_ctrl)
|
||||
@ -69,6 +73,9 @@ class Sfp(SfpOptoeBase):
|
||||
"""
|
||||
Retrieves the reset status of SFP
|
||||
"""
|
||||
if self.index > 64:
|
||||
return False
|
||||
|
||||
reset_status = None
|
||||
reset_ctrl = self.sfp_control + 'qsfp_reset'
|
||||
try:
|
||||
@ -100,6 +107,9 @@ class Sfp(SfpOptoeBase):
|
||||
"""
|
||||
Retrieves the lpmode (low power mode) status of this SFP
|
||||
"""
|
||||
if self.index > 64:
|
||||
return False
|
||||
|
||||
lpmode_ctrl = self.sfp_control + 'qsfp_lpmode'
|
||||
try:
|
||||
reg_file = open(lpmode_ctrl, "r+")
|
||||
@ -133,6 +143,9 @@ class Sfp(SfpOptoeBase):
|
||||
"""
|
||||
Reset SFP and return all user module settings to their default srate.
|
||||
"""
|
||||
if self.index > 64:
|
||||
return False
|
||||
|
||||
reset_ctrl = self.sfp_control + 'qsfp_reset'
|
||||
try:
|
||||
# Open reset_ctrl in both read & write mode
|
||||
@ -178,6 +191,9 @@ class Sfp(SfpOptoeBase):
|
||||
"""
|
||||
Sets the lpmode (low power mode) of SFP
|
||||
"""
|
||||
if self.index > 64:
|
||||
return False
|
||||
|
||||
lpmode_ctrl = self.sfp_control + 'qsfp_lpmode'
|
||||
try:
|
||||
reg_file = open(lpmode_ctrl, "r+")
|
||||
|
Loading…
Reference in New Issue
Block a user