
【说明】
1、固件升级最好使用PXEcfg或者ISO固件升级包升级，也可以使用下述带内升级方法(只适用于从低版本升级到高版本)；
2、固件升级前，请停止子卡上的一切业务。

【带内升级方法】
1. 拷贝带内工具 storcli64 和最新固件版本到环境的linux系统下,升级文件包含：
    OOB_sas3816_9500_16i_26.00.00.00.rom、IT_HBA_X64_BIOS_PKG_E6_B9.43.00.00.rom、IT_HBA_ARM_UEFI_PKG_E6_B9.43.00.00.rom 

2. 进入工具和版本所在目录，执行命令修改工具权限： chmod 777 -R storcli64
   
3. 执行命令查询子卡信息： ./storcli64 show
   例如：
   [root@localhost home]# ./storcli64 show
   CLI Version = 007.0912.0000.0000 Dec 27, 2018
   Operating system = Linux 3.10.0-957.el7.x86_64
   Status Code = 0
   Status = Success
   Description = None
   
   Number of Controllers = 1
   Host Name = localhost.localdomain
   Operating System  = Linux 3.10.0-957.el7.x86_64
   StoreLib IT Version = 07.0906.0200.0000
   StoreLib IR3 Version = 16.04-0
   
   IT System Overview :
   ==================
   
   ---------------------------------------------------------------------------
   Ctl Model        AdapterType   VendId DevId SubVendId SubDevId PCI Address
   ---------------------------------------------------------------------------
     0 HBA 9500-16i   SAS3816(B0) 0x1000  0xE6    0x1000   0x4050 00:84:00:00
   ---------------------------------------------------------------------------
   找到9500-16i子卡所在行，第一列Ctl字段值0就是9500-16i控制器序号，后面命令中的 /cx 中x就填写自己环境查出来的Ctl号。
   
   使用 ./storcli64 /c0 show 命令可以查看9500-16i子卡的当前固件版本号：
  

4. 执行升级命令：
 1>升级bios版本，根据环境服务器的平台选择对应的bios文件。
     服务器是X86平台，升级bios版本选择带X86字段的文件：./storcli64 /c0 download bios file=IT_HBA_X64_BIOS_PKG_E6_B9.43.00.00.rom
     X86平台的bios文件包含legacy、uefi两种文件的合一版本。
     服务器是ARM平台，升级bios版本选择带ARM字段的文件：./storcli64 /c0 download bios file=IT_HBA_ARM_UEFI_PKG_E6_B9.43.00.00.rom
     ARM平台的bios文件只包含uefi版本文件。
   
 2>升级fw固件版本：./storcli64 /c0 download file=OOB_sas3816_9500_16i_26.00.00.00.rom
  
5. 重启系统，在系统启动成功后，执行命令查看升级是否成功：storcli64 /c0 show
   主要查看 FW Package Build/FW Version/BIOS Version/NVDATA Version 几个版本号是否与本次升级的版本包一致。
  
6、升级PSOC版本：
storcli64 /c0 download psoc file=pblp_catalog.signed.rom
升级成功后掉电，重启

7、上电后操作系统下执行命令查看是否升级成功：
./storcli64 /c0 show all |grep -i "psoc"
PSOC FW Version = 0x0064
PSOC Part Number = 14790
Support PSOC Update = Yes
Support PSOC Part Information = Yes
Support PSOC Version Information = Yes

PN 号14798、14790、14790升级完成后FW Version都是0x0064

8.固件升级完成升级驱动
新建/opt/driver目录
上传MR_LinuxDrv_7_23-07.723.02.00-1文件下的megaraid_sas_components.tgz文件
tar -zxvf megaraid_sas_components.tgz
cd kmod_srpm/
rpm -ivvh kmod-megaraid_sas-07.723.02.00-1.src.rpm
cd /root/rpmbuild/SPECS
rpmbuild -ba megaraid_sas.spec
cd /root/rpmbuild/RPMS/x86_64/
rpm -ivvh kmod-megaraid_sas-07.723.02.00-1.x86_64.rpm
reboot生效


9. 重启系统，在系统启动成功后，执行命令查看升级是否成功：storcli64 /c0 show
   主要查看 FW Package Build/FW Version/BIOS Version/NVDATA Version/PSOC几个版本号是否与本次升级的版本包一致。
   