Commit Graph

42 Commits

Author SHA1 Message Date
Aravind Mani
6c31fc65ff
Dell: S6100 fix xcvrd crash (#10062) 2022-02-28 13:13:52 -08:00
Arun Saravanan Balachandran
174833d319
DellEMC: S6100, S6000 - Platform API implementation (#9586)
Why I did it
To incorporate the below changes in DellEMC S6100, S6000 platforms.

S6100, S6000:
Implement 'get_revision' method for Chassis
Implement 'get_maximum_consumed_power' method for FanDrawer
Implement 'get_revision', 'get_maximum_supplied_power' methods for PSU
Implement 'get_error_description' method for SFP.
S6100:
Implement 'get_module_index' method for Chassis
Implement 'get_description', 'get_maximum_consumed_power', 'get_oper_status', 'get_slot' methods for Module
Update component names in platform.json
How I did it
Implement the platform API methods in the respective device files

How to verify it
Verified that the respective sonic-mgmt platform API test cases report success.
2022-01-02 22:38:35 -08:00
Santhosh Kumar T
82085af786
[DellEMC] S6100 - Adding SSD component and introducing platform_fw_au_handle for auto-update (#9208)
Why I did it
Adding SSD as part of platform components list.
Introducing platform_fw_au_reboot_handle to use auto-update functionality in fwutil
How I did it
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install
        new file:   platform/broadcom/sonic-platform-modules-dell/s6100/scripts/platform_fw_au_reboot_handle
        modified:   platform/broadcom/sonic-platform-modules-dell/s6100/sonic_platform/chassis.py
        modified:   platform/broadcom/sonic-platform-modules-dell/s6100/sonic_platform/component.py
How to verify it
By running fwutil command.
Warning: fwupdate_fwimage_dir: /var/platform/fwpackage/.                                              
Chassis    Module    Component    Firmware                         Version (Current/Available)    Status
---------  --------  -----------  -------------------------------  -----------------------------  ------------------
S6100-ON             BIOS         S6100-BIOS-3.25.0.2-9-noRP2.bin  3.25.0.2-8 / 3.25.0.2-9        update is required
                     FPGA         smf_firmware_upgrade.tar         2.4 / 2.4                      up-to-date
                     CPLD         cpld_firmware_upgrade.tar        4 / 4                          up-to-date
                     SSD          ssd_firmware_upgrade.tar         S16425cG / S16425cG            up-to-date
root@sonic:~#
2021-12-06 23:22:35 -08:00
Arun Saravanan Balachandran
6d8c509817
[DellEMC] S6100 - iTCO watchdog support and reboot cause determination changes (#9149)
Why I did it
To support iTCO watchdog using watchdog APIs.
How I did it
Implemented a new watchdog class WatchdogTCO for interfacing with iTCO watchdog.
Updated reboot cause determination logic.
How to verify it
Verified that the watchdog APIs' return values are as expected.
Logs: UT_logs.txt
2021-12-06 21:52:20 -08:00
Aravind Mani
ab932591c1
DellEMC: S6000,S6100 SFP refactor (#9016)
* DellEMC: S6000,S6100 SFP refactor
2021-12-07 11:03:21 +05:30
Aravind Mani
b31220530a
Dell: S6100 fix xcvrd crash (#9206) 2021-11-10 20:13:26 +05:30
Santhosh Kumar T
e5a64463fd
[DellEMC] S6100 Reboot cause determining CPU reset in fast-reboot (#8024)
Why I did it
Added a check in determining CPU reset in fast-/warm-reboot in their respective platform plugin.
Introducing reboot plugin for "reboot" command to handle its own platform plugin.
How I did it
On branch s6100_fast_warm_check
Changes to be committed:
(use "git reset HEAD ..." to unstage)

    modified:   ../../debian/platform-modules-s6100.install
    modified:   ../scripts/fast-reboot_plugin
    modified:   ../scripts/platform_reboot_override
    new file:   ../scripts/reboot_plugin
    modified:   ../scripts/track_reboot_reason.sh
    modified:   chassis.py
How to verify it
Triggered cold-reset inside fast-reboot to test out the reboot-cause 2.0 API.
2021-08-04 14:35:36 -07:00
Arun Saravanan Balachandran
0135ba275b
DellEMC S6100: Determine pcie.yaml revision based on firmware (#7875)
Why I did it
To determine the revision of the pcie.yaml to be used based on BIOS version in DellEMC S6100 platform.

Depends on: Azure/sonic-platform-common#195

How I did it
Added two revisions of pcie.yaml pcie_1.yaml and pcie_2.yaml
Included a platform-specific Pcie class to provide the revision of the pcie.yaml to be used by pcieutil/pcied.
How to verify it
Execute pcieutil check (Azure/sonic-utilities#1672) command and verify the list of PCIe devices displayed.
Logs: UT_logs.txt
2021-06-29 15:19:54 -07:00
Joe LeVeque
ac15a42c57
[DellEMC] Ensure concrete platform API classes call base class initializer (#6853)
In preparation for the merging of Azure/sonic-platform-common#173, which properly defines class and instance members in the Platform API base classes.

It is proper object-oriented methodology to call the base class initializer, even if it is only the default initializer. This also future-proofs the potential addition of custom initializers in the base classes down the road.
2021-02-25 11:20:34 -08:00
Aravind Mani
3aee87d6dc
Dell S6000,S6100 system health changes (#6788)
Needed support for platform system health in Dell platforms
2021-02-22 23:26:59 -08:00
Arun Saravanan Balachandran
8ec747f2eb
Dell S6100: Watchdog - Fix Python3 incompatibility (#6734)
To make watchdog.arm() method python3 compatible in DellEMC S6100.
2021-02-10 06:13:24 -08:00
Arun Saravanan Balachandran
fa89c6dd8f
DellEMC: S6100, S6000 - Enable thermalctld, Platform API implementation and fixes (#6438)
**- Why I did it**

To incorporate the below changes in DellEMC S6100, S6000 platforms.

- S6100, S6000:
    - Enable 'thermalctld'
    - Implement DeviceBase methods (presence, status, model, serial) for Fantray and Component
    - Implement ‘get_position_in_parent’, ‘is_replaceable’ methods for all device types
    - Implement ‘get_status’ method for Fantray
    - Implement ‘get_temperature’, ‘get_temperature_high_threshold’, ‘get_voltage_high_threshold’, ‘get_voltage_low_threshold’ methods for PSU
    - Implement ‘get_status_led’, ‘set_status_led’ methods for Chassis
    - SFP:
        - Make EEPROM read both Python2 and Python3 compatible
        - Fix ‘get_tx_disable_channel’ method’s return type
        - Implement ‘tx_disable’, ‘tx_disable_channel’ and ‘set_power_override’ methods
- S6000:
    - Move PSU thermal sensors from Chassis to respective PSU
    - Make available the data of both Fans present in each Fantray


**- How I did it**

- Remove 'skip_thermalctld:true' in pmon_daemon_control.json
- Implement the platform API methods in the respective device files
- Use `bytearray` for data read from transceiver EEPROM 
- Change return type of 'get_tx_disable_channel' to match specification in sonic_platform_common/sfp_base.py
2021-02-05 12:30:08 -08:00
Arun Saravanan Balachandran
165cae73ab
[DellEMC]: S6100, S6000 - Platform API fixes (#6073)
- Change return type of SFP methods to match specification in sonic_platform_common/sfp_base.py
- Use init methods of base classes to initialize common instance variables
- Handle negative timeout values in S6100's watchdog ‘arm’ method
- Return appropriate values for 'get_target_speed', 'set_status_led' to avoid false warnings
2020-12-01 10:43:41 -08:00
Arun Saravanan Balachandran
dc15fbc0ee
[DellEMC]: EEPROM platform API Python3 compliance changes (#5960)
Make EEPROM platform APIs Python3 compliant in DellEMC platforms by handling bytearray type returned by read_eeprom and read_eeprom_bytes methods.
2020-11-24 17:30:41 -08:00
Arun Saravanan Balachandran
6145e4f6f1
[DellEMC]: FanDrawer and get_high_critical_threshold Platform API implementation for S6000, S6100, Z9100 and Z9264F (#5673)
- Implement FanDrawer and get_high_critical_threshold Platform API for S6000, S6100, Z9100 and Z9264F.
- Fix incorrect fan direction values in S6100, Z9100
2020-10-29 18:05:16 -07:00
Arun Saravanan Balachandran
bcc6c64335
[DellEMC]: Platform modules Python3 compliance and other changes (#5609)
- Make DellEMC platform modules Python3 compliant.
- Change return type of PSU Platform APIs in DellEMC Z9264, S5232 and Thermal Platform APIs in S5232 to 'float'.
- Remove multiple copies of pcisysfs.py.
- PEP8 style changes for utility scripts.
- Build and install Python3 version of sonic_platform package.
- Fix minor Platform API issues.
2020-10-17 12:31:55 -07:00
Joe LeVeque
9905d9382d
[devices] Update SFP keys to align with new standard (#4975)
Align SFP key names with new standard defined in https://github.com/Azure/sonic-platform-common/pull/97

- hardwarerev -> hardware_rev
- serialnum -> serial
- manufacturename -> manufacturer
- modelname -> model
- Connector -> connector
2020-07-16 13:03:50 -07:00
Arun Saravanan Balachandran
f0eb1dbc93
DellEMC: Skip thermalctld (S6000, S6100, Z9100 and Z9264) and thermal platform API changes (#4644)
- Skip thermalctld in DellEMC S6000, S6100, Z9100 and Z9264 platforms.
- Change the return type of thermal Platform APIs in DellEMC S6000, S6100, Z9100 and Z9264 platforms to 'float'.
2020-05-27 12:22:55 -07:00
Arun Saravanan Balachandran
e976b70e74
DellEMC: get_change_event Platform API implementation for S6000, S6100 and Z9100 (#4593)
For detecting transceiver change events through xcvrd in DellEMC S6000, S6100 and Z9100 platforms.

- In S6000, rename 'get_transceiver_change_event' in chassis.py to 'get_change_event' and return appropriate values.
- In S6100, implement 'get_change_event' through polling method (poll interval = 1 second) in chassis.py (Transceiver insertion/removal does not generate interrupts due to a CPLD bug)
- In Z9100, implement 'get_change_event' through interrupt method using select.epoll().
2020-05-20 12:52:50 -07:00
Santhosh Kumar T
2626565afb
[DellEMC] S6100 Last Reboot Reason Thermal Support (#3767) 2020-02-18 00:02:33 -08:00
Arun Saravanan Balachandran
d2dadc976b DellEMC: Platform2.0 API enhancements in DellEMC S6000 and other API changes (#3956) 2020-01-24 10:08:22 -08:00
Arun Saravanan Balachandran
343ad78931 DellEMC : Platform2.0 API Implementation [S6100, S6000, Z9100] (#3740) 2019-12-03 10:36:41 -08:00
Aravind Mani
4f35a81065 DellEMC:optoe driver support in DellEMC platforms (#3747)
- optoe driver truncates invalid pages(ff) but sff driver doesn't truncate.so,the DOM related calculation made by sff8436 driver will show incorrect data.
- Few optics doesn't support DOM.
- SFP plugins currently returns None for unreadable pages and this'd throw the below mentioned error in sfpshow eeprom --dom.
2019-11-14 00:04:11 -08:00
Santhosh Kumar T
a5e2799b33 [DellEMC] S6100 Watchdog Support (#3698)
Implement Watchdog platform2.0 API for DellEMC S6100 platform.
- Added new file watchdog.py in sonic_platform directory.
- Enabled API support to Enable/disable watchdog.
2019-11-07 13:27:02 -08:00
Arun Saravanan Balachandran
ee4ca2c0c5 DellEMC : Platform2.0 API Implementation for Component [S6000, S6100, Z9100] (#3588) 2019-10-16 17:57:32 -07:00
sridhar-ravindran
3c0b56a709 [DELL] S6100 Support PowerCycle in Last Reboot Reason (#3403)
* [DELL] S6100 Support PowerCycle in Last Reboot Reason

* handle first time boot properly

* S6000 Last Reboot Reason Fix
2019-09-17 16:51:46 -07:00
Arun Saravanan Balachandran
1cbc99d99e
Merge branch 'master' into platform2.0 2019-09-16 10:33:13 +05:30
Arun Saravanan Balachandran
da2ae4959d Updated merge changes 2019-09-13 03:53:04 -07:00
Arun Saravanan Balachandran
372f786e7a
Merge branch 'master' into platform2.0 2019-09-11 15:45:22 +05:30
Arun Saravanan Balachandran
584ac010a0 DellEMC S6100 : Sync latest changes to Module 2019-09-09 01:25:32 -07:00
Arun Saravanan Balachandran
4bad5eabb6
Merge branch 'master' into platform2.0_s6100 2019-09-09 12:45:07 +05:30
sridhar-ravindran
309af83225 [DELL][S6000] Platform 2.0 TransceiverChange Support (#3414)
Implemented remaining APIs in s6100,z9100,s6000
Removed soft link in s6100,s6000,z9100 and implemented seperately
Implemented get_transceiver_change_event in S6000
2019-09-06 14:57:52 -07:00
Arun Saravanan Balachandran
dd9c2a5b22 DellEMC S6100 : Platform2.0 API [Module] 2019-08-23 23:34:53 -04:00
paavaanan
aea84a7477 BIOS upgrade support with API2.0 for DellEMC S6100 (#3116) 2019-08-23 11:12:26 -07:00
Arun Saravanan Balachandran
9cebe7c153 DellEMC : Platform2.0 API Implementation for Chassis [S6000, S6100, Z9100] 2019-08-23 13:37:38 -04:00
Arun Saravanan Balachandran
79b1eb8fc1 DellEMC S6100 : Platform2.0 API [Module, Thermal] 2019-08-20 10:56:57 -04:00
Arun Saravanan Balachandran
c870b39589 DellEMC S6100 : Platform2.0 API implementation [Module, Thermal] 2019-08-19 09:35:30 -04:00
sridhar-ravindran
88dc7ad13e [DELL][Z9100,S6100,S6000] Platform 2.0 SFP Changes (#3229)
* [DELL][Z9100,S6100,S6000] Platform 2.0 SFP Changes

Added support in sfp.py file which will be generic. Send the eeprom path and sfp_control path from chassis.py
2019-08-13 08:47:21 -07:00
Karthik Gengan
a99a37dbef DellEmc: Platform 2.0 Api(chassis,fan,eeprom) for S6100 and Z9100 (#3234) 2019-08-07 11:02:56 -07:00
sridhar-ravindran
95558ad5ce [DELLEMC][S6000] Platform 2.0 Reboot Reason and fixed issue in process-reboot-cause (#3156)
Added Reboot Reason for S6000 in platform 2.0
Fixed issue in process-reboot-cause
Added package uninstall code in platform de-init code for z9100, s6100
- How I did it
-> Added support for S6000 Reboot Reason
-> Added platform.py for all platforms
-> Verified show reboot-cause command with the code changes. Added UT logs with show reboot-cause
-> Modified process-reboot-cause service to start after pmon.service. In S6000, we have to wait for nvram to be loaded.
-> If reboot-cause service starts before pmon.service, show reboot-cause is showing incorrect reason.
-> Bug fix in process-reboot-cause file
- import sonic_platform
+ import sonic_platform.platform
2019-07-24 12:15:46 -07:00
ArunSaravananBalachandran
e520cbe9e3 DellEMC S6100 : Platform2.0 API implementation for PSU (#3132) 2019-07-10 11:54:14 -07:00
sridhar-ravindran
56608bf06b [devices]: DELL Platform 2.0 API Infra and Reboot Reason support in Z9100 & S6100 (#3063) 2019-07-03 06:52:35 -07:00