Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dell] [Z9100] Supporting BCM PreEmphasis Settings for Optics #2501

Merged
merged 1 commit into from
Feb 6, 2019

Conversation

sridhar-ravindran
Copy link
Contributor

- What I did
Added support for setting Optics specific PreEmphasis Values in Z9100.
This is to make sure the devices are programmed correct PreEmphasis values, which will improve the link stability of the ports
This solution will be present, only until the SAI implementation is completed for Dynamic Pre-Emphasis Support
Support for Dynamic Insertion/Removal of optics is not implemented. It configures preEmphasis values for optics present during reload.

- How I did it

    modified:   platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install
    modified:   platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.postinst
    new file:   platform/broadcom/sonic-platform-modules-dell/z9100/scripts/qsfp_monitor
    new file:   platform/broadcom/sonic-platform-modules-dell/z9100/scripts/z9100_preemp_db.py
    new file:   platform/broadcom/sonic-platform-modules-dell/z9100/scripts/z9100_qsfp_monitor.py
    new file:   platform/broadcom/sonic-platform-modules-dell/z9100/systemd/z9100-qsfp-monitor.service

Z9100 starts the z9100-qsfp-monitor.service which while booting up calls
z9100_qsfp_monitor.py script.

z9100_qsfp_monitor.py will read the eeprom contents of the inserted optics for the Cable Length

Based on Cable length (750mm, 1m , 1.5m, 2m, 3m) the following setting will be programmed.
Supplier Part number Configuration AWG and length Premphasis Amplitude
Amphenol-FCI NDARHF-M201 1x-2x QSFP28 30 AWG 1M 0x006808 0x8
Amphenol-FCI NDARHF-M206 1x-2x QSFP28 30 AWG 1.5M 0x006808 0xb
Amphenol-FCI NDARHJ-M202 1x-2x QSFP28 26 AWG 2M 0x006808 0xb
Amphenol-FCI NDARHF-M205 1x-2x QSFP28 30 AWG 0.75M 0x006808 0x8
Amphenol-FCI NDARHJ-M203 1x-2x QSFP28 26AWG 3M 0x006808 0xe
Amphenol-FCI NDAAFJ-M203 1x – 1x QSFP28 26 AWG 3M 0x006808 0xe
Amphenol-FCI NDAAFF-M205 1x-1x QSFP28 30 AWG 0.75M 0x006808 0x8
Amphenol-FCI NDAAFF-M201 1x – 1x QSFP28 30 AWG 1M 0x006808 0x8
Amphenol-FCI NDAAFF-M206 1x-1x QSFP28 30 AWG 1.5M 0x006808 0xb
Amphenol-FCI NDAAFJ-M202 1x – 1x QSFP28 26 AWG 2M 0x006808 0xb
Amphenol-FCI NDARHJ-M206 1x-2x QSFP28 26 AWG 1.5M 0x006808 0xb

in the bcm chipset.
The Database for holding the preEmphasis Values is present in z9100_preemp_db.py
- How to verify it

Verified the settings using phy commands and eyescan

<Port_Name> can be xe0,ce0,xe24,ce16 etc

phy diag <Port_Name> eyescan type=4 ber_scan_mode=0 lane=1

phy <Port_Name> AMS_TX_CTL2r.0
phy <Port_Name> CL93N72_UT_CTL2r.0
phy <Port_Name> CL93N72_UT_CTL3r.0

phy <Port_Name> AMS_TX_CTL2r.1
phy <Port_Name> CL93N72_UT_CTL2r.1
phy <Port_Name> CL93N72_UT_CTL3r.1
- Description for the changelog

Configure PreEmphasis Settings on BCM based on inserted Optics

- A picture of a cute animal (not mandatory but encouraged)

@lguohan lguohan merged commit ed2d87a into sonic-net:master Feb 6, 2019
@sridhar-ravindran sridhar-ravindran deleted the master1 branch June 21, 2019 13:00
sridhar-ravindran added a commit to sridhar-ravindran/sonic-buildimage that referenced this pull request Jun 21, 2019
lguohan pushed a commit that referenced this pull request Jun 22, 2019
Pterosaur added a commit to Pterosaur/sonic-buildimage that referenced this pull request Sep 19, 2023
… latest HEAD

