Advertisement
Guest User

Untitled

a guest
Nov 12th, 2022
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.19 KB | None | 0 0
  1.  
  2. ==========
  3. README.TXT
  4. ==========
  5.  
  6. Marvell NetXtreme Firmware Upgrade Tool for Linux
  7. Copyright (c) 2005-2019 Marvell Semiconductor Inc.
  8. All rights reserved.
  9.  
  10.  
  11.  
  12. Table of Contents
  13. =================
  14. 1. Introduction
  15. 2. Requirements
  16. 3. Installation
  17. 4. Supported Operating Systems
  18. 5. Command Usage
  19. 6. Exit Codes
  20. 7. Examples
  21. 8. Known Limitations
  22. 9. Third Party Software License
  23.  
  24.  
  25. 1. Introduction:
  26. ================
  27.  
  28. LnxQlgcUpg.sh is a non-interactive shell script which can be run from a
  29. Linux terminal. This script can ONLY be used to upgrade the firmware components
  30. and it does not require user intervention.
  31. On executing LnxQlgcUpg.sh, it automatically extracts the SDK contents and
  32. initiate the upgrade process. On completion it displays success or failure message
  33. to indicate final result.
  34.  
  35. lnxfwnx2 is a console application which can be run from a Linux terminal.
  36. The application supports both command-line as well as interactive mode to interact
  37. with the users.
  38. When calling the utility from another process or when using the utility
  39. as a command line tool, the utility will take commands from user specified
  40. parameters and return appropriate exit code to indicate the result.
  41.  
  42. This module is dependent on device driver and TCL libraries for firmware access.
  43.  
  44.  
  45. 2. Requirements:
  46. ================
  47.  
  48. 1. Driver Versions:
  49. a). For E3 controller:
  50. bnx2 Linux driver version 1.4.41 or above.
  51.  
  52. b). For E4 controller:
  53. qed Linux driver version 8.3.4.0 or above.
  54. qede Linux driver version 8.3.4.0 or above.
  55. qede(inbox) Linux driver version 8.33.0.20 on RHEL7.6, RHEL8.0, SLES12.4, SLES15.1 and higher
  56. (Note: The 41xxx/45xxx QeD/QeDe Linux drivers need to be upgraded in order to run upgrade using LnxQlgcUpg.sh
  57. Do not use the in-box 41xxx/45xxx QeD/QeDe drivers with the LnxQlgcUpg.sh)
  58.  
  59. b). For E4-AHP controller:
  60. qed Linux driver version 8.60.12.0 or above.
  61. qede Linux driver version 8.60.12.0 or above.
  62.  
  63. Please refer to README.TXT of the target driver for installation instruction.
  64.  
  65. 2. For v2.4.1 or later
  66. libncurses.so.5 and libtinfo.so.5 are needed.
  67. Please use 'ldd lnxfwnx2' to find the dependency of these libraries.
  68.  
  69. 3. PHY Firmware can be upgraded only if the corresponding INTERFACES ARE UP.
  70. Please use the following command to up the interface.
  71. #ifconfig p6p1 up p6p1 => is the interface that need to be made up / down
  72. #ifconfig p6p1 down
  73.  
  74. 4. For RHEL7.9, RHEL8.3, SLES15SP2 and later OSes and using inbox drivers, please use FwUpg tool v2.11.3 or above
  75. Earlier version of FwUpg tool will not launch on above mentioned OSes having inbox drivers.
  76.  
  77. 3. Installation:
  78. ================
  79. 1. Non-interactive upgrade : No installation required
  80. Files required for Non-interactive upgrade:
  81. 1) lnxfwnx2-{arch}.sdk.tgz - SDK Package
  82. 2) LnxQlgcUpg.sh - Script file
  83. 3) Marvell provided MBI file
  84. Note: LnxQlgcUpg.sh requires MBI (multi-boot image) file to be present in same folder
  85. as LnxQlgcUpg.sh script file.
  86.  
  87. 2. Manual mode
  88. To install lnxfwnx2 SDK package.
  89. a. On terminal execute cmd 'tar -zxvf lnxfwnx2-{arch}.sdk.tgz' to untar the
  90. package.
  91.  
  92. The files included in the sdk package are:
  93. 1) lnxfwnx2 - This upgrade utility program
  94. 2) libtcl8.6.8.so - Dependent TCL library
  95. 3) Readme.txt - This file.
  96. 4) Release.txt - Release Notes
  97. 5) qlgc_pci.ids - PCI ID file for adapter identification
  98.  
  99. 4. Supported Operating Systems:
  100. ===============================
  101. OS Name OS Type Hardware Platform
  102. ------------------------ ------------ --------------------
  103. * Red Hat RHEL AS/ES 8.x 64-bit x64
  104. * Red Hat RHEL AS/ES 7.x 64-bit x64
  105. * Red Hat RHEL AS/ES 6.x 32-bit x86
  106. * Red Hat RHEL AS/ES 6.x 64-bit x64
  107. * Red Hat RHEL AS/ES 5.8 32-bit x86
  108. * Red Hat RHEL AS/ES 5.8 64-bit x64
  109. * Red Hat RHEL AS/ES 5.7 32-bit x86
  110. * Red Hat RHEL AS/ES 5.7 64-bit x64
  111. * Red Hat RHEL AS/ES 5.6 32-bit x86
  112. * Red Hat RHEL AS/ES 5.6 64-bit x64
  113.  
  114. * Novell SLES 15 SP2/SP1 64-bit x64
  115. * Novell SLES 12 SP4/SP3/SP1 64-bit x64
  116. * Novell SLES 11 SP2/SP1 32-bit x86
  117. * Novell SLES 11 SP2/SP1 64-bit x64
  118.  
  119.  
  120. 5. Command Usage:
  121. =================
  122.  
  123. 5.a Non-interactive upgrade
  124. ---------------------
  125. After installation run the shell script.
  126.  
  127. ./LnxQlgcUpg.sh
  128.  
  129. The script identifies the supported Marvell Adapters and upgrades all the firmware
  130. components on all applicable adapters in a system.
  131.  
  132. 5.b Manual mode
  133. ------------------------
  134. Notes:
  135. 1) Some of the commands are not supported for E4 and E4-AHP controllers.
  136. 2) For more information, please refer to the section 4.a.1 to view the
  137. list of unavailable commands for E4 and E4-AHP.
  138.  
  139. Usage:
  140. ------
  141. lnxfwnx2 provides both command-line and interactive mode to the user.
  142.  
  143. lnxfwnx2 { -all | [ID | MAC] } [Commands]
  144. The '-all' option applies to 'upgrade', 'restorenvram', 'cfg' and
  145. 'factory_defaults' commands only.
  146.  
  147. The 'ID/MAC' option is used to select the adapter for the command to apply.
  148. It can be omitted if there is only one adapter in the system.
  149.  
  150. The ID/MAC is optional for 'help', 'version', and 'dev' commands,
  151. but it is required for all other commands.
  152.  
  153. 1. When '-all' is specified, 'ID' or 'MAC' cannot be specified.
  154. Commands 'upgrade', 'restorenvram', cfg and factory_defaults will use
  155. the device information in the image to apply to all NICs that match the
  156. same device information.
  157.  
  158. 2. On Linux, 'ID' is the the interface name (i.e. ethX).
  159.  
  160. 3. 'MAC' is the MAC address name of the NIC in the system. For example,
  161. '00:10:18:00:11:99' is a valid MAC address from 'ifconfig' utility.
  162. Use '001018001199' as an input parameter to select the NIC.
  163.  
  164. 5.b.1. Available commands:
  165. ---------------------------------------------------------------------
  166. The following is the list of commands for E3, E4 and E4-AHP controllers.
  167.  
  168. Command Name : General Command Description : Command Support/Availability
  169. ---------------- --------------------------------------------- ----------------------------------
  170. [E3] [E4-OOB drv] [E4-inbox drv] [E4-AHP OOB]
  171. ----- ----------- ------------ ---------
  172. help : list of available commands : Yes Yes Yes Yes
  173. q : exit the program : Yes Yes Yes Yes
  174. log : log output to a file : Yes Yes Yes Yes
  175. dev : select an adapter or List available adapters : Yes Yes Yes Yes
  176. dir : display file directory in NVRAM : Yes Yes No Yes
  177. crc : check/update NVRAM checksum : Yes Yes No Yes
  178. prg : Program NVRAM with specified firmware image : Yes No No No
  179. dumpnvram : save entire NVRAM content or MDUMP image : Yes Yes No Yes
  180. to a specified file
  181. restorenvram : restore entire NVRAM content from a file : Yes No No No
  182. version : display version of this program : Yes Yes Yes Yes
  183. upgrade : upgrades the firmware or bootcode : Yes Yes Yes Yes
  184. reset : reset the selected NIC. : Yes Yes Yes Yes
  185. -w : Enable/Disable WOL : Yes Yes Yes Yes
  186. cfg : Configure NVRAM : Yes Yes Yes Yes
  187. phy : Upgrade PHY firmware : Yes Yes Yes Yes
  188. info : Displays the general information : Yes Yes No Yes
  189. factory_defaults : Restore NVM_CFG1 to factory default settings : No Yes Yes Yes
  190. update_cfg : Update NVM_CFG and META firmware images : No Yes Yes No
  191. xml : export the firmware versions in xml file : Yes Yes Yes Yes
  192. vlant : Creates an empty VLAN Table in NVRAM : Yes No No No
  193.  
  194. 5.2. Command usage discription with options:
  195. --------------------------------------------
  196.  
  197. upgrade [-noreset] [-F] {-bc|-mba|-ipmi|-ump|-ncsi|-m_pn|-ib|-ib_ipv6|
  198. -ib_ipv4n6|-l2t|-mfw1|-mfw|-feb|-vpd|-ccm}
  199. [-c] [-p] {<new_image>} [<save_image>]
  200. This command upgrades the firmware or bootcode for
  201. the NetXtreme II controller. The <new_image> specifies
  202. the name of the file that contains the appropriate image.
  203. The <save_image> specifies the name of the file to which the
  204. current NVRAM contents will be saved.
  205. The <new_image> is a mandatory parameter, but the <save_image> is an optional parameter.
  206. The current NVRAM content will NOT be saved if the <save_image> is not specified.
  207. Use forwardslash instead of backslash when specifying file path.
  208. Alternatively you could also use two backslashes in the file path.
  209. Use file/directory paths without quotes/spaces.
  210. If the upgrade version is same or older than the version
  211. in NVRAM, upgrade will be aborted.
  212. The -noreset option is to skip the driver restart of the selected
  213. NIC after the firmware upgrade is completed. This option is only
  214. valid in Command Line Mode.
  215. If there an error in upgrading any component of MBI image, upgrade process will be
  216. be aborted immediatly.
  217. The -F option is to force the upgrade without checking version.
  218. OPTION NAME OF FIRMWARE OR BOOT IMAGE
  219. -bc bootcode
  220. -mfw1 bootcode + NCSI firmware for BCM57712 and above
  221. -mfw Upgrade MFW firmware
  222. -mba MBA (PXE) code
  223. -l2t L2 firmware for BCM5771x adapter
  224. -ipmi IPMI management firmware
  225. -ump UMP management firmware
  226. -ncsi NCSI management firmware
  227. -m_pn I/O module file for BCM5771x adapter
  228. -ib iSCSI boot driver with IPv4 address support.
  229. -ib_ipv6 iSCSI boot driver with IPv6 address support.
  230. -ib_ipv4n6 iSCSI boot driver with IPv4 and IPv6 address support.
  231. -feb FCoE boot code.
  232. -vpd Extended VPD.
  233. -ccm CCM firmware.
  234. -mbi Monolithic Image.
  235. The [-c], [-p] option is valid only when "-ib/-ib_ipv6/-ib_ipv4n6" option is specified.
  236. The [-c] option is also valid when "-feb" option is specified.
  237. -c upgrade the iSCSI/FCoE configuration along with
  238. iSCSI/FCoE boot code.
  239. The '-ib', '-ib_ipv6', and '-ib_ipv4n6' will add/
  240. upgrade the iSCSI configuration automatically.
  241. The '-feb' will add/upgrade the FCoE configuration
  242. automatically. This option is obsolete and no longer
  243. necessary.
  244. This option does not have effect any more.
  245. -p upgrade the iSCSI configuration program along
  246. with iSCSI boot code. This option is obsolete and
  247. no longer necessary.
  248. Note:
  249. For E4 controller, the ONLY availabe options are -mba, -mfw, -mbi.
  250.  
  251. reset
  252. Reset the selected NIC. This command is only valid in Command Line Mode.
  253.  
  254. -w {<value>}
  255. The function enables or disables WOL setting.
  256. <value> set to '1' to enable WOL.
  257. <value> set to '0' to disable WOL.
  258.  
  259. restorenvram {<filename>} [idmatch] [lic] [config [mac]] [preserve [vpd]]
  260. This command reads complete NVRAM image from a file and
  261. writes the image to NVRAM.
  262. Before writing the NVRAM image to adapter, verifications
  263. against source NVRAM image will be performed. If any verification
  264. failed, the image will not be written to adapter.
  265. <filename> is the file name of NVRAM image.
  266. <filename> is a mandatory parameter. Use forwardslash instead of
  267. backslash when specifying <filename>. Alternatively you could also
  268. use two backslashes in the file path. Use file/directory paths
  269. without quotes/spaces.
  270. 'idmatch' requests the Firmware Upgrade Tool to restore the NVRAM
  271. image only if the 4 IDs (vendor_id, device_id, subsystem_vendor_id,
  272. subsystem_device_id) in the image file match those in the device.
  273. 'lic' means licencing information will be copied from
  274. the source image, without this parameter it's preserved.
  275. 'config' means configuration area will copy from source
  276. image except MAC address.
  277. Configuration area includes MAC address and various
  278. options.
  279. 'mac' applies only when 'config' is specified.
  280. When 'mac' is specified, all configuration are copied
  281. including MAC address.
  282. 'preserve' means all other components will be copied from
  283. the source image except for the parameters supplied\r\n"
  284. after this command.
  285. 'vpd' is applicable with 'preserve' option. When 'vpd' is
  286. specified, vpd information of nvram is preserved.
  287.  
  288. dumpnvram {<filename>}
  289. Dumps the NVRAM contents or MDUMP image to the specified file.
  290. if "mdump" option is not specified then dump the entire NVMRAM contents
  291. to specified file.
  292. <filename> is a mandatory parameter. Use forwardslash instead of
  293. backslash when specifying <filename>. Alternatively you could also
  294. use two backslashes in the file path. Use file/directory paths
  295. without quotes/spaces.
  296.  
  297. prg {-ib|-ib_ipv6|-ib_ipv4n6|-mba|-ccm} {<new_image>} [-c] [-p]
  298. This command programs NVRAM with the specified firmware image.
  299. -ib : iSCSI boot driver with IPv4 address support.
  300. -ib_ipv6 : iSCSI boot driver with IPv6 address support.
  301. -ib_ipv4n6 : iSCSI boot driver with both IPv4 and IPv6 address support.
  302. -mba : MBA firmware
  303. -ccm : CCM firmware
  304. <new_image>: a mandatory parameter to specify the input binary file.
  305. -c : force to program iSCSI configuration, only valid when
  306. used with -ib, -ib_ipv6, or ip_ipv4n6 option.
  307. -p : force to program iSCSI configuration utility program, only
  308. valid when used with -ib, -ib_ipv6, or ip_ipv4n6 option.
  309. Note: 'prg' command only supports selective Marvell adapters.
  310. The image file for the 'prg {-ib|-ib_ipv6|-ib_ipv4n6}' command
  311. is required to contain ONLY valid iSCSI boot without other
  312. firmware directories.
  313.  
  314. crc [-all] {-mbi} {mbi_file}
  315. Performs the CRC check to verify the integrity of the NVRAM.
  316. -all : Performs CRC check on all the adapters present on the system.
  317. -mbi : To selectively perform CRC check on selected adapters
  318. <mbi_file> : crc check will be performed on adapters supported by MBI and
  319. present on system.
  320. Above options are only available in cmd line mode.
  321.  
  322. dir [-delete <entry>]
  323. Displays a listing of the firmware programmed in NVRAM.
  324. Delete the specified <entry> in the directory and its firmware from NVRAM.
  325. The <entry> can be found from 'Image' list using the 'dir' command.
  326. The user should use 'cfg' command to disable the management option before
  327. removing the management firmware.
  328. -all : Displays listing of the firmware in NVRAM for all the adapters present on the system.
  329. -mbi : To display listing of the firmwares in NVRAM for selected adapters
  330. <mbi_file> : dir will be performed on adapters supported by MBI and present on system.
  331. Above options are only available in cmd line mode.
  332.  
  333. dev [<number>]
  334. <number> is the adapter to be selected as target device
  335.  
  336. cfg [-noreset] {-mac <MAC address to be programmed for current selected device> |
  337. -lldpmac <LLDP MAC address to be programmed for current selected port> |
  338. -mba <value> | -ipmi <value> | -ump <value> | -wol <value> | -2p5g <value> |
  339. -mgmt <value> | -dcbx <value> | -shadow_swim <value> |
  340. -sriov_hide_menu <value> | -sriov <value> | -revid_ctl <value> |
  341. -vf_per_pf <value> | -vpdv0 <version string> | -bar2size | -show [show_option]}
  342. This command programs the specified configuration into NVRAM.
  343. The -ipmi, -ump, and -mgmt are used to enable/disable the
  344. management firmware which can be one of ipmi, ump, or ncsi.
  345. Both "-ipmi" and "-ump" are deprecated in favor of the "-mgmt".
  346. The user should not enable MGMT option in the absence of the
  347. management firmware.
  348.  
  349. The -noreset option is to skip the driver restart of the selected
  350. NIC after the 'cfg' operation is completed. This option is only
  351. valid in Command Line Mode.
  352.  
  353. -mac : <MAC address for current selected device> is a
  354. 12-digit HEX MAC address, e.g. 0010181a2b3c.
  355. This option is valid for BCM57712 or later NICs.
  356. -lldpmac : <LLDP MAC address for current selected port> is a
  357. 12-digit HEX MAC address, e.g. 0010181a2b3c.
  358. This option is valid for 579xx and QL4xxxx NICs.
  359. -mba : set <value> to '1' to enable mba firmware.
  360. set <value> to '0' to disable mba firmware.
  361. This option is valid for BCM57712 and 578xx NICs.
  362. -ipmi : set <value> to '1' to enable management firmware.
  363. set <value> to '0' to disable management firmware.
  364. This option is valid for BCM57712 NICs.
  365. -ump : set <value> to '1' to enable management firmware.
  366. set <value> to '0' to disable management firmware.
  367. This option is valid for BCM57712 NICs.
  368. -mgmt : set <value> to '1' to enable management firmware.
  369. set <value> to '0' to disable management firmware.
  370. This option is valid for BCM57712 NICs.
  371. -wol : set <value> to '1' to enable wol feature.
  372. set <value> to '0' to disable wol feature.
  373. -2p5g : set <value> to '1' to enable 2.5G SERDES support.
  374. set <value> to '0' to disable 2.5G SERDES support.
  375. This option is valid for BCM5706 NIC.
  376. -dcbx : For BCM57712 and 578xx NICs:
  377. set <value> to '1' to enable DCBX functionality.
  378. set <value> to '0' to disable DCBX functionality.
  379. For 579xx and QL4xxxx NICs:
  380. set <value> to '0' to disable DCBX functionality.
  381. set <value> to '1' to select IEEE mode.
  382. set <value> to '2' to select CEE mode.
  383. set <value> to '3' to select Dynamic mode.
  384. -shadow_swim: set <value> to '1' to enable Shadow SWIM functionality.
  385. set <value> to '0' to disable Shadow SWIM functionality.
  386. This option is valid for BCM57712 or 578xx.
  387. -sriov_hide_menu: set <value> to '1' to hide SRIOV menu.
  388. set <value> to '0' to show SRIOV menu.
  389. This option is valid for BCM57712 and 578xx NICs.
  390. -sriov : set <value> to '1' to enable SRIOV.
  391. set <value> to '0' to disable SRIOV.
  392. This option is valid for BCM57712 or later NIC.
  393. -vf_per_pf : set the number of VF per PF.
  394. This option is valid for BCM57712 and 578xx NICs.
  395. -vpdv0 : set <version string> to VPD V0 tag.
  396. <version string> should be in x.y.z format.
  397. This option is valid for BCM57712 or later NIC.
  398. -revid_ctl : set <value> to '0' to preserve revision Id.
  399. set <value> to '1' for actual revision Id.
  400. set <value> to '2' to force B0.
  401. set <value> to '3' to force B1.
  402. This option is valid for 578xx NIC.
  403. -rdma_enablement : set <value> to '0' to disable RDMA.
  404. set <value> to '1' to enable RoCE.
  405. set <value> to '2' to enable iWarp.
  406. set <value> to '3' to enable both RoCE and iWarp.
  407. This option is valid for 579xx and QL4xxxx NICs.
  408. -roce_priority_mode : set <value> from '0' to '7' to set ROCE priority mode.
  409. This option is valid for 579xx and QL4xxxx NICs.
  410. -mba_boot_protocol : set <value> to '0' for PXE boot.
  411. set <value> to '3' for iSCSI boot.
  412. set <value> to '4' for FCoE boot.
  413. set <value> to '7' for None.
  414. This option is valid for 579xx and QL4xxxx NICs.
  415. -bar2size: set <value> as per following table:
  416. For 579xx based adapters:
  417. 0 (Disabled), 1 (64K), 2 (128K), 3 (256K),
  418. 4 (512K), 5 (1M), 6 (2M), 7 (4M), 8 (8M), 9 (16M),
  419. 10 (32M), 11 (64M), 12 (128M), 13 (256M),
  420. 14(512M), 15(1G)
  421. For QL4xxxx based adapters:
  422. 0 (Disabled), 5 (1M), 6 (2M), 7 (4M), 8 (8M),
  423. 9 (16M), 10 (32M), 11 (64M), 12 (128M),
  424. 13 (256M), 14 (512M), 15 (1G)\r\n"
  425. This option is valid for 579xx and QL4xxxx NICs.
  426. -show : show the settings of current configuration.
  427. If 'show_option' is specified, it will show the
  428. setting of the specified option,
  429. <show_option> 'sriov' will display whether SRIOV is enabled or disabled
  430. <show_option> 'vf_per_pf' will display VF per PF setting
  431. <show_option> 'manuf_kit_ver' will display manufacture kit version
  432. <show_option> 'manuf_date' will display manufacture date
  433.  
  434. phy {-ver | -upg <filename> }
  435. This command can display the firmware version of external PHY or
  436. upgrade the PHY firmware. After upgrading the PHY firmware, a
  437. system reboot is required for the new PHY firmware to become
  438. effective.
  439.  
  440. -w {<value>}
  441. The function enables or disables WOL setting.
  442. <value> set to '1' to enable WOL.
  443. <value> set to '0' to disable WOL.
  444.  
  445. factory_defaults
  446. Reset the selected NIC NVM_CFG1 to factory defaults settings.
  447. This command is only valid for E4 and E4-AHP adapters.
  448. Limitations of factory_defaults:
  449. - In the interactive mode even though factory_defaults is percieved to be executed on port
  450. basis but the changes will be reflected on all the ports.
  451. - The cmd can’t handle user changes on options which changed their type. E.g. if a user
  452. made a change on an option that was changed from per-port to per-function, then a new
  453. per-function option will be created in the new NVM_CFG1 (the pre-port option is obsolete).
  454. The new per-function option will be set to its default value and not to the user’s change
  455. value of the obsolete per-port option, since the tool can’t relate this option to the old
  456. obsolete option.
  457.  
  458. update_cfg [<nvm_cfg>.bin <meta>.txt]
  459. This command updates DEFAULT_CFG and NVM_CFG firmware in NVMRAM
  460. The command require both nvm_cfg image (in binary format) and meta image (in txt format)
  461. to update NVM_CFG and DEFAULT_CFG in NVRAM.
  462. This command is only valid for E4 adapters.
  463. - In the interactive mode even though update_cfg is perceived to be executed on port
  464. basis but the changes will be reflected on all the ports.
  465. - While upgrading NVM_CFG, the cmd automatically takes care of the options changed by the user.
  466.  
  467. info
  468. This command displays the following general information.
  469.  
  470. Property Name : Description/Comment
  471. ------------- ---------------------
  472. Temperature : Displays temperature in Celsius for E3 and E4 adapters.
  473. Active SWIM : Displays current active SWIM group for E3 adapters only.
  474.  
  475. xml {xml_file_name} {mbi_file_name}
  476. This cmd will read the firmware versions either from NVRAM or MBI file and export to XML file
  477. -xml_file_name : Name of the XML file to be created
  478. -mbi_file_name : IF valid MBI file is passed then firmware versions are read from MBI file and
  479. exported to XML ELSE firmware versions are read from NVRAM and exported to XML
  480.  
  481. vlant {[-reset] [-delete]}
  482. If VLAN table is not present in NVRAM then this cmd will create an empty VLAN Table in NVRAM.
  483. This command is only available for E3 adapters.
  484. -reset : clears all the entries in VLAN table
  485. -delete : deletes VLAN table from NVRAM
  486.  
  487. 6. Exit Codes:
  488. ==============
  489.  
  490. /////////////////////////////////////////////////////////////////////////
  491. // Return codes
  492. #define FWUPG_OK 0 // Upgrade firmware OK
  493. #define FWUPG_QUIT 1 // Quit program
  494. #define FWUPG_PARAM_ERROR 2 // Not correct parameters
  495. #define FWUPG_NOT_CORRECT_TARGET 3 // Not applicable to this device.
  496. #define FWUPG_CANNOT_READ_NVRAM 4 // Cannot read NVRAM
  497. #define FWUPG_FAILED_GET_NVRAM_SIZE 5 // Cannot get NVRAM size
  498. #define FWUPG_CANNOT_GET_HANDLE 6 // Cannot get NIC handle
  499. #define FWUPG_ADAPTER_NOT_FOUND 7 // Adapter not found
  500. #define FWUPG_CANNOT_LOCK_ADAPTER 8 // Cannot lock adapter
  501. #define FWUPG_FAILED_GET_PXE_INFO 9 // Failed to get PXE
  502. // information
  503. #define FWUPG_FAILED_CREATE_NVRAM_IMAGE_FILE 10 // Failed to create NVRAM
  504. // image file
  505. #define FWUPG_FAILED_WRITE_NVRAM_IMAGE_FILE 11 // Failed to write to
  506. // NVRAM image file
  507. #define FWUPG_GET_CLOSE_EVENT 12 // Get close event
  508. #define FWUPG_FAILED_READ_NVRAM_FILE 13 // Failed to read NVRAM
  509. // image file
  510. #define FWUPG_INIT_FAILED 14 // Initialization failed
  511. #define FWUPG_UNSUPPORTED_QLMAPI_VER 15 // QLMAPI is too old
  512. #define FWUPG_NIC_NOT_SUPPORTED 16 // NIC is not supported
  513. #define FWUPG_UNKNOWN_COMMAND 17 // Unknown command
  514. #define FWUPG_NVRAM_WRITE_FAILED 18 // NVRAM update failed
  515. #define FWUPG_WRONG_NVRAM_FILE_SIZE 19 // NVRAM image file size
  516. #define FWUPG_NVRAM_IMAGE_CHKSUM_FAILED 20 // NVRAM image file
  517. // checksum failed
  518. #define FWUPG_NVRAM_CHKSUM_FAILED 21 // NVRAM crc or checksum failed
  519. #define FWUPG_NVRAM_IMAGE_FILE_DEVID_MISMATCH 22 // device information or media
  520. // type in NVRAM image file
  521. // does not match NIC
  522. #define FWUPG_ASF_NOT_SUPPORTED_BY_BOOTCODE 23 // ASF is not supported by
  523. // the bootcode firmware
  524. #define FWUPG_ASF_NOT_SUPPORTED_BY_NIC 24 // ASF is not supported by
  525. // the NIC hardware
  526. #define FWUPG_DIR_FULL 25 // No NVRAM directory entry
  527. // available
  528. #define FWUPG_INVALID_NVRAM_FILE 26 // Incorrect NVRAM file
  529. // format
  530. #define FWUPG_NVRAM_FULL 27 // not enough NVRAM space
  531. #define FWUPG_DIR_NOT_SUPPORTED 28 // Directory is not
  532. // supported by bootcode
  533. #define FWUPG_NVRAM_CORRUPTED 29 // NVRAM corrupted
  534. #define FWUPG_DIR_NOT_FOUND 30 // a directory entry is
  535. // not found
  536. #define FWUPG_DIR_UPDATE_FAILED 31 // Update NVRAM directory
  537. // failed
  538. #define FWUPG_DIR_FOUND 32 // a directory entry is
  539. // found
  540. #define FWUPG_CANNOT_READ_MEM 33 // Cannot read NIC register
  541. // or memory
  542. #define FWUPG_MALLOC_ERROR 34 // memory allocation error
  543. #define FWUPG_FW_IMAGE_WRONG_VERSION 35 // wrong version of
  544. // firmware image
  545. #define FWUPG_FW_IMAGE_INVALID_ASF 36 // invalid asf image
  546. #define FWUPG_READ_NIC_ASF_TABLE_FAILED 37 // failed to read ASF table
  547. // from NIC
  548. #define FWUPG_UNSUPPORTED_NIC_ASF_TABLE 38 // version of ASF table on
  549. // NIC is not supported
  550. #define FWUPG_REBOOT_FAILED 39 // unable to reboot machine
  551. #define FWUPG_NOT_SUPPORTED_DRIVER 40 // the version of driver is
  552. // too old
  553. #define FWUPG_DRIVER_NOT_LOADED 41 // driver is not loaded
  554. #define FWUPG_FILE_TOO_BIG 42 // file is too big
  555. #define FWUPG_CANNOT_WRITE_MEM 43 // Cannot write NIC
  556. // register or memory
  557. #define FWUPG_MGMT_FW_NOT_FOUND 44 // Cannot find management
  558. // firmware
  559. #define FWUPG_UMP_FOUND 45 // UMP firmware exist
  560. #define FWUPG_FAILED_TO_GET_VERINFO 46 // failed to get module
  561. // version info
  562. #define FWUPG_ERR_ENDOFFILE 47 // unexpected end of file
  563. // encountered.
  564. #define FWUPG_INVALID_MEDIUM_TYPE 48 // The chip has an unknown
  565. // medium type. Neither the
  566. // board is copper nor
  567. // serdes.
  568. #define FWUPG_INVALID_OFFSET 49 // invalid NVRAM offset.
  569. #define FWUPG_FILE_ALREADY_EXISTS 50 // output file already
  570. // exists.
  571. #define FWUPG_NON_SELFBOOT_IMAGE 51 // Not a selfboot image.
  572. #define FWUPG_BAD_MAGIC_VALUE 52 // Bad magic value
  573. #define FWUPG_BAD_PARITY_VALUE 53 // Bad parity value
  574. #define FWUPG_BAD_VPD_CHKSUM 54 // Bad VPD checksum
  575. #define FWUPG_BAD_CHIP_REV 55 // Bad chip revision
  576. #define FWUPG_VPD_DATA_MISSING 56 // VPD data missing
  577. #define FWUPG_NO_SELFBOOT 57 // target not self boot
  578. // capable
  579. #define FWUPG_LEGACY_TO_SELFBOOT 58 // Cannot upgrade firmware
  580. // from legacy to selfboot.
  581. #define FWUPG_ZERO_SELFBOOT 59 // upgfrm does not support
  582. // Format 0 Selfboot image
  583. // upgrade
  584. #define FWUPG_UNSUPPORTED_FEATURE 60 // Feature not supported.
  585. #define FWUPG_DIAG_FAILURE 61 // diag failure
  586. #define FWUPG_NO_BRCM_ADAPTER 62 // No Marvell network
  587. // adapter found!
  588. #define FWUPG_FILE_DOES_NOT_EXIST 63 // File does not exist
  589. #define FWUPG_UMP_NOT_SUPPORTED 64 // ump not supported
  590. #define FWUPG_MISSING_UMP 65 // UMP config firmware is
  591. // not loaded in NVRAM
  592. #define FWUPG_CFG_VER_MISMATCH 66 // UMP config version
  593. // mismatch
  594. #define FWUPG_INVALID_ISCSI_IMAGE 67 // invalid ISCSI image
  595. #define FWUPG_INVALID_UMP_IMAGE 68 // invalid UMP image
  596. #define FWUPG_INVALID_MBA_IMAGE 69 // invalid MBA image
  597. #define FWUPG_PRG_FAILED 70 // programming NVRAM failed
  598. #define FWUPG_BOOTSTRAP_UPDATE_FAILED 71 // bootstrap update failed
  599. #define FWUPG_CMD_ALL_NOT_SUPPORTED 72 // '-all' option is not
  600. // supported in this context
  601. #define FWUPG_UNSUPPORTED_PLATFORM 73 // Feature not supported on
  602. // this platform
  603. #define FWUPG_MAC_PARAM_ERROR 74 // Cannot override MAC on
  604. // multiple NICs.
  605. #define FWUPG_INVALID_BOOTCODE 75 // Not a valid bootcode file
  606. #define FWUPG_INVALID_IPMI_FILE 76 // Not a valid ipmi file
  607. #define FWUPG_INVALID_DUMP 77 // Invalid dump file.
  608. #define FWUPG_INVALID_FORMAT 78 // Invalid image/file format.
  609. #define FWUPG_DIR_ENTRY_MISMATCH 80 // Mismatch in directory entries
  610. #define FWUPG_MBA_MISMATCH 81 // MBA directory entry mismatch
  611. #define FWUPG_UMP_MISMATCH 82 // UMP directory entry mismatch
  612. #define FWUPG_IPMI_MISMATCH 83 // IPMI directory entry mismatch
  613. #define FWUPG_ISCSI_MISMATCH 84 // ISCSI directory entry mismatch
  614. #define FWUPG_ASF_MISMATCH 85 // ASF directory entry mismatch
  615. #define FWUPG_ISCSI_NOT_SUPPORTED 86 // ISCSI is not supported.
  616. #define FWUPG_SPECIAL_UPGRADE_REQUIRED 87 // Special upgrade is required.
  617. #define FWUPG_MISSING_CMD 88 // No valid command was specified.
  618. #define FWUPG_RESERVE1 89 // Reserved message holder.
  619. #define FWUPG_RESERVE2 90 // Reserved message holder.
  620. #define FWUPG_MISSING_ASF 91 // ASF config firmware is
  621. // not loaded in NVRAM
  622. #define FWUPG_MISSING_IPMI 92 // IPMI config firmware is
  623. // not loaded in NVRAM
  624. #define FWUPG_MISSING_MBA 93 // MBA config firmware is
  625. // not loaded in NVRAM
  626. #define FWUPG_NO_DEV_ID 94 // No device ID in NVRAM image file
  627. #define FWUPG_SYSTEM_REBOOT 95 // System Reboot required
  628. #define FWUPG_INVALID_NCSI_IMAGE 96 // invalid NCSI image
  629. #define FWUPG_MISSING_MGMT_FW 97 // Missing management firmware in NVRAM
  630. #define FWUPG_INVALID_PHY_IMAGE 98 // Invalid PHY firmware file.
  631. #define FWUPG_DRIVER_COMMUNICATE_ERROR 99 // Error in communicating to driver
  632. #define FWUPG_FW_EXISTING_IN_NVRAM 100 // The firmware to be programmed is existing in NVRAM
  633. #define FWUPG_FAIL_TO_GET_MAC_ADDR 101 // Failed to read MAC ADDR from the file
  634. #define FWUPG_MGMTFW_NOT_SUPPORTED_BY_NIC 102 // Management firmware is not supported by the NIC
  635. #define FWUPG_IMAGE_FILE_CRC_ERROR 103 // Image file CRC error
  636. #define FWUPG_IMAGE_FILE_SIG_ERROR 103 // Image file RSA signature error
  637. #define FWUPG_INVALID_L2T_IMAGE 104 // invalid L2T image
  638. #define FWUPG_CMD_ABORTED 105 // Command aborted
  639. #define FWUPG_PHY_FW_CORRUPTED 106 // PHY firmware corrupted
  640. #define FWUPG_UNKNOWN_EXT_PHY 107 // Unknown external PHY
  641. #define FWUPG_CANNOT_UPGRADE_TO_DIFF_FORMAT 108 // Can't upgrade to a different format
  642. #define FWUPG_CANNOT_READ_OTP 109 // Can't read to OTP
  643. #define FWUPG_CANNOT_WRITE_OTP 110 // Can't write to OTP
  644. #define FWUPG_FAIL_TO_CREATE_EXT_DIR_ENTRY 111 // Failed to create Extended Directory entry
  645. #define FWUPG_INVALID_BOOTCODE_IMAGE 112 // invalid Bootcode image
  646. #define FWUPG_INVALID_IO_MODULE_IMAGE 113 // Invalid I/O Module file.
  647. #define FWUPG_NCSI_MISMATCH 114 // NCSI directory entry mismatch
  648. #define FWUPG_INVALID_FCOE_IMAGE 115 // Invalid FCoE image
  649. #define FWUPG_FCOE_MISMATCH 116 // FCOE directory entry mismatch
  650. #define FWUPG_32BIT_APP_IN_WOW64 117 // Can't run 32-bit application in 64-bit platform.
  651. #define FWUPG_IMAGE_FILE_SIG_ERROR 118 // Image file RSA signature error
  652. #define FWUPG_32BIT_APP_IN_WOW64 119 // Can't run 32-bit application in 64-bit platform.
  653. #define FWUPG_INVALID_MFW_IMAGE 120 // Invalid MFW image
  654. #define FWUPG_INVALID_CCM_IMAGE 121 // invalid CCM image
  655. #define FWUPG_CCM_NOT_SUPPORTED 122 // CCM is not supported.
  656. #define FWUPG_CCM_MISMATCH 123 // CCM directory entry mismatch
  657. #define FWUPG_DIAG_TEST_NOT_SUPPORTED 124 // Specified Diagnostic tests are not supported
  658. #define FWUPG_DIAG_TEST_FAILED 125 // Diagnostic test failed
  659. #define FWUPG_INVALID_MBI_IMAGE 126 // invalid MBI image
  660. #define FWUPG_INVALID_MBI_LENGTH 127 // MBI length mismatch
  661. #define FWUPG_REGISTER_TEST_FAILED 128 // Register test failed
  662. #define FWUPG_MII_REGISTER_TEST_FAILED 129 // MII registers test failed
  663. #define FWUPG_NVRAM_TEST_FAILED 130 // NVRAM test failed
  664. #define FWUPG_MEMORY_TEST_FAILED 131 // Memory test failed
  665. #define FWUPG_TEST_INTERRUPT_FAILED 132 // Interrupt test failed
  666. #define FWUPG_CPU_TEST_FAILED 133 // CPU test failed
  667. #define FWUPG_MAC_LOOPBACK_TEST_FAILED 134 // Loopback test failed
  668. #define FWUPG_PHY_LOOPBACK_TEST_FAILED 135 // Loopback test failed
  669. #define FWUPG_LED_TEST_FAILED 136 // LED test failed
  670. #define FWUPG_INVALID_HW_INIT_IMAGE 137 // Not a valid INIT_HW file
  671. #define FWUPG_RESTORED_NIC_BACK_TO_NORMAl_STATE 138 // Restored the NIC back to normal state in the event of failed or partial MBI firware update or CRC checksum failed.
  672. #define FWUPG_SHA256_AUTH_FAILED_ON_NVM_DUMP 139 // SHA256 authentication failed against nvm dump before restoring back to normal state.
  673. #define FWUPG_RESTORE_FAILED 140 // Failed to restore the NIC back to normal state.
  674. #define FWUPG_FAILED_GET_CURRENT_TEMPERATURE 141 // Failed to get the current temperature of the NIC.
  675. #define FWUPG_BLOCKED_AHALOM_FROM_CNA_TO_NIC 142 // Block MBI downgrade from CNA (HP12.10) to NIC (HP12.00) for HP ALOM adapters
  676. #define FWUPG_META_PARSEING_ERROR 143 // Unable to parse META file
  677. #define FWUPG_INVALID_OPTION 144 // This option is not a valid option
  678. #define FWUPG_UNSUPPORTED_OPTION 145 // This option is not available on this adapter
  679. #define FWUPG_INVALID_OPTION_VALUE 146 // Supplied value for this NVM_CFG1 option is invalid
  680. #define FWUPG_NO_DRVR_NVRAM_ACCESS 147 // On Linux platform only Firmware upgrade is supported with inbox driver, other NVM operations like dir,crc etc. are not supported.
  681. #define FWUPG_READ_CONFIG_FAILED 148 // NVRAM read configuration failed.
  682. #define FWUPG_DRIVER_NOT_INSTALLED 149 // Intermediate or miniport driver not installed.
  683. #define FWUPG_READ_EEPROM_FAILED 150 // EPROM read failed.
  684. #define FWUPG_WRITE_EEPROM_FAILED 151 // EPROM write failed.
  685. #define FWUPG_NO_READ_EEPROM_PRIV 152 // No privilege to read EEPROM.
  686. #define FWUPG_NO_WRITE_EEPROM_PRIV 153 // No privilege to read EEPROM.
  687. #define FWUPG_NO_DIAG_ACCESS_RIGHT 154 // Application did not call QLmapiInitDiag() with successful return.
  688. #define FWUPG_DATA_NOT_FOUND 155 // Requested data not found.
  689. #define FWUPG_READ_REGISTER_FAILED 156 // read register failed.
  690. #define FWUPG_UNSUPPORTED_IOCTL 157 // unsupported IOCTL.
  691. #define FWUPG_DEVIO_CALL_FAILED 158 // DeviceIoControl() failed.
  692. #define FWUPG_FILE_OPEN_FAILED 159 // file open failed.
  693. #define FWUPG_UPGRADE_PHY_FW_ERROR 160 // Failed to upgrade PHY firmware.
  694. #define FWUPG_INTERNAL_DATA_ERROR 161 // internal data error.
  695. #define FWUPG_DEVICE_IS_NOT_UP 162 // The device is not up and running.
  696. #define FWUPG_LOW_SYSTEM_RESOURCES 163 // IOCTL failed due to low system resources.
  697. #define FWUPG_MBI_IMAGE_CHKSUM_FAILED 164 // MBI image file checksum failure
  698. #define FWUPG_INVALID_VPD_IMAGE 165 // Invalid VPD image in NVM
  699. #define FWUPG_NVM_FILE_READ_ONLY 166 // Firmwares are readonly (i.e Firmware in Lockdown mode)
  700.  
  701. 7. Examples:
  702. ==============
  703. Note:
  704. The 'restorenvram' and 'upgrade' commands shall perform successfully
  705. for the specified adapter meeting ALL the following conditions:
  706. 1) The device information of the adapter matches that in the image file.
  707. 2) The adapter currently supports the requested target firmware.
  708.  
  709.  
  710. 7.1 Command Line Mode Examples:
  711. *******************************
  712.  
  713. 'lnxfwnx2' will enter interactive mode.
  714.  
  715. 'lnxfwnx2 upgrade -bc /tmp/new_bootcode /tmp/oldBoot' will upgrade
  716. bootcode for the ONLY qualified adapter found. The adapter parameter
  717. can be omitted if ONLY ONE qualified adapter is found.
  718.  
  719. 'lnxfwnx2 001018001199 upgrade -mba b57mmbae.nic /backup/oldPXE.bin'
  720. will upgrade PXE for the adapter with MAC 00:10:18:00:11:99.
  721.  
  722. 'lnxfwnx2 001018001199 upgrade -F -ipmi impi55
  723. old_image' will upgrade IPMI for the adapter with the specified MAC.
  724.  
  725. 'lnxfwnx2 -all upgrade -ipmi pt5706h6.20 /backup/saveIPMI' will
  726. upgrade for all the qualified BRCM 5706 adapters that currently
  727. support IPMI. When multiple applicable adapters are present, the MAC
  728. address of the adapter is appended to the backup NVRAM image parameter
  729. filename
  730.  
  731. 'lnxfwnx2 -all upgrade -F -ump /tmp/NtX2Ump.bin backupUMP' will force a
  732. downgrade for all the BRCM 5706/5708 adapters with existing UMP support.
  733. When multiple applicable adapters are present, the MAC address of the
  734. adapter is appended to the backup NVRAM image parameter filename.
  735.  
  736. 'lnxfwnx2 -all dir -mbi ql_mbi_7148.bin' will display the listing
  737. of firmwares in NVMRAM for all the adapters that are supported in MBI
  738. and are currently present in the system.
  739.  
  740. 'lnxfwnx2 -all dir' will display the listing of firmware in NVMRAM for
  741. all the adapters that currently present in the system.
  742.  
  743. 'lnxfwnx2 -all crc -mbi ql_mbi_7148.bin' will perform the CRC check on
  744. all the adapters that are supported in MBI and are currently present in the system.
  745.  
  746. 'lnxfwnx2 -all crc' will perform CRC check on all the adapters that are
  747. currently present in the system.
  748.  
  749. 'lnxfwnx2 -all restorenvram "/tmp/backup.bin" config' will read a
  750. complete NVRAM image from file 'backup.bin' and write the image to NVRAM
  751. along with its configurations. If 'config' parameter is left out, only
  752. the image is written. This will only restore NVRAM images to those with
  753. matching FW, with the exception to variations in version numbers.
  754.  
  755. 'lnxfwnx2 0010181a1b1c cfg -mac 0010189d9e9f' will configure the
  756. selected adapter whose current MAC address is 00:10:18:1a:1b:1c to be the
  757. new MAC address 00:10:18:9d:9e:9f.
  758.  
  759. 'lnxfwnx2 0010189a9b9c cfg -ipmi 1' will enable ipmi firmware if the
  760. ipmi firmware is present in the selected adapter whose current MAC address
  761. is 00:10:18:9a:9b:9c.
  762.  
  763. 'lnxfwnx2 0010189a9b9c reset' will reset the selected adapter whose current
  764. MAC address is 00:10:18:9a:9b:9c.
  765.  
  766. 'lnxfwnx2 xml xml_name' will read the firmware versions from NVMRAM and export
  767. to XML.
  768.  
  769. 'lnxfwnx2 xml xml_name mbi_file' will read the firmware versions from given MBI
  770. file and export to XML.
  771.  
  772. 7.2 Interactive Mode Examples:
  773. *******************************
  774.  
  775. 'help' will display a list and descriptions of available commands.
  776.  
  777. 'q' will exit the utility.
  778.  
  779. 'dev' will display a list of upgradeable devices.
  780.  
  781. 'dev 0' will select device 0.
  782.  
  783. 'dir' will display a listing of the firmware programmed in NVRAM.
  784.  
  785. 'crc' will check the integrity of the NVRAM CRC.
  786.  
  787. 'dumpnvram /backup.bin' saves the dump file to the specified file.
  788.  
  789. 'restorenvram "/tmp_dir/backup.bin" config mac'
  790. will include all configurations including the MAC address. In order
  791. to verify the MAC address was configured, exiting the program will be
  792. necessary followed by either disabling and enabling the adapter or
  793. rebooting the system.
  794.  
  795. 'upgrade -bc ee5706c3.19 backup5706.bin' will upgrade the boot code
  796. for a BRCM 5706 adapter.
  797.  
  798. 'version' will display the version of Firmware Upgrade utility.
  799.  
  800. '-w 1' will enable the WOL setting on the current adapter.
  801.  
  802. 'cfg -mac 0010181a2b3c" will configure MAC address for the selected
  803. qualified adapter.
  804.  
  805. 'cfg -ump 0' will disable ump firmware if the ump firmware is present
  806. in the selected adapter.
  807.  
  808. 'cfg -show sriov' will display current setting of SRIOV in the selected
  809. adapter.
  810.  
  811. 'cfg -show vf_per_pf' will display current setting of number of VF per PF
  812. in the selected adapter.
  813.  
  814.  
  815. 8. Known Limitations:
  816. =====================
  817.  
  818. 1. The read/write NVRAM operations and all other commands requiring NVRAM access are unable
  819. to perform correctly on Red Hat EL3.0 with kernel versions prior to 2.4.23.
  820.  
  821. Due to a limitation in kernel versions prior to 2.4.23, older
  822. Linux distributions including Red Hat EL 3.0 may cause "firmware upgrade tool"
  823. not function with an error code 58.
  824. This problem is seen on 32-bit and 64-bit platforms with 57xx
  825. family NICs loaded with tg3 driver (version >= 3.37) and 5706
  826. family NICs loaded with bnx2 driver.
  827.  
  828. 2. Known issue for BCM5709-based adapter:
  829. **************************************
  830. After this software is used to upgrade the firmware (including Bootcode,
  831. IPMI, UMP, iSCSI boot... ) in the NVRAM, the system has to be rebooted
  832. for the new firmware to become effective.
  833. The commands that require a reboot after exiting the software are
  834. "upgrade", "prg", and "restorenvram".
  835.  
  836. 3. Known issue for E3 adapters running inbox drivers:
  837. **************************************
  838. Some of the most recent kernels (for example in SLES15/SLES15.1) has a security feature to prevent
  839. user space access to physical memory above 1MB (IIRC). Due to which "firmmare upgrade tool"
  840. may not function properly.
  841. There are couple of workaround:
  842. 1. At boot time: Add iomem=relaxed in kernel command line during boot time.
  843. 2. update grub.cfg file:
  844. 2.1 add iomem=relaxed at the end for GRUB_CMDLINE_LINUX_DEFAULT parameter in file
  845. /etc/default/grub.cfg (based on the distro, location of grub.cfg may vary)
  846. 2.2 run cmd grub2-mkconfig -o /boot/grub2/grub.cfg
  847. 2.3 reboot the server to take effect
  848. 3. To avoid the issue or extra kernel param use the latest OOB drivers.
  849.  
  850. Note: "iomem=relaxed" workaround will not work if Secure Boot is enabled.
  851. Disable Secure Boot before updating the firmware when using "iomem=relaxed" workaround.
  852.  
  853. 4. "Grc Attn" and "qed_int_attentions" messages are observed while updating firmware on SLES15
  854. Issue is seen if qede driver 8.24.xx is installed on the SLES15 system.
  855. The issue is seen when registers are accessed using ELBI method.
  856. To resolve this issue please install updated out-of-box qede driver 8.37.xx or above on SLES15
  857. where registers are accessed using debugfs interface.
  858.  
  859. 5. Recent OS distro SLES15 SP2 when booted in secure boot mode does not allow user space applications
  860. to access the debugfs nodes, due to which "firmware upgrade tool" may not function properly
  861. so please disable secure Boot mode before updating the firmware.
  862.  
  863.  
  864. 9. Third Party Software License:
  865. ================================
  866.  
  867. Portions of this software contain third party code subject to the following conditions:
  868.  
  869. OpenSSL:
  870. --------
  871.  
  872. /* ====================================================================
  873. * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
  874. *
  875. * Redistribution and use in source and binary forms, with or without
  876. * modification, are permitted provided that the following conditions
  877. * are met:
  878. *
  879. * 1. Redistributions of source code must retain the above copyright
  880. * notice, this list of conditions and the following disclaimer.
  881. *
  882. * 2. Redistributions in binary form must reproduce the above copyright
  883. * notice, this list of conditions and the following disclaimer in
  884. * the documentation and/or other materials provided with the
  885. * distribution.
  886. *
  887. * 3. All advertising materials mentioning features or use of this
  888. * software must display the following acknowledgment:
  889. * "This product includes software developed by the OpenSSL Project
  890. * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
  891. *
  892. * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
  893. * endorse or promote products derived from this software without
  894. * prior written permission. For written permission, please contact
  895. * openssl-core@openssl.org.
  896. *
  897. * 5. Products derived from this software may not be called "OpenSSL"
  898. * nor may "OpenSSL" appear in their names without prior written
  899. * permission of the OpenSSL Project.
  900. *
  901. * 6. Redistributions of any form whatsoever must retain the following
  902. * acknowledgment:
  903. * "This product includes software developed by the OpenSSL Project
  904. * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
  905. *
  906. * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
  907. * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  908. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  909. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
  910. * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  911. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  912. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  913. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  914. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  915. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  916. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  917. * OF THE POSSIBILITY OF SUCH DAMAGE.
  918. * ====================================================================
  919. *
  920. * This product includes cryptographic software written by Eric Young
  921. * (eay@cryptsoft.com). This product includes software written by Tim
  922. * Hudson (tjh@cryptsoft.com).
  923. *
  924. */
  925.  
  926. Original SSLeay License:
  927. ------------------------
  928.  
  929. /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  930. * All rights reserved.
  931. *
  932. * This package is an SSL implementation written
  933. * by Eric Young (eay@cryptsoft.com).
  934. * The implementation was written so as to conform with Netscapes SSL.
  935. *
  936. * This library is free for commercial and non-commercial use as long as
  937. * the following conditions are aheared to. The following conditions
  938. * apply to all code found in this distribution, be it the RC4, RSA,
  939. * lhash, DES, etc., code; not just the SSL code. The SSL documentation
  940. * included with this distribution is covered by the same copyright terms
  941. * except that the holder is Tim Hudson (tjh@cryptsoft.com).
  942. *
  943. * Copyright remains Eric Young's, and as such any Copyright notices in
  944. * the code are not to be removed.
  945. * If this package is used in a product, Eric Young should be given attribution
  946. * as the author of the parts of the library used.
  947. * This can be in the form of a textual message at program startup or
  948. * in documentation (online or textual) provided with the package.
  949. *
  950. * Redistribution and use in source and binary forms, with or without
  951. * modification, are permitted provided that the following conditions
  952. * are met:
  953. * 1. Redistributions of source code must retain the copyright
  954. * notice, this list of conditions and the following disclaimer.
  955. * 2. Redistributions in binary form must reproduce the above copyright
  956. * notice, this list of conditions and the following disclaimer in the
  957. * documentation and/or other materials provided with the distribution.
  958. * 3. All advertising materials mentioning features or use of this software
  959. * must display the following acknowledgement:
  960. * "This product includes cryptographic software written by
  961. * Eric Young (eay@cryptsoft.com)"
  962. * The word 'cryptographic' can be left out if the rouines from the library
  963. * being used are not cryptographic related :-).
  964. * 4. If you include any Windows specific code (or a derivative thereof) from
  965. * the apps directory (application code) you must include an acknowledgement:
  966. * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
  967. *
  968. * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  969. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  970. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  971. * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  972. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  973. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  974. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  975. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  976. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  977. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  978. * SUCH DAMAGE.
  979. *
  980. * The licence and distribution terms for any publically available version or
  981. * derivative of this code cannot be changed. i.e. this code cannot simply be
  982. * copied and put under another distribution licence
  983. * [including the GNU Public Licence.]
  984. */
  985.  
  986. Tcl/Tk License Terms:
  987. ---------------------
  988.  
  989. /* This software is copyrighted by the Regents of the University of California,
  990. * Sun Microsystems, Inc., Scriptics Corporation, and other parties. The following
  991. * terms apply to all files associated with the software unless explicitly disclaimed
  992. * in individual files.
  993. *
  994. * The authors hereby grant permission to use, copy, modify, distribute, and license
  995. * this software and its documentation for any purpose, provided that existing copyright
  996. * notices are retained in all copies and that this notice is included verbatim in any
  997. * distributions. No written agreement, license, or royalty fee is required for any of
  998. * the authorized uses. Modifications to this software may be copyrighted by their authors
  999. * and need not follow the licensing terms described here, provided that the new terms
  1000. * are clearly indicated on the first page of each file where they apply.
  1001. *
  1002. * IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT,
  1003. * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
  1004. * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS
  1005. * HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1006. *
  1007. * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
  1008. * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  1009. * PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS"
  1010. * BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE,
  1011. * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  1012. *
  1013. * GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government,
  1014. * the Government shall have only "Restricted Rights" in the software and related
  1015. * documentation as defined in the Federal Acquisition Regulations (FARs) in Clause
  1016. * 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense,
  1017. * the software shall be classified as "Commercial Computer Software" and the Government
  1018. * shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs.
  1019. * Notwithstanding the foregoing, the authors grant the U.S. Government and others acting
  1020. * in its behalf permission to use and distribute the software in accordance with the terms
  1021. * specified in this license.
  1022. */
  1023.  
  1024.  
  1025. License of Libedit library:
  1026. ---------------------------
  1027. /*-
  1028. * Copyright (c) 1992, 1993
  1029. * The Regents of the University of California. All rights reserved.
  1030. *
  1031. * This code is derived from software contributed to Berkeley by
  1032. * Christos Zoulas of Cornell University.
  1033. *
  1034. * Redistribution and use in source and binary forms, with or without
  1035. * modification, are permitted provided that the following conditions
  1036. * are met:
  1037. * 1. Redistributions of source code must retain the above copyright
  1038. * notice, this list of conditions and the following disclaimer.
  1039. * 2. Redistributions in binary form must reproduce the above copyright
  1040. * notice, this list of conditions and the following disclaimer in the
  1041. * documentation and/or other materials provided with the distribution.
  1042. * 3. Neither the name of the University nor the names of its contributors
  1043. * may be used to endorse or promote products derived from this software
  1044. * without specific prior written permission.
  1045. *
  1046. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1047. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1048. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1049. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1050. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1051. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1052. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1053. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1054. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1055. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1056. * SUCH DAMAGE.
  1057. *
  1058. */
  1059.  
  1060.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement