Project

General

Profile

Feature #12759

Want ability to read ufm images

Added by Robert Mustacchi 6 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Category:
kernel
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

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.

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

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

$ 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

To show an example of reading the image:

# 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

Related issues

Related to illumos gate - Feature #12760: igb ufm supportClosedRobert Mustacchi

Actions
#1

Updated by Robert Mustacchi 6 months ago

  • Description updated (diff)
#2

Updated by Robert Mustacchi 6 months ago

  • Description updated (diff)
#4

Updated by Robert Mustacchi 6 months ago

In addition, I ran the os-tests and made sure that all of the UFM related aspects passed.

#5

Updated by Joshua M. Clulow 6 months ago

  • Gerrit CR set to 681
#6

Updated by Joshua M. Clulow 6 months ago

#7

Updated by Electric Monk 6 months ago

  • Status changed from New to Closed
  • % Done changed from 90 to 100

git commit 8d55b80625b903a8ec6c560f6a38b5c16d1f5cfc

commit  8d55b80625b903a8ec6c560f6a38b5c16d1f5cfc
Author: Robert Mustacchi <rm@fingolfin.org>
Date:   2020-06-12T16:43:33.000Z

    12759 Want ability to read ufm images
    12758 ufm_detach doesn't properly clean up
    12760 igb ufm support
    12765 fwflash plugin cleanup handling is buggy
    Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Approved by: Joshua Clulow <josh@sysmgr.org>

Also available in: Atom PDF