sonic-swss:
```
* 13ef25bf - (HEAD -> master, origin/master, origin/HEAD) [teamd]: Clean teamd process if LAG creation fails (sonic-net#2888) (5 days ago) [Lawrence Lee]
* ae010bfa - Support type7 encoded CAK key for macsec in config_db (sonic-net#2892) (13 days ago) [judyjoseph]
* e6f134fb - [orchagent]: admin-disable port before setPortSerdesAttribute() (sonic-net#2831) (4 weeks ago) [Aman Singhal]
* a67d4a77 - Change default branch to build_branch (sonic-net#2885) (4 weeks ago) [Ze Gan]
* d44761cc - Make sure new binaries replace existing binaries in docker-sonic-vs (sonic-net#2870) (4 weeks ago) [Saikrishna Arcot]
* 7102220a - [Fixbug]: Fix vnet attribute miss if route action is vnet_direct and vnet test cases (sonic-net#2873) (sonic-net#2877) (4 weeks ago) [Ze Gan]
*   873455b7 - Merge pull request sonic-net#2878 from Pterosaur/enable_dash_vstest (4 weeks ago) [Guohan Lu]
|\
| * 44457c86 - Simplify test task and remove duplicated artifacts (4 weeks ago) [Ze Gan]
| * 8bca4ed2 - Trigger Azp (4 weeks ago) [Ze Gan]
| *   6de56ee1 - Merge branch 'master' into enable_dash_vstest (4 weeks ago) [Ze Gan]
| |\
| * | aad88a36 - Disable test_dash_crm (5 weeks ago) [Ze Gan]
| * | 61126eb0 - Enable Dash test in Pipeline (5 weeks ago) [Ze Gan]
* | | ecd88108 - update portStatIds for cisco (sonic-net#2876) (4 weeks ago) [Zhixin Zhu]
* | | f1294999 - [ppi] Relax port attributes validation (sonic-net#2872) (4 weeks ago) [Nazarii Hnydyn]
| |/
|/|
* | b4fcfc9f - Remove fabric queue counters. (sonic-net#2862) (5 weeks ago) [jfeng-arista]
|/
*   bb99f418 - Merge pull request sonic-net#2856 from theasianpianist/master-dash-merge (5 weeks ago) [Guohan Lu]
|\
| *   84b32af2 - Merge branch 'master' into master-dash-merge (5 weeks ago) [Lawrence Lee]
| |\
| |/
|/|
* | ca728200 - [FEC] Adding support of override based on attribute query of SAI_PORT_ATTR_AUTO_NEG_FEC_MODE_OVERRIDE  (sonic-net#2874) (5 weeks ago) [Sudharsan Dhamal Gopalarathnam]
 /
* 3bb71809 - Merge branch 'master' into master-dash-merge (5 weeks ago) [Lawrence Lee]
* 574940dd - Merge branch 'master' into master-dash-merge (6 weeks ago) [Lawrence Lee]
* 660e5e4c - Merge branch 'master' into master-dash-merge (6 weeks ago) [Lawrence Lee]
* 6d941746 - Merge branch 'master' into master-dash-merge (6 weeks ago) [Lawrence Lee]
* c87c86e6 - [dash]: Refactor DASH orch by protobuf format (sonic-net#2722) (8 weeks ago) [Ze Gan]
* c999ea32 - [tests]: Change DVS ENV HWKSU to DPU-2P for DASH vstest (sonic-net#2847) (8 weeks ago) [prabhataravind]
* b2c25dcd - (conflict)[dash] Improve dash orchagent ZMQ code. (sonic-net#2836) (8 weeks ago) [Hua Liu]
* 409b3833 - [tests]: Set HWSKU to NPU-2P for dash vstests (sonic-net#2833) (8 weeks ago) [prabhataravind]
* f2365af9 - (conflict)Enable/disable Zmq by parameter (sonic-net#2828) (8 weeks ago) [Hua Liu]
* 3ade5fc3 - (conflict)[dash] Change dash orchagent from Redis consumer state table to ZMQ consumer state table. (sonic-net#2779) (8 weeks ago) [Hua Liu]
* eaf1bb85 - [crm]: Remove NOT_IMPLEMENTED checks (8 weeks ago) [Lawrence Lee]
* 916d2f10 - [azp]: Don't run DASH tests for regular test runs (8 weeks ago) [Lawrence Lee]
* 208e80bd - update azp to use public pipeline artifacts (8 weeks ago) [Lawrence Lee]
* 2168554d - [dash][ci] fix build pipeline (8 weeks ago) [Yakiv Huryk]
* b6036635 - [dash][ci] update build pipeline to build with bullseye (8 weeks ago) [Yakiv Huryk]
* 37a61ddb - (conflict)[azp] Add DASH to PR trigger for non-DASH VS tests (sonic-net#2813) (8 weeks ago) [Lawrence Lee]
* 37d27b01 - Fix Dash orchagent build issue. (sonic-net#2788) (8 weeks ago) [Hua Liu]
* 07cce313 - (conflict)[CRM][DASH] Extend CrmOrch to support DASH resources. (sonic-net#2739) (8 weeks ago) [Oleksandr Ivantsiv]
* 7c435d1e - [DASH]: Miscellaneous bug fixes and adding vstests (sonic-net#2745) (8 weeks ago) [prabhataravind]
* 6613dd4f - [dash]: Check if overlay IP is specified (sonic-net#2741) (8 weeks ago) [Lawrence Lee]
* c863d48b - [dash] Do not use an action drop with the inbound routing table. (sonic-net#2710) (8 weeks ago) [Oleksandr Ivantsiv]
* 89ce4e0c - [dash]: Don't attempt to bind empty ACL groups (sonic-net#2613) (8 weeks ago) [Lawrence Lee]
* 8ec36a6f - (conflict)[dash]: ACL orchagent (sonic-net#2470) (8 weeks ago) [Ze Gan]
* 29c23b12 - [DASH] Fix compilation issue caused by merge from the master branch. (sonic-net#2594) (8 weeks ago) [Oleksandr Ivantsiv]
* fd3539e5 - [DASH] Add retry logic for VNET mapping table (sonic-net#2583) (8 weeks ago) [Lawrence Lee]
* 9b179c07 - [dash] add USE_DST_VNET_VNI attribute to CA-to-PA entry (sonic-net#2533) (8 weeks ago) [Yakiv Huryk]
* f7fe55fa - Add SAI_ENI_ATTR_VM_UNDERLAY_DIP and SAI_ENI_ATTR_VM_VNI attributes to ENI entry (sonic-net#2514) (8 weeks ago) [prabhataravind]
* aa2a02c5 - (conflict)[Azp]: Add Azp for DASH (sonic-net#2501) (8 weeks ago) [Ze Gan]
* 2d1972f2 - (conflict)orchagent: DASH changes (sonic-net#2459) (8 weeks ago) [prabhataravind]
* acf0fe42 - [DPU] Fix unit tests compilation after merge from master branch. (sonic-net#2478) (8 weeks ago) [Oleksandr Ivantsiv]
* 22c62f63 - (conflict)[DPU] Simplify SWSS initialization to meet DPU requirements. (sonic-net#2440) (8 weeks ago) [Oleksandr Ivantsiv]
```

sonic-sairedis
```
* cfa8da4 - (HEAD -> master, origin/master, origin/HEAD) Add extra parameter to pass vendor LDFLAGS for libsai.so (sonic-net#1291) (3 days ago) [Kamil Cudnik]
* 8046908 - [CRM][DASH] Add the possibility of querying availability for OIDs. (sonic-net#1245) (5 days ago) [Oleksandr Ivantsiv]
* 9547060 - Install nlohmann-json3-dev package for codeql (sonic-net#1290) (10 days ago) [Saikrishna Arcot]
* f3b4dd5 - Use json.hpp from nlohmann-json-dev instead of swss-common (sonic-net#1289) (11 days ago) [Saikrishna Arcot]
* 40c9d13 - [azp] Update az pipeline for swss docker to add syslog (sonic-net#1287) (2 weeks ago) [Kamil Cudnik]
* 4c2527f - port counter support on sonic-vs (sonic-net#1275) (3 weeks ago) [Vishnu Shetty]
* 92c58cf - [Azp]: Change default branch to build_branch (sonic-net#1279) (4 weeks ago) [Ze Gan]
* 7178fb6 - [submodule] Update SAI to latest v1.12 branch (sonic-net#1284) (4 weeks ago) [Oleksandr Ivantsiv]
* 52247b9 - [syncd] Fix missing comma (sonic-net#1278) (4 weeks ago) [Kamil Cudnik]
* 44cd8c4 - [azp] Attempt to fix swss missing libs (sonic-net#1277) (4 weeks ago) [Ze Gan]
* ee308bb - [submodule] Update SAI to latest v1.12 branch (sonic-net#1272) (5 weeks ago) [Kamil Cudnik]
```

