Commit Graph

58 Commits

Author SHA1 Message Date
Arun Saravanan Balachandran
e01a5f86c0 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-07-14 06:34:29 +00:00
Aravind Mani
6d732b5857 Dell S6000,S6100 system health changes (#6788)
Needed support for platform system health in Dell platforms
2021-05-19 17:18:44 +00:00
Aravind Mani
8832c10fb7 [Dell S6100]: Add dell ich driver (#7336)
dell_ich driver was removed as part of #7309 and it is needed for watchdog tickle in S6100 platform.
2021-04-21 14:02:27 -07:00
Aravind Mani
80fdb29957 Dell S6100: Modify transceiver change event from interrupt to poll mode (#7309)
#### Why I did it

- xcvrd crash was seen in latest 201811 images.
- For Dell S6100,API 2.0 uses poll mode while 1.0 was still using interrupt mode.

#### How I did it

- Modified get_transceiver_change_event in 1.0 to poll mode.
2021-04-21 14:01:53 -07:00
Joe LeVeque
88f4c6523d [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-03-04 21:23:05 +00:00
Arun Saravanan Balachandran
9f577512f8 Dell S6100: Watchdog - Fix Python3 incompatibility (#6734)
To make watchdog.arm() method python3 compatible in DellEMC S6100.
2021-02-16 15:29:36 -08:00
Arun Saravanan Balachandran
0bae3b44ec 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 15:48:13 -08:00
Arun Saravanan Balachandran
1b049421aa [DellEMC] Add platform-modules as prerequisite for determine-reboot-cause (#6322)
Add a systemd dependency to make platform-modules service as a prerequisite for determine-reboot-cause service to ensure platform initialization is complete before determine-reboot-cause.service executes.
2021-01-04 23:25:07 -08:00
Arun Saravanan Balachandran
c7a952ac48
DellEMC S6100: Update reboot-cause determination to support new firmware (#5807)
- Why I did it
For determining reboot-cause while running newer BIOS, SMF firmware.

- How I did it
Made changes in reboot-cause determination script to add support for behavior of newer firmware.

- How to verify it
Performed different type of resets and verified "show reboot-cause" provides the correct reason.
Logs: UT_logs.txt

- Description for the changelog
DellEMC S6100: Update reboot-cause determination to support new firmware
2020-12-01 15:15:11 -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
Aravind Mani
a0afe2fc16
Dell S6100 fix mux issue (#5414)
- Why I did it
For fixing PCA MUX attachment issue in Dell S6100 platform.

- How I did it
Wait till IOM MUX powered up properly and start I2C enumeration.
2020-09-22 15:27:32 -07:00
Arun Saravanan Balachandran
da3579cf36
DellEMC S6100: Log HW reboot reason registers (#5361) 2020-09-15 15:20:12 -07:00
rkdevi27
7a44e7e81d
ssd firmware upgrade for S6100 3IE3 devices with cold-reboot/warm-reboot/fast-reboot. (#4911)
* ssd_fw_upgrade

* changed hdparm upgrade post filesystems unmount
2020-08-11 11:16:29 -07:00
Aravind Mani
f72aaf3463
DellEMC S6100: Add script files to executable directory (#5012) 2020-07-21 19:25:24 -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
paavaanan
cba801ae89 [Dell]: DellEMC S6100 disable pericom/xlinx chipset (#4868)
- Xilinx/pericom peripherals are not actively used in DellEMC S6100 switch.
- These peripherals are throwing PCIE corrected messages in some of the units and filling syslog.
- Since it is not usable disabling it at startup.
2020-07-12 18:08:51 +00: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
Aravind Mani
a40fe3ba15
[DellEMC] S6100-Fix i2C ISMT issue (#4330)
* [DellEMC] S6100-Fix i2C ISMT issue

* Modified the retry condition for bit bang
2020-04-28 13:16:19 -07:00
Santhosh Kumar T
12291b276b
DellEMC S6100 I2C Enumeration Segregation (#4312) 2020-03-24 13:52:30 -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
Harish Venkatraman
dbe07a4339 [sonic-platform-modules-dell] Graceful platform reboot (#2912)
The following commit addresses the graceful unmounting of file
system and graceful shutdown of dockers before calling a
cold reboot which will cause a power cycle of SSD. This ensures
orderly shutdown and no corruption of files systems because
of the power cycle to SSD.
This commit will use the existing systemd-reboot service scripts
and override the configuration to do cold reboot for S6100 and
Z9100.
Unit tested the fix and graceful shutdown of file system and
dockers are done with cold reboot.

Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
2019-07-23 15:26:58 -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
paavaanan
4f737f8b65 [devices]: DellEMC S6100 Watchdog support (#2835) 2019-06-28 23:47:36 -07:00
Sudharsan D.G
2e40fa5dbe [devices]: Poller to detect Intel Rangely LPC failure for dell z9100/s6100 (#3065)
- What I did
Added Daemon to Log LPC bus degradation in Intel C2000 processor. Intel Rangeley C2000 processors with revision less than or equal to 2 have issue where LPC bus degrades over time in some processors. To identify the problem and to notify the issue, a daemon has been added which will log on encountering the issue.

- How I did it
Added a daemon which validates the CPLD scratch(0x102) and SMF scratch(0x202) registers by writing and reading values on regular polling intervals (300 seconds). If there is a discrepancy between read and write, a critical log will be thrown.

- How to verify it
The infra is verify by simulating the issue where between write and read, the value in register is modified and the log appearance is checked.

- Description for the changelog

Added Daemon to identify LPC bus degradation issue and notify using syslog in Dell S6100 and Z9100 platforms. This daemon will only run on processors with revision less than or equal to 2.
2019-06-24 08:13:40 -07:00
paavaanan
b1862f4372 [devices]: DellEMC S6100/Z9100 sensor.conf update (#2861) 2019-05-09 00:22:18 -07:00