sonic-buildimage/device/dell/x86_64-dell_s6100_c2538-r0/plugins/eeprom.py
Arun Saravanan Balachandran 2610ad8453
DellEMC S6100: Decode bytearray to string in eeprom plugin (#6093)
Make Dell S6100 eeprom plugin handle bytearray returned by TlvInfoDecoder
2020-12-02 12:09:39 -08:00

32 lines
1.1 KiB
Python

#############################################################################
# Dell S6100
#
# Platform and model specific eeprom subclass, inherits from the base class,
# and provides the followings:
# - the eeprom format definition
# - specific encoder/decoder if there is special need
#############################################################################
try:
from sonic_eeprom import eeprom_tlvinfo
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class board(eeprom_tlvinfo.TlvInfoDecoder):
def __init__(self, name, path, cpld_root, ro):
self.eeprom_path = "/sys/class/i2c-adapter/i2c-2/2-0050/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
def serial_number_str(self, e):
"""Return service tag instead of serial number"""
(is_valid, results) = self.get_tlv_field(e, self._TLV_CODE_SERVICE_TAG)
if is_valid == False:
return "Bad service tag"
# 'results' is a list containing 3 elements, type (int), length (int),
# and value (string) of the requested TLV
return results[2].decode('ascii')