Signed-off-by: Ze Gan <ganze718@gmail.com>
qiluo-msft pushed a commit that referenced this pull request Sep 26, 2023
… latest HEAD (#16599)

sonic-swss:
```
* 13ef25bf - (HEAD -> master, origin/master, origin/HEAD) [teamd]: Clean teamd process if LAG creation fails (#2888) (5 days ago) [Lawrence Lee]
* ae010bfa - Support type7 encoded CAK key for macsec in config_db (#2892) (13 days ago) [judyjoseph]
* e6f134fb - [orchagent]: admin-disable port before setPortSerdesAttribute() (#2831) (4 weeks ago) [Aman Singhal]
* a67d4a77 - Change default branch to build_branch (#2885) (4 weeks ago) [Ze Gan]
* d44761cc - Make sure new binaries replace existing binaries in docker-sonic-vs (#2870) (4 weeks ago) [Saikrishna Arcot]
* 7102220a - [Fixbug]: Fix vnet attribute miss if route action is vnet_direct and vnet test cases (#2873) (#2877) (4 weeks ago) [Ze Gan]
*   873455b7 - Merge pull request #2878 from Pterosaur/enable_dash_vstest (4 weeks ago) [Guohan Lu]
|\
| * 44457c86 - Simplify test task and remove duplicated artifacts (4 weeks ago) [Ze Gan]
| * 8bca4ed2 - Trigger Azp (4 weeks ago) [Ze Gan]
| *   6de56ee1 - Merge branch 'master' into enable_dash_vstest (4 weeks ago) [Ze Gan]
| |\
| * | aad88a36 - Disable test_dash_crm (5 weeks ago) [Ze Gan]
| * | 61126eb0 - Enable Dash test in Pipeline (5 weeks ago) [Ze Gan]
* | | ecd88108 - update portStatIds for cisco (#2876) (4 weeks ago) [Zhixin Zhu]
* | | f1294999 - [ppi] Relax port attributes validation (#2872) (4 weeks ago) [Nazarii Hnydyn]
| |/
|/|
* | b4fcfc9f - Remove fabric queue counters. (#2862) (5 weeks ago) [jfeng-arista]
|/
*   bb99f418 - Merge pull request #2856 from theasianpianist/master-dash-merge (5 weeks ago) [Guohan Lu]
|\
| *   84b32af2 - Merge branch 'master' into master-dash-merge (5 weeks ago) [Lawrence Lee]
| |\
| |/
|/|
* | ca728200 - [FEC] Adding support of override based on attribute query of SAI_PORT_ATTR_AUTO_NEG_FEC_MODE_OVERRIDE  (#2874) (5 weeks ago) [Sudharsan Dhamal Gopalarathnam]
 /
* 3bb71809 - Merge branch 'master' into master-dash-merge (5 weeks ago) [Lawrence Lee]
* 574940dd - Merge branch 'master' into master-dash-merge (6 weeks ago) [Lawrence Lee]
* 660e5e4c - Merge branch 'master' into master-dash-merge (6 weeks ago) [Lawrence Lee]
* 6d941746 - Merge branch 'master' into master-dash-merge (6 weeks ago) [Lawrence Lee]
* c87c86e6 - [dash]: Refactor DASH orch by protobuf format (#2722) (8 weeks ago) [Ze Gan]
* c999ea32 - [tests]: Change DVS ENV HWKSU to DPU-2P for DASH vstest (#2847) (8 weeks ago) [prabhataravind]
* b2c25dcd - (conflict)[dash] Improve dash orchagent ZMQ code. (#2836) (8 weeks ago) [Hua Liu]
* 409b3833 - [tests]: Set HWSKU to NPU-2P for dash vstests (#2833) (8 weeks ago) [prabhataravind]
* f2365af9 - (conflict)Enable/disable Zmq by parameter (#2828) (8 weeks ago) [Hua Liu]
* 3ade5fc3 - (conflict)[dash] Change dash orchagent from Redis consumer state table to ZMQ consumer state table. (#2779) (8 weeks ago) [Hua Liu]
* eaf1bb85 - [crm]: Remove NOT_IMPLEMENTED checks (8 weeks ago) [Lawrence Lee]
* 916d2f10 - [azp]: Don't run DASH tests for regular test runs (8 weeks ago) [Lawrence Lee]
* 208e80bd - update azp to use public pipeline artifacts (8 weeks ago) [Lawrence Lee]
* 2168554d - [dash][ci] fix build pipeline (8 weeks ago) [Yakiv Huryk]
* b6036635 - [dash][ci] update build pipeline to build with bullseye (8 weeks ago) [Yakiv Huryk]
* 37a61ddb - (conflict)[azp] Add DASH to PR trigger for non-DASH VS tests (#2813) (8 weeks ago) [Lawrence Lee]
* 37d27b01 - Fix Dash orchagent build issue. (#2788) (8 weeks ago) [Hua Liu]
* 07cce313 - (conflict)[CRM][DASH] Extend CrmOrch to support DASH resources. (#2739) (8 weeks ago) [Oleksandr Ivantsiv]
* 7c435d1e - [DASH]: Miscellaneous bug fixes and adding vstests (#2745) (8 weeks ago) [prabhataravind]
* 6613dd4f - [dash]: Check if overlay IP is specified (#2741) (8 weeks ago) [Lawrence Lee]
* c863d48b - [dash] Do not use an action drop with the inbound routing table. (#2710) (8 weeks ago) [Oleksandr Ivantsiv]
* 89ce4e0c - [dash]: Don't attempt to bind empty ACL groups (#2613) (8 weeks ago) [Lawrence Lee]
* 8ec36a6f - (conflict)[dash]: ACL orchagent (#2470) (8 weeks ago) [Ze Gan]
* 29c23b12 - [DASH] Fix compilation issue caused by merge from the master branch. (#2594) (8 weeks ago) [Oleksandr Ivantsiv]
* fd3539e5 - [DASH] Add retry logic for VNET mapping table (#2583) (8 weeks ago) [Lawrence Lee]
* 9b179c07 - [dash] add USE_DST_VNET_VNI attribute to CA-to-PA entry (#2533) (8 weeks ago) [Yakiv Huryk]
* f7fe55fa - Add SAI_ENI_ATTR_VM_UNDERLAY_DIP and SAI_ENI_ATTR_VM_VNI attributes to ENI entry (#2514) (8 weeks ago) [prabhataravind]
* aa2a02c5 - (conflict)[Azp]: Add Azp for DASH (#2501) (8 weeks ago) [Ze Gan]
* 2d1972f2 - (conflict)orchagent: DASH changes (#2459) (8 weeks ago) [prabhataravind]
* acf0fe42 - [DPU] Fix unit tests compilation after merge from master branch. (#2478) (8 weeks ago) [Oleksandr Ivantsiv]
* 22c62f63 - (conflict)[DPU] Simplify SWSS initialization to meet DPU requirements. (#2440) (8 weeks ago) [Oleksandr Ivantsiv]
```

sonic-sairedis
```
* cfa8da4 - (HEAD -> master, origin/master, origin/HEAD) Add extra parameter to pass vendor LDFLAGS for libsai.so (#1291) (3 days ago) [Kamil Cudnik]
* 8046908 - [CRM][DASH] Add the possibility of querying availability for OIDs. (#1245) (5 days ago) [Oleksandr Ivantsiv]
* 9547060 - Install nlohmann-json3-dev package for codeql (#1290) (10 days ago) [Saikrishna Arcot]
* f3b4dd5 - Use json.hpp from nlohmann-json-dev instead of swss-common (#1289) (11 days ago) [Saikrishna Arcot]
* 40c9d13 - [azp] Update az pipeline for swss docker to add syslog (#1287) (2 weeks ago) [Kamil Cudnik]
* 4c2527f - port counter support on sonic-vs (#1275) (3 weeks ago) [Vishnu Shetty]
* 92c58cf - [Azp]: Change default branch to build_branch (#1279) (4 weeks ago) [Ze Gan]
* 7178fb6 - [submodule] Update SAI to latest v1.12 branch (#1284) (4 weeks ago) [Oleksandr Ivantsiv]
* 52247b9 - [syncd] Fix missing comma (#1278) (4 weeks ago) [Kamil Cudnik]
* 44cd8c4 - [azp] Attempt to fix swss missing libs (#1277) (4 weeks ago) [Ze Gan]
* ee308bb - [submodule] Update SAI to latest v1.12 branch (#1272) (5 weeks ago) [Kamil Cudnik]
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants