@@ -5889,22 +5889,86 @@ Go Back To [Beginning of the document](#) or [Beginning of this section](#pfc-wa
5889
5889
5890
5890
### Platform Component Firmware show commands
5891
5891
5892
- **show platform firmware**
5892
+ **show platform firmware status **
5893
5893
5894
5894
This command displays platform components firmware status information.
5895
5895
5896
5896
- Usage:
5897
5897
```bash
5898
- show platform firmware
5898
+ show platform firmware status
5899
5899
```
5900
5900
5901
5901
- Example:
5902
5902
``` bash
5903
- admin@sonic:~ $ show platform firmware
5903
+ admin@sonic:~ $ sudo show platform firmware status
5904
5904
Chassis Module Component Version Description
5905
- --------- -------- ----------- ----------------------- ---------------------------------------
5906
- Chassis1 N/A BIOS 0ACLH004_02.02.007_9600 BIOS - Basic Input/Output System
5907
- CPLD 5.3.3.1 CPLD - includes all CPLDs in the switch
5905
+ --------- -------- ----------- ----------------------- ----------------------------------------
5906
+ MSN3800 N/A ONIE 2020.11-5.2.0022-9600 ONIE - Open Network Install Environment
5907
+ SSD 0202-000 SSD - Solid-State Drive
5908
+ BIOS 0ACLH004_02.02.008_9600 BIOS - Basic Input/Output System
5909
+ CPLD1 CPLD000120_REV0900 CPLD - Complex Programmable Logic Device
5910
+ CPLD2 CPLD000165_REV0500 CPLD - Complex Programmable Logic Device
5911
+ CPLD3 CPLD000166_REV0300 CPLD - Complex Programmable Logic Device
5912
+ CPLD4 CPLD000167_REV0100 CPLD - Complex Programmable Logic Device
5913
+ ```
5914
+
5915
+ ** show platform firmware updates**
5916
+
5917
+ This command displays platform components firmware updates information.
5918
+
5919
+ - Usage:
5920
+ ``` bash
5921
+ show platform firmware updates [-i| --image]
5922
+ ```
5923
+
5924
+ - Options:
5925
+ - _ -i|--image_ : show updates using current/next SONiC image
5926
+
5927
+ Valid values:
5928
+ - current
5929
+ - next
5930
+
5931
+ Default:
5932
+ - current
5933
+
5934
+ - Example:
5935
+ ``` bash
5936
+ admin@sonic:~ $ sudo show platform firmware updates
5937
+ Chassis Module Component Firmware Version (Current/Available) Status
5938
+ --------- -------- ----------- ------------------------------------------ ------------------------------------------------- ------------------
5939
+ MSN3800 N/A ONIE /usr/local/lib/firmware/mellanox/onie.bin 2020.11-5.2.0022-9600 / 2020.11-5.2.0024-9600 update is required
5940
+ SSD /usr/local/lib/firmware/mellanox/ssd.bin 0202-000 / 0204-000 update is required
5941
+ BIOS /usr/local/lib/firmware/mellanox/bios.bin 0ACLH004_02.02.008_9600 / 0ACLH004_02.02.010_9600 update is required
5942
+ CPLD1 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000120_REV0900 / CPLD000120_REV0900 up-to-date
5943
+ CPLD2 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000165_REV0500 / CPLD000165_REV0500 up-to-date
5944
+ CPLD3 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000166_REV0300 / CPLD000166_REV0300 up-to-date
5945
+ CPLD4 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000167_REV0100 / CPLD000167_REV0100 up-to-date
5946
+ ```
5947
+
5948
+ - Note:
5949
+ - current/next values for _ -i|--image_ are taken from ` sonic-installer list `
5950
+ ``` bash
5951
+ admin@sonic:~ $ sudo sonic-installer list
5952
+ Current: SONiC-OS-202012.0-fb89c28c9
5953
+ Next: SONiC-OS-201911.0-2bec3004e
5954
+ Available:
5955
+ SONiC-OS-202012.0-fb89c28c9
5956
+ SONiC-OS-201911.0-2bec3004e
5957
+ ```
5958
+
5959
+ ** show platform firmware version**
5960
+
5961
+ This command displays platform components firmware utility version.
5962
+
5963
+ - Usage:
5964
+ ``` bash
5965
+ show platform firmware version
5966
+ ```
5967
+
5968
+ - Example:
5969
+ ``` bash
5970
+ admin@sonic:~ $ show platform firmware version
5971
+ fwutil version 2.0.0.0
5908
5972
```
5909
5973
5910
5974
### Platform Component Firmware config commands
@@ -5920,30 +5984,35 @@ config platform firmware install chassis component <component_name> fw <fw_path>
5920
5984
config platform firmware install module < module_name> component < component_name> fw < fw_path> [-y| --yes]
5921
5985
```
5922
5986
5987
+ - Options:
5988
+ - _ -y|--yes_ : automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively
5989
+
5923
5990
- Example:
5924
5991
``` bash
5925
- admin@sonic:~ $ sudo config platform firmware install chassis component BIOS fw /etc/mlnx/fw/sn3800/chassis1/bios.bin
5992
+ admin@sonic:~ $ sudo config platform firmware install chassis component BIOS fw /usr/local/lib/firmware/mellanox/sn3800/chassis1/bios.bin
5993
+ Warning: Immediate cold reboot is required to complete BIOS firmware update.
5926
5994
New firmware will be installed, continue? [y/N]: y
5927
5995
Installing firmware:
5928
- /etc/mlnx/fw /sn3800/chassis1/bios.bin
5996
+ /usr/local/lib/firmware/mellanox /sn3800/chassis1/bios.bin
5929
5997
5930
- admin@sonic:~ $ sudo config platform firmware install module Module1 component BIOS fw http://mellanox.com/fw/sn3800/module1/bios.bin
5998
+ admin@sonic:~ $ sudo config platform firmware install module Module1 component BIOS fw https://www.mellanox.com/fw/sn3800/module1/bios.bin
5999
+ Warning: Immediate cold reboot is required to complete BIOS firmware update.
5931
6000
New firmware will be installed, continue? [y/N]: y
5932
6001
Downloading firmware:
5933
6002
[# #################################################] 100%
5934
6003
Installing firmware:
5935
6004
/tmp/bios.bin
5936
6005
` ` `
5937
6006
5938
- Supported options :
5939
- 1. -y | --yes - automatic yes to prompts. Assume " yes " as answer to all prompts and run non-interactively
6007
+ - Note :
6008
+ - < fw_path > can be absolute path or URL
5940
6009
5941
6010
** config platform firmware update**
5942
6011
5943
- This command is used for automatic FW update of all available platform components .
6012
+ This command is used to update a platform component firmware from current/next SONiC image .
5944
6013
Both modular and non modular chassis platforms are supported.
5945
6014
5946
- Automatic FW update requires ` platform_components.json` to be created and placed at:
6015
+ FW update requires ` platform_components.json` to be created and placed at:
5947
6016
sonic-buildimage/device/< platform_name> /< onie_platform> /platform_components.json
5948
6017
5949
6018
Example:
@@ -5954,19 +6023,16 @@ Example:
5954
6023
" Chassis1" : {
5955
6024
" component" : {
5956
6025
" BIOS" : {
5957
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/chassis1/bios.bin" ,
5958
- " version" : " 0ACLH003_02.02.010" ,
5959
- " info" : " Cold reboot is required"
6026
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/chassis1/bios.bin" ,
6027
+ " version" : " <bios_version>"
5960
6028
},
5961
6029
" CPLD" : {
5962
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/chassis1/cpld.bin" ,
5963
- " version" : " 10" ,
5964
- " info" : " Power cycle is required"
6030
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/chassis1/cpld.bin" ,
6031
+ " version" : " <cpld_version>"
5965
6032
},
5966
6033
" FPGA" : {
5967
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/chassis1/fpga.bin" ,
5968
- " version" : " 5" ,
5969
- " info" : " Power cycle is required"
6034
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/chassis1/fpga.bin" ,
6035
+ " version" : " <fpga_version>"
5970
6036
}
5971
6037
}
5972
6038
}
@@ -5981,19 +6047,16 @@ Example:
5981
6047
" Chassis1" : {
5982
6048
" component" : {
5983
6049
" BIOS" : {
5984
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/chassis1/bios.bin" ,
5985
- " version" : " 0ACLH003_02.02.010" ,
5986
- " info" : " Cold reboot is required"
6050
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/chassis1/bios.bin" ,
6051
+ " version" : " <bios_version>"
5987
6052
},
5988
6053
" CPLD" : {
5989
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/chassis1/cpld.bin" ,
5990
- " version" : " 10" ,
5991
- " info" : " Power cycle is required"
6054
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/chassis1/cpld.bin" ,
6055
+ " version" : " <cpld_version>"
5992
6056
},
5993
6057
" FPGA" : {
5994
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/chassis1/fpga.bin" ,
5995
- " version" : " 5" ,
5996
- " info" : " Power cycle is required"
6058
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/chassis1/fpga.bin" ,
6059
+ " version" : " <fpga_version>"
5997
6060
}
5998
6061
}
5999
6062
}
@@ -6002,51 +6065,64 @@ Example:
6002
6065
" Module1" : {
6003
6066
" component" : {
6004
6067
" CPLD" : {
6005
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/module1/cpld.bin" ,
6006
- " version" : " 10" ,
6007
- " info" : " Power cycle is required"
6068
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/module1/cpld.bin" ,
6069
+ " version" : " <cpld_version>"
6008
6070
},
6009
6071
" FPGA" : {
6010
- " firmware" : " /etc/<platform_name>/fw/<onie_platform>/module1/fpga.bin" ,
6011
- " version" : " 5" ,
6012
- " info" : " Power cycle is required"
6072
+ " firmware" : " /usr/local/lib/firmware/<platform_name>/<onie_platform>/module1/fpga.bin" ,
6073
+ " version" : " <fpga_version>"
6013
6074
}
6014
6075
}
6015
6076
}
6016
6077
}
6017
6078
}
6018
6079
` ` `
6019
6080
6020
- Note: FW update will be skipped if component definition is not provided (e.g., ' BIOS' : { })
6021
-
6022
6081
- Usage:
6023
6082
` ` ` bash
6024
- config platform firmware update [-y| --yes] [-f| --force] [-i| --image= current| next]
6083
+ config platform firmware update chassis component < component_name> fw [-y| --yes] [-f| --force] [-i| --image]
6084
+ config platform firmware update module < module_name> component < component_name> fw [-y| --yes] [-f| --force] [-i| --image]
6025
6085
` ` `
6026
6086
6087
+ - Options:
6088
+ - _-y| --yes_: automatic yes to prompts. Assume " yes" as answer to all prompts and run non-interactively
6089
+ - _-f| --force_: update FW regardless the current version
6090
+ - _-i| --image_: update FW using current/next SONiC image
6091
+
6092
+ Valid values:
6093
+ - current
6094
+ - next
6095
+
6096
+ Default:
6097
+ - current
6098
+
6027
6099
- Example:
6028
6100
` ` ` bash
6029
- admin@sonic:~ $ sudo config platform firmware update
6030
- Chassis Module Component Firmware Version Status Info
6031
- --------- -------- ----------- ------------------------------------- ------------------------------------------------- ------------------ -----------------------
6032
- Chassis1 N/A BIOS /etc/mlnx/fw/sn3800/chassis1/bios.bin 0ACLH004_02.02.007_9600 / 0ACLH004_02.02.007_9600 up-to-date Cold reboot is required
6033
- CPLD /etc/mlnx/fw/sn3800/chassis1/cpld.bin 5.3.3.1 / 5.3.3.2 update is required Power cycle is required
6101
+ admin@sonic:~ $ sudo config platform firmware update chassis component BIOS fw
6102
+ Warning: Immediate cold reboot is required to complete BIOS firmware update.
6034
6103
New firmware will be installed, continue? [y/N]: y
6104
+ Updating firmware:
6105
+ /usr/local/lib/firmware/mellanox/x86_64-mlnx_msn3800-r0/chassis1/bios.bin
6035
6106
6036
- Summary:
6037
-
6038
- Chassis Module Component Status
6039
- --------- -------- ----------- ----------
6040
- Chassis1 N/A BIOS up-to-date
6041
- CPLD success
6107
+ admin@sonic:~ $ sudo config platform firmware update module Module1 component BIOS fw
6108
+ Warning: Immediate cold reboot is required to complete BIOS firmware update.
6109
+ New firmware will be installed, continue? [y/N]: y
6110
+ Updating firmware:
6111
+ /usr/local/lib/firmware/mellanox/x86_64-mlnx_msn3800-r0/module1/bios.bin
6042
6112
` ` `
6043
6113
6044
- Supported options:
6045
- 1. -y| --yes - automatic yes to prompts. Assume " yes" as answer to all prompts and run non-interactively
6046
- 2. -f| --force - install FW regardless the current version
6047
- 3. -i| --image - update FW using current/next SONiC image
6048
-
6049
- Note: the default option is --image=current (current/next values are taken from ` sonic-installer list` )
6114
+ - Note:
6115
+ - FW update will be disabled if component definition is not provided (e.g., ' BIOS' : { })
6116
+ - FW version will be read from image if ` version` field is not provided
6117
+ - current/next values for _-i| --image_ are taken from ` sonic-installer list`
6118
+ ` ` ` bash
6119
+ admin@sonic:~ $ sudo sonic-installer list
6120
+ Current: SONiC-OS-202012.0-fb89c28c9
6121
+ Next: SONiC-OS-201911.0-2bec3004e
6122
+ Available:
6123
+ SONiC-OS-202012.0-fb89c28c9
6124
+ SONiC-OS-201911.0-2bec3004e
6125
+ ` ` `
6050
6126
6051
6127
# ## Platform Component Firmware vendor specific behaviour
6052
6128
0 commit comments