Project

General

Profile

Feature #12759

Updated by Robert Mustacchi 6 months ago

The UFM subsystem today has the ability to report information about modules. We've envisioned that it should be able to read and write module information. This takes the first step towards that by adding a few concrete things: 

 * Adds a new UFM capability value to indicate the ability to read images 
 * Adds a new entry point to the UFM ops structure to indicate that we can read an image 
 * Adds support for fwflash for a UFM background so that we can list firmware images and read them from supported devices 

 On a system with some additional UFM devices, here's an example of the UFM output in fwflash. The first is from a system with a single M.2 and igb device. 

 <pre> 
 Device[0] /devices/pci@0,0/pci1022,1483@3,2/pci8086,390d@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: SSD 660P Series 
         Capabilities: Report 
         Image 0: Firmware 
             Slot 0 (-|w|a): 002C     
             Slot 1 (-|w|-): 002C     


 Device[1] /devices/pci@3d,0/pci1022,1483@3,1/pci1849,1521@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: I350 Gigabit Network Connection 
         Capabilities: Report, Read Image 
         Image 0: NVM 
             Slot 0 (r|w|a): 1.69 
 </pre> 

 This next example shows how it fits into a system with a number of SATA/SAS devices: 

 <pre> 
 $ 

 rpz@thunderhead:~$ pfexec fwflash -l 
 List of available devices: 
 Device[0]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@0,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t0d1s0 
         Vendor                    : TOSHIBA 
         Product                   : AL14SEB030N 
         Firmware revision         : DM06 
         Inquiry Serial Number     : 27C0A2N8F0DC 
         GUID                      : (not supported) 


 Device[1]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@1,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t1d1s0 
         Vendor                    : TOSHIBA 
         Product                   : AL14SEB030N 
         Firmware revision         : DM06 
         Inquiry Serial Number     : 27C0A2AYF0DC 
         GUID                      : (not supported) 


 Device[2]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@2,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t2d1s0 
         Vendor                    : TOSHIBA 
         Product                   : AL14SEB030N 
         Firmware revision         : DM06 
         Inquiry Serial Number     : 27C0A1RMF0DC 
         GUID                      : (not supported) 


 Device[3]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@3,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t3d1s0 
         Vendor                    : TOSHIBA 
         Product                   : AL14SEB030N 
         Firmware revision         : DM06 
         Inquiry Serial Number     : 27C0A1P6F0DC 
         GUID                      : (not supported) 


 Device[4]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@4,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t4d1s0 
         Vendor                    : TOSHIBA 
         Product                   : MG04SCA20EN 
         Firmware revision         : DS07 
         Inquiry Serial Number     : 3710A0YVFVPC 
         GUID                      : (not supported) 


 Device[5]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@5,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t5d1s0 
         Vendor                    : TOSHIBA 
         Product                   : MG04SCA20EN 
         Firmware revision         : DS07 
         Inquiry Serial Number     : 3720A0SXFVPC 
         GUID                      : (not supported) 


 Device[6]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@6,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t6d1s0 
         Vendor                    : TOSHIBA 
         Product                   : MG04SCA20EN 
         Firmware revision         : DS07 
         Inquiry Serial Number     : 3730A04QFVPC 
         GUID                      : (not supported) 


 Device[7]                         /devices/pci@0,0/pci8086,2f02@1/pci1028,1f42@0/sd@7,1:a,raw 
   Class [sd]                      /dev/rdsk/c4t7d1s0 
         Vendor                    : TOSHIBA 
         Product                   : MG04SCA20EN 
         Firmware revision         : DS07 
         Inquiry Serial Number     : 3710A0Z2FVPC 
         GUID                      : (not supported) 


 Device[100] /devices/pci@0,0/pci8086,8d14@1c,2/pci1028,602@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: I350 Gigabit Network Connection 
         Capabilities: Report, Read Image 
         Image 0: NVM 
             Slot 0 (r|w|a): 1.67 


 Device[101] /devices/pci@0,0/pci8086,8d18@1c,4/pci8086,a12c@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: 82598EB 10-Gigabit AT2 Server Adapter 
         Capabilities: Report, Read Image 
         Image 0: NVM 
             Slot 0 (r|w|a): unknown 


 Device[102] /devices/pci@76,0/pci8086,2f02@1/pci8086,6@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: Ethernet Controller X710 for 10GbE SFP+ 
         Capabilities: Report 
         Image 0: Firmware 
             Slot 0 (-|-|a): 4.40 


 Device[103] /devices/pci@76,0/pci8086,2f04@2/pci8086,1@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: Ethernet Controller 10-Gigabit X540-AT2 
         Capabilities: Report, Read Image 
         Image 0: NVM 
             Slot 0 (r|w|a): unknown 


 Device[104] /devices/pci@76,0/pci8086,2f08@3/pci8086,3900@0 
 Class [ufm] 
         Vendor: Intel Corporation 
         Device: Optane SSD 900P Series 
         Capabilities: Report 
         Image 0: Firmware 
             Slot 0 (-|w|a): E2010325 
 </pre> 

 To show an example of reading the image: 

 <pre> 
 # fwflash -d /devices/pci@3d,0/pci1022,1483@3,1/pci1849,1521@0 -r igb0.out 
 # ls -l igb0.out  
 -rw-r--r--     1 root       root         32768 May 20 07:32 igb0.out 
 </pre>

Back