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

Retrieve FW version using CDB command for CMIS transceivers + handle single bank FW versioning #372

Merged
merged 3 commits into from
May 17, 2023

Conversation

mihirpat1
Copy link
Contributor

@mihirpat1 mihirpat1 commented May 16, 2023

Description

It seems that currently, "sfputil show fwversion" doesn't display the inactive FW version from EEPROM after CDB FW is downloaded on a module with single bank.
We need to display the inactive FW version from EEPROM in such case to ensure that user doesn't re-download the target FW if it is already residing on the module but is not activated.

Also, the TRANSCEIVER_INFO table currently doesn't display the build version for active/inactive FWs.

Motivation and Context

"sfputil show fwversion" doesn't display the inactive FW version from EEPROM after CDB FW is downloaded on the module with single bank. Hence, this PR will track the fix for it.

Also, the TRANSCEIVER_INFO table currently doesn't display the build version for active/inactive FWs. We are now displaying the FW version using CDB command and not through EEPROM to display the build version.

How Has This Been Tested?

Single bank FW o/p

show int transceiver info Ethernet32

Ethernet32: SFP EEPROM detected
Active Firmware: x.y.z
Active application selected code assigned to host lane 1: 1
Active application selected code assigned to host lane 2: 1
Active application selected code assigned to host lane 3: 1
Active application selected code assigned to host lane 4: 1
Active application selected code assigned to host lane 5: 1
Active application selected code assigned to host lane 6: 1
Active application selected code assigned to host lane 7: 1
Active application selected code assigned to host lane 8: 1
Application Advertisement: CAUI-4 C2M (Annex 83E) - Host Assign (0x11) - Active Cable assembly with BER < 5x10^-5 - Media Assign (0x1
1)
CMIS Rev: A.B
Connector: No separable connector
Encoding: N/A
Extended Identifier: Power Class 3 (3.75W Max)
Extended RateSelect Compliance: N/A
Host Lane Count: 4
Identifier: QSFP-DD Double Density 8X Pluggable Transceiver
Inactive Firmware: d.e.0
Length Cable Assembly(m): 6.0
Media Interface Technology: 850 nm VCSEL
Media Lane Count: 4
Module Hardware Rev: 0.0
Nominal Bit Rate(100Mbs): 0
Specification compliance: active_cable_media_interface
Supported Max Laser Frequency: N/A
Supported Max TX Power: N/A
Supported Min Laser Frequency: N/A
Supported Min TX Power: N/A
Vendor Date Code(YYYY-MM-DD Lot): XXXX-XX-XX
Vendor Name: ABC
Vendor OUI: ab-cd-ef
Vendor PN: XXXX-XX-XX
Vendor Rev: XX
Vendor SN: XXXXXXXX

sfputil show fwversion Ethernet32
Image A Version: x.y.z
Image B Version: N/A
Factory Image Version: 0.0.0
Running Image: A
Committed Image: A
Active Firmware: x.y.z
Inactive Firmware: d.e.0

2 Bank module
show int transceiver info Ethernet160
Ethernet160: SFP EEPROM detected
Active Firmware: x.y.z
Active application selected code assigned to host lane 1: 1
Active application selected code assigned to host lane 2: 1
Active application selected code assigned to host lane 3: 1
Active application selected code assigned to host lane 4: 1
Active application selected code assigned to host lane 5: 1
Active application selected code assigned to host lane 6: 1
Active application selected code assigned to host lane 7: 1
Active application selected code assigned to host lane 8: 1
Application Advertisement: 400GAUI-8 C2M (Annex 120E) - Host Assign (0x1) - 400ZR, DWDM, amplified - Media Assign (0x1)
100GAUI-2 C2M (Annex 135G) - Host Assign (0x55) - 400ZR, DWDM, amplified - Media Assign (0x1)
CMIS Rev: A.B
Connector: LC
Encoding: N/A
Extended Identifier: Power Class 8 (18.0W Max)
Extended RateSelect Compliance: N/A
Host Lane Count: 8
Identifier: QSFP-DD Double Density 8X Pluggable Transceiver
Inactive Firmware: d.e.f
Length Cable Assembly(m): 0.0
Media Interface Technology: C-band tunable laser
Media Lane Count: 1
Module Hardware Rev: 0.0
Nominal Bit Rate(100Mbs): 0
Specification compliance: sm_media_interface
Supported Max Laser Frequency: 196100
Supported Max TX Power: -10.2
Supported Min Laser Frequency: 191300
Supported Min TX Power: -14.0
Vendor Date Code(YYYY-MM-DD Lot): XXXX-XX-XX
Vendor Name: ABC
Vendor OUI: ab-cd-ef
Vendor PN: XXXX-XX-XX
Vendor Rev: XX
Vendor SN: XXXXXXXX

sfputil show fwversion Ethernet160
Image A Version: x.y.z
Image B Version: d.e.f
Factory Image Version: x.y.c
Running Image: B
Committed Image: B
Active Firmware: d.e.f
Inactive Firmware: x.y.z

Additional Information (Optional)

@mihirpat1 mihirpat1 changed the title Display Inactive FW version from EEPROM for single bank CMIS transceivers Display FW version using CDB command CMIS transceivers May 16, 2023
@mihirpat1 mihirpat1 changed the title Display FW version using CDB command CMIS transceivers Display FW version using CDB command CMIS transceivers + handle single bank FW versioning May 16, 2023
@mihirpat1 mihirpat1 changed the title Display FW version using CDB command CMIS transceivers + handle single bank FW versioning Retrieve FW version using CDB command for CMIS transceivers + handle single bank FW versioning May 16, 2023
Signed-off-by: Mihir Patel <[email protected]>
@mihirpat1 mihirpat1 requested a review from prgeor May 16, 2023 06:28
@mihirpat1 mihirpat1 marked this pull request as ready for review May 16, 2023 06:28
@prgeor
Copy link
Collaborator

prgeor commented May 16, 2023

@mihirpat1 Can you paste the output for single bank and two-bank modules

  1. show interface transceiver info
  2. sfputil show firmware

@mihirpat1
Copy link
Contributor Author

@mihirpat1 Can you paste the output for single bank and two-bank modules

  1. show interface transceiver info
  2. sfputil show firmware

I have updated the o/p now.

@prgeor prgeor merged commit 9a76bec into sonic-net:master May 17, 2023
yxieca pushed a commit that referenced this pull request May 17, 2023
…single bank FW versioning (#372)

* Display Inactive FW version from EEPROM for single bank CMIS transceivers

Signed-off-by: Mihir Patel <[email protected]>

* Increased code coverage

Signed-off-by: Mihir Patel <[email protected]>

---------

Signed-off-by: Mihir Patel <[email protected]>
yxieca pushed a commit that referenced this pull request Aug 29, 2023
…single bank FW versioning (#372)

* Display Inactive FW version from EEPROM for single bank CMIS transceivers

Signed-off-by: Mihir Patel <[email protected]>

* Increased code coverage

Signed-off-by: Mihir Patel <[email protected]>

---------

Signed-off-by: Mihir Patel <[email protected]>
oleksandrivantsiv pushed a commit to oleksandrivantsiv/sonic-platform-common that referenced this pull request Oct 25, 2024
…onic-net#372)

This PR fixes the other sub routine by adding the param hw_mux_cable_tbl to
handle_config_hwmode_state_cmd_arg_tbl_notification method, since this is called by wrong params

How Has This Been Tested?
UT and testing this on DUT
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.

3 participants