Aide-mémoire : connaître la version des pilotes et des firmwares utilisés pour les cartes QLogic.

Nous devions mettre à jour un serveur IBM x3650 M3 sous CentOS 5.4 64 bits (noyau : 2.6.18-164.15.1.el5) avec 2 cartes bi-ports QLogic en utilisant le paquet qlgc_fw_fc_4g-mb1.90-2-sysx_linux_32-64.bin. Ce paquet, selon le changelog, devait apporter les versions suivantes :

  • BIOS version 2.16
  • EFI version 2.27
  • FCode version 3.13
  • Firmware version 5.03.06

Problème : Nous ne savions pas où vérifier les versions des éléments qui devaient être mis à jour. En effet, nous utilisions, à tort, la commande systool qui nous indiquait une versions de fimrware qui nous semblait pertinente :

# systool -c fc_host -v 
 Class = "fc_host" 
   Class Device = "host5" 
   Class Device path = "/sys/class/fc_host/host5" 
   [...] 
       supported_speeds    = "1 Gbit, 2 Gbit, 4 Gbit" 
       symbolic_name       = " **QLE2462 FW:v4.04.09 DVR:v8.03.00.1.05.05-k**" 

Sous Linux, on trouve dans le répertoire /sys/class/fc_host/host?/device/scsi_host:host? des fichiers optrom_* :

# cat optrom_bios_version 
2.16 
# cat optrom_efi_version
2.27 
# cat optrom_fcode_version
3.13 
# cat optrom_fw_version
5.03.06 1154 

On trouve également deux autres fichiers qui correspondent au pilote utilisé :

# cat fw_version
4.04.09 (486) 
# cat driver_version 
8.03.00.1.05.05-k 

Pour résumer, nous avons donc une carte avec deux firmwares bien distincts :  

  • le firmware embarqué sur la carte (partie matérielle) ;  
  • le firmware utilisé et chargé par le pilote (partie système).