InfoDoc ID   Synopsis   Date
20107   Determining Firmware Revisions for SSA/A3000/A5X00/RSM2000 Related Devices   2 Sep 2002

Status Issued

Description

Determining Firmware Revisions for SSA/A3000/A5X00/RSM2000 Related Devices
 


Sparc Storage Array (SSA) Controller Firmware

How To Determine
 


To display the firmware revision of the Sparc Storage Array (SSA) controller through the GUI, follow these steps:
 

  1. Bring up vxva (Volume Manager Visual Administrator GUI) on your system.
  2. When the first window pops up (Sparc Storage Volume Manager), click on the button with the WWN (this is the 4 digit world wide number/identifier) of  the Sparc Storage Array you want to look at.
  3. Right-click on the controller symbol that is in the window with the view of the array. This will give you the revision number of the firmware, i.e.: 3.6, as well as its product ID and serial number.


To display the firmware revision of the Sparc Storage Array  (SSA) controller through the CLI (Command Line Interface), follow these steps:

Determine the actual controller name to which the Sparc Storage Array drives are associated with.  The controller name is specified by its physical name, for example,

/devices/.../.../SUNW,soc@3,0/SUNW,pln@axxxxxxx,xxxxxxxx:ctlr,
cN,

ssaadm uses the cN name to find  an entry in the /dev/rdsk directory of a disk that is attached to the SPARCstorage Array  controller.  The  /dev/rdsk  entry is then used to determine the physical name of the SPARCstorage Array controller.

To do this, knowing that SSA drives use the "ssd", "pln", "soc" drivers we can either do the following:
 

# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
...
/io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000000,78c789/ssd@0,0
8. c3t0d1 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>


As an example, this disk clearly shows "soc", "pln", the World Wide Number (WWN) of the SSA and "ssd" indicating that this is a disk in the Sparc Storage Array.

or
 

# cd /dev/dsk
# ls -la | grep ssd
lrwxrwxrwx   1 root     root          88 Dec  4 00:38 c3t0d0s0 -> ../../devices/io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000000,78c789/ssd@0,0:a


So, now that we know that c3t0d0 is an SSA disk which uses the c3 controller for the SSA, we can do the following:
 

# /usr/sbin/ssaadm -v display c3 | grep Firm
Firmware Rev:  3.12


The SSA's controller firmware revision is "3.12".
 
 

How To Update

Install the SSA patch and follow the "Special Install Instructions" from the README of the patch.

103290-XX: SPARCstorage Array 2.0: SSA Jumbo patch for Solaris 2.4 11/94, HW395
104793-XX: SunOS 5.5: ssd, pln, soc, ssacli, ssaadm and ssafirmware patch
104708-XX: SunOS 5.5.1: ssd, pln, soc, ssaadm and ssafirmware patch
105223-XX: SunOS 5.6: pln/soc drivers & ssafirmware patch
107458-XX: SunOS 5.7: sd & ssd drivers patch

NOTES: XX indicates the latest revision number of the patch.

SOCHA FCode (Serial Optical Controller Host Bus Adapter) or FC25/S (Fibre Channel 25MB/S Sbus Adapter)
 

How To Determine

Use the OBP "sccsid" command to display the FCS25/S firmware level:
 

ok show-devs (this will give you a list of devices for reference)
ok setenv fcode-debug? true
ok reset
ok cd /iommu@0,10000000/sbus@0,10001000/SUNW,soc@0,0  <------ SS5 example.
ok cd /iommu@f,e0000000/sbus@f,e0001000/SUNW,soc@0,0  <------ SS20 example.
ok cd /io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0        <------ SS1000 example.
ok sccsid type
      1.18 94/03/15  <----------------------- This is the FCode version and date.
ok device-end

Notes:

  1. The FC25/S requires firmware equal to or greater than 1.33 to boot the SPARC Storage Array.
  2. Firmware 1.33 is on FC25/S 501-2069-07 and 501-2553-03.
  3. Solaris 2.3 does not support booting from the Array Controller.
  4. Solaris 2.4 Hardware: 3/95, SPARCstorage Array Software 2.1 and FC25/S firmware greater than or equal to 1.33 are required to boot SPARCstorage Array.

When system is shutdown and completely powered "off, you can physically inspect the FC25/S sbus card by pulling it out of the Sbus slot it was in and looking at the black connector (connector that plugs into the Sbus slot):

Firmware 1.33 is on FC25/S Sun part number 501-2069-07 and 501-2553-03 (-07 and -03 denotes revision numbers), so if the revision numbers  are lower than these, then that means you have 1.18 firmware and will either need to update the firmware via the "fc_update" program or replace the cards hardware-wise. Usually newer stocks of the cards have current firmware loaded on them.

When system is booted from either the boot disk or any other alternate boot device such as a cdrom drive.

To update or check the Fcode revision there is a program called "fc_update"  which is supplied on the Storage Array 2.X CD (2.1, 2.1.1), in its own sub-directory. If  the system has no other boot media, and you need to check the Fcode then you will need either a cdrom drive to mount the SSA cd while booted from the Solaris media, or a tape copy of this sub-directory. With a new system this should not be an issue.

This is used as follows:

   * fc_update [return] will check for SOC cards and bring them all to the current fcode revision, asking for confirmation on each one.

   * fc_update -v [return] will go through the system looking for SOC cards and reporting the fcode revision levels it finds. No changes are made to the system.

Obtain the latest SSA 2.X CD media and mount it (vold should already automatically mount it).  Example: SSA 2.1 or SSA 2.1.1
 

# cd <path_to_CDROM>/ssa_2_1_1sparc/fc_update
# ./fc_update -v

Running the fc_update with the "-v" does NOT download the latest firmware revision but instead ONLY reports the firmware revision on the FC25/S card.  This probes all SBus slots for FC25/S boards and reports back on what FCode version it finds.

Notes:

  1. The fc_update command is not supported on the SS4 or SS5.  (Please refer to Bug ID 1200802).
  2. WHEN YOU RUN THE FC_UPDATE PROGRAM YOU WILL GET ERRORS REPORTED TO THE CONSOLE FOR EVERY EMPTY SBUS SLOT.

The messages look like this:

Dec 27 11:21:53 nameus unix: WARNING: Board 3 CpuB (cpu7) MXCC ERROR 0x069801883 0020000
Dec 27 11:21:53 nameus unix:  MXCC.ERR=0x6980188
Dec 27 11:21:53 nameus unix:  CCOP=0x130
Dec 27 11:21:53 nameus unix:  ERR=0
Dec 27 11:21:53 nameus unix:  x3
Dec 27 11:21:53 nameus unix:  PA=0x830020000 (System Board 0, SBus Slot 3, Offset 0x20000)
Dec 27 11:21:53 nameus unix:  WARNING: Process 9996 (fc_update): async error.
 
How To Update

Use the fc_update command without the -v to download the FC25/S firmware, then halt the  system and power cycle the SPARCstorage Array:

Obtain the latest SSA 2.X CD media and mount it (vold  should already automatically mount it).  Example: SSA 2.1 or SSA 2.1.1
 

# cd <path_to_CDROM>/ssa_2_1_1sparc/fc_update
# ./fc_update

Notes:

  1. The fc_update command is not supported on the SS4 or SS5.  (Please refer to Bug ID 1200802).
  2. WHEN YOU RUN THE FC_UPDATE PROGRAM... YOU WILL GET ERRORS REPORTED TO THE CONSOLE FOR EVERY EMPTY SBUS SLOT

Dec 27 11:21:53 nameus unix: WARNING: Board 3 CpuB (cpu7) MXCC ERROR 0x0698018830020000
Dec 27 11:21:53 nameus unix:  MXCC.ERR=0x6980188
Dec 27 11:21:53 nameus unix:  CCOP=0x130
Dec 27 11:21:53 nameus unix:  ERR=0
Dec 27 11:21:53 nameus unix:  x3
Dec 27 11:21:53 nameus unix:  PA=0x830020000 (System Board 0, SBus Slot 3, Offset 0x20000)
Dec 27 11:21:53 nameus unix:  WARNING: Process 9996 (fc_update): async error.
 
Sun Enterprise Network Array (SENA/A5000/A5100/A5200/A5X00/PHOTON) Interface (IB) Firmware

IB (Interface Board) and Interconnect Assembly:

The A5X00 Interface Boards (IBs) contains the arrays functional firmware. When replacing IBs or the Interconnect Assembly (IA), it is important to understand how the firmware downloads function in the array.

THERE ARE 3 SETS OF FIRMWARE IN THE ARRAY:

  1. Downloadable functional code in the IB.
  2. Static or "Golden" firmware code in the IB.  Resides on EEPROM and only loaded at the factory. This is a "known good" code which can be used if download firmware is corrupt, but the static firmware can be downrev.
  3. Downloadable code on the motherboard (part of the IA).


To display the firmware revision of the Sun Enterprise Network Array (A5X00) Interface Board (IB) through the FPM (Front Panel module), follow these steps:
 

  1. From the main FPM menu, select the "Interface Board" icon.
  2. Select an installed IB, either "IB A" or "IB B".
  3. Look at the "FW rev:" line and this will give you the firmware revision, say for example "1.08".

To display the firmware revision of the Sun Enterprise Network Array (A5X00) Interface Board (IB) through "luxadm" command, CLI (Command Line Interface), follow these steps:

Determine all of the A5X00(s) attached to your system host by issuing the "luxadm probe" command.

Note: A delimiter of a "-v" will give you a better detailed, verbose output (# /usr/sbin/luxadm probe -v).
 

# /usr/sbin/luxadm probe

Searching directory /dev/es for links to enclosures
Found
SENA               Name:A   Node WWN:508002000000f598
Logical Path:/dev/es/ses0
Logical Path:/dev/es/ses1
Logical Path:/dev/es/ses6
Logical Path:/dev/es/ses7

Next, get the firmware revision by issuing the "luxadm display <Enclosure_Name>" command.

Notes: A delimiter of a "-v" will give you a better detailed, verbose output (# /usr/sbin/luxadm probe -v).  "Enclosure_Name" is obtained from the "Name" field of the "luxadm probe" output command.
 

# /usr/sbin/luxadm display A | grep FW

FW Revision:1.07   Box ID:0   Node WWN:508002000000f598   Enclosure Name:A

So, we see in this example that the IB firmware revision is "1.07".  Run this same command for all A5X00(s) attached to your system host.
 
How To Update

THERE ARE 3 WAYS TO MODIFY FIRMWARE IN THE ARRAY IBs:

The "luxadm download" command.

How it is done:

SOCAL/SOC+/SOC+HA FCode (Serial Optical Controller Arbitrated Loop Host Bus Adapter) or FC100/S (Fibre Channel 100MB/S Sbus Adapter)
 

How To Determine:
 

http://http://eservices.central/knowledge/products/explorer/index.html

NOTE: BE SURE TO USE EXPLORER REV 3.0.1 OR HIGHER ON SYSTEMS WITH A5X00 AND/OR SUN CLUSTERS.
 

# /usr/sbin/luxadm fcal_s_download

Found Path to 2 FC100/S Cards
Device: /devices/sbus@1f,0/SUNW,socal@1,0
Detected FC100/S Version: @(#) FCode 1.11 97/12/07
Device: /devices/sbus@1f,0/SUNW,socal@3,0
Detected FC100/S Version: @(#) FCode 1.11 97/12/07
Complete

In this example, it found 2 SOC+ cards, both having firmware revision "1.11".

Note: Running the "/usr/sbin/prtconf -vp | grep FCode" command will show the firmware revision for the on-board SOC+ and the SOC+ card in a Slot on the I/O board .

Again, the "S" in FC25/S means that this is an Sbus card that will be plugged into an Sbus slot on the Ultra Enterprise's I/O board.
 



Notes:

On systems with A5X00and/or Sun clusters, you MUST use Explorer rev 3.0.1 or higher.

While explorer will not execute the luxadm -v fcal_s_download command if the system is in multi-user mode, the FCode information is collected by prtconf -vp. To extract the FCode information run:
 

# sed -n -e '/device_type:.*socal/,/name:.*SUNW,socal/p' prtconf-vp.out


Where prtconf-vp.out is located in the sysconfig dir.

Sample output:
 

device_type:  'socal'
version: '@(#) FCode 1.11 97/12/07'
manufacturer:  'SUNW'
model:  '501-3060'
http://eservices.central/knowledge/products/explorer/index.html
and select "Tools".

luxadm-v_fcal_s_download.out - output from luxadm -v fcal_s_download


Note:
fcal_s_download will be executed only if the system is in single-user mode.
You can always get the socal's FCode version as follows:

# sed -n -e '/device_type:.*socal/,/name:.*SUNW,socal/p' prtconf-vp.out


Where prtconf-vp.out is located in the sysconfig dir.

Sample output:
 

device_type:  'socal'
version: '@(#) FCode 1.11 97/12/07'
manufacturer:  'SUNW'
model:  '501-3060'

How To Update:
 

SOC+ Dual Sbus IO Board:

I/O Type 4 FCODE 1.8.6 1997/09/18 14:55 iPOST 3.4.4 1997/08/26 17:37

For SOC+ IO/IOG Prom's:

. SOC+ IO/IOG FCode (& Microcde) - New SOCAL FCode and Microcode to replace SOC FCode and Microcode in IO/IOG Prom's. (Note: socal is also called soc+, the code between socal and soc is incompatible. i.e. Socal code doesn't work on soc device and soc code doesn't work on socal device.)

NOTE: What this entails is that the minimum supported FCODE for the dual SOC+ cards on-board is 1.8.6 which can be obtained from patch 103346-08.

As an example:

# /usr/platform/sun4u/sbin/prtdiag -v
System Configuration:  Sun Microsystems  sun4u 16-slot Sun Enterprise E6500
System clock frequency: 84 MHz
Memory size: 6144Mb

========================= CPUs =========================

                    Run   Ecache   CPU    CPU
Brd  CPU   Module   MHz     MB    Impl.   Mask
---  ---  -------  -----  ------  ------  ----
 0     0     0      336     4.0   US-II    2.0
 0     1     1      336     4.0   US-II    2.0
 2     4     0      336     4.0   US-II    2.0
 2     5     1      336     4.0   US-II    2.0
 4     8     0      336     4.0   US-II    2.0
 4     9     1      336     4.0   US-II    2.0
 6    12     0      336     4.0   US-II    2.0
 6    13     1      336     4.0   US-II    2.0
 8    16     0      336     4.0   US-II    2.0
 8    17     1      336     4.0   US-II    2.0
10    20     0      336     4.0   US-II    2.0
10    21     1      336     4.0   US-II    2.0
 

========================= Memory =========================

                                              Intrlv.  Intrlv.
Brd   Bank   MB    Status   Condition  Speed   Factor   With
---  -----  ----  -------  ----------  -----  -------  -------
 0     0    1024   Active      OK       60ns    1-way
 2     0    1024   Active      OK       60ns    1-way
 4     0    1024   Active      OK       60ns    1-way
 6     0    1024   Active      OK       60ns    1-way
 8     0    1024   Active      OK       60ns    1-way
10     0    1024   Active      OK       60ns    1-way

========================= IO Cards =========================

     Bus   Freq
Brd  Type  MHz   Slot  Name                              Model
---  ----  ----  ----  --------------------------------  ----------------------
 1   SBus   25     0   QLGC,isp/sd (block)               QLGC,ISP1000
 1   SBus   25     1   cgsix                             SUNW,501-1672
 1   SBus   25     3   SUNW,hme
 1   SBus   25     3   SUNW,fas/sd (block)
 1   SBus   25    13   SUNW,socal/sf (scsi-3)            501-3060

No failures found in System
===========================

No System Faults found
======================
 

=========================Environmental Status =========================
Keyswitch position is in Normal Mode
System Power Status: Redundant
System LED Status:    GREEN     YELLOW     GREEN
Normal                 ON        OFF       BLINKING
 

Fans:
-----
Unit   Status
----   ------
Rack    OK
Key     OK
AC      OK

System Temperatures (Celsius):
------------------------------
Brd   State   Current  Min  Max  Trend
---  -------  -------  ---  ---  -----
 0      OK       39     39   45  stable
 1      OK       37     37   42  stable
 2      OK       40     40   46  stable
 4      OK       38     37   44  stable
 6      OK       40     40   46  stable
 8      OK       38     38   44  stable
10      OK       43     42   50  stable
CLK     OK       29     29   34  stable
 

Power Supplies:
---------------
Supply                        Status
---------                     ------
0                                OK
1                                OK
2                                OK
3                                OK
4                                OK
PPS                              OK
    System 3.3v                  OK
    System 5.0v                  OK
    Peripheral 5.0v              OK
    Peripheral 12v               OK
    Auxilary 5.0v                OK
    Peripheral 5.0v precharge    OK
    Peripheral 12v precharge     OK
    System 3.3v precharge        OK
    System 5.0v precharge        OK
AC Power                         OK
 

========================= HW Revisions =========================

ASIC Revisions:
---------------
Brd  FHC  AC  SBus0  SBus1  PCI0  PCI1  FEPS  Board Type      Attributes
---  ---  --  -----  -----  ----  ----  ----  ----------      ----------
 0    1    5                                  CPU             98MHz Capable
 1    1    5    1      1                 22   Dual-SBus-SOC+  98MHz Capable
 2    1    5                                  CPU             98MHz Capable
 4    1    5                                  CPU             98MHz Capable
 6    1    5                                  CPU             98MHz Capable
 8    1    5                                  CPU             98MHz Capable
10    1    5                                  CPU             98MHz Capable

System Board PROM revisions:
----------------------------
Board  0:   OBP   3.2.21 1999/02/19 14:33   POST  3.9.10 1999/02/19 14:23
Board  1:   FCODE 1.8.7 1997/12/08 15:39   iPOST 3.4.8 1999/02/19 14:25
Board  2:   OBP   3.2.21 1999/02/19 14:33   POST  3.9.10 1999/02/19 14:23
Board  4:   OBP   3.2.21 1999/02/19 14:33   POST  3.9.10 1999/02/19 14:23
Board  6:   OBP   3.2.21 1999/02/19 14:33   POST  3.9.10 1999/02/19 14:23
Board  8:   OBP   3.2.21 1999/02/19 14:33   POST  3.9.10 1999/02/19 14:23
Board 10:   OBP   3.2.21 1999/02/19 14:33   POST  3.9.10 1999/02/19 14:23
 
 

Brd  Type  MHz   Slot  Name                              Model
---  ----  ----  ----  --------------------------------  ----------------------
 1   SBus   25    13   SUNW,socal/sf (scsi-3)            501-3060

Brd  FHC  AC  SBus0  SBus1  PCI0  PCI1  FEPS  Board Type      Attributes
---  ---  --  -----  -----  ----  ----  ----  ----------      ----------
 1    1    5    1      1                 22   Dual-SBus-SOC+  98MHz Capable

System Board PROM revisions:
----------------------------
Board  1:   FCODE 1.8.7 1997/12/08 15:39   iPOST 3.4.8 1999/02/19 14:25
 

FCODE 1.8.7 indicates that 103346-09 or higher was applied to this system.  From patch README:

Version -09 specific information:
---------------------------------
SOC+ Dual Sbus IO Board:
I/O Type 4 FCODE 1.8.7 1997/12/08 15:39
iPOST 3.4.4 1997/08/26 17:37
 

Obtain only the latest revision of this patch to get updated FCODE (firmware) onto the SOC+ dual sbus cards.
 

Disk Firmware

How To Determine:

SSA:

To determine a SparcStorage Array disk's firmware you can do any of the following:

Option 1:

Determine if SSA disk is present. Usually the device would be an "ssd". The give away that the drive is an SSA is, if you decipher the actual physical (hardware) path of the drive you see a "pln" or "soc".

Ways to determine if drive is from an SSA:
 

# format

or

# cd /dev/dsk
# ls -la

(You can also use /dev/rdsk).
 After obtaining the "Raw_Disk_Device_Name", you will then run:
 

# ssaadm display <Raw_Disk_Device_Name>

(You can use any slice number for this raw disk device, see Example).
 or
 Option 2:
 

# iostat -En
# iostat -E (if running Solaris 2.6 or higher)

[1.]

# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN0535 cyl 1866 alt 2 hd 7 sec 80>
 /io-unit@f,e0200000/sbi@0,0/dma@0,81000/esp@0,80000/sd@0,0
1. c0t1d0 <SUN0535 cyl 1866 alt 2 hd 7 sec 80>
 /io-unit@f,e0200000/sbi@0,0/dma@0,81000/esp@0,80000/sd@1,0
2. c0t2d0 <SUN0535 cyl 1866 alt 2 hd 7 sec 80>
 /io-unit@f,e0200000/sbi@0,0/dma@0,81000/esp@0,80000/sd@2,0
.
.
.
 /io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000000,78c789/ssd@0,0
8. c3t0d1 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>


From this output, we know that c3t0d1 is an SSA disk.

or
 

# cd /dev/dsk
# ls -la
.
.
.
lrwxrwxrwx   1 root     root          92 Dec  4  1998 c3t0d1s0 ->
../../devices/io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000000,78c789/s
sd@0,1:a,raw


So now we do:
 

# ssaadm display /dev/rdsk/c3t0d1s2
DEVICE PROPERTIES for device /dev/rdsk/c3t0d1s2
SCSI Port 0  Target 1
Status:        O.K.
Vendor:        SEAGATE
Product ID:    ST31200W SUN1.05
Firmware Rev:  8566
Serial Num:    00676732
Unformatted Capacity: 1006.400 MByte
Fast Writes:   Enabled


From the "Firmware Rev" line we've now determined this drive's firmware to be 8566.
 
2.]

You must be running Solaris 2.6 or higher in order for this command to work.
 

# iostat -En
.
.
.
c1t4d0          Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE  Product: ST19171FCSUN9.0G Revision: 1478 Serial No: 9725B95803
RPM: 7200 Heads: 27 Size: 9.06GB <9055065600 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0


A5X00

Option 1:

Determine the A5X00(s) currently hooked up and obtain their enclosure name(s) from the "Name" field of the "luxadm probe" command.
 

# luxadm probe

Name: sunarray


After obtaining the A5X00(s) enclosure name(s), issue the "luxadm display <Enclosure_Name>" command.
 

# luxadm display <Enclosure_Name>

where <Enclosure_Name> for example would be: sunarray taken from the "Name" field of the "luxadm probe" command.

Obtain the World Wide Number of the disk from the "(Node WWN)" column of the "DISK STATUS" output at the beginning of the displayed output from the "luxadm display <Enclosure_Name>" command.
 

# luxadm display <WWW_Of_Disk>


Sample output:
 

DISK STATUS
SLOT   FRONT DISKS       (Node WWN)
4      On (O.K.)         20000020370705cf

# luxadm display 20000020370705cf


From this output obtain the "Revision:  1478" line.  Firmware revision on this A5X00 disk is therefore 1478.
or

Option 2:

Determine if A5X00(s) disk is/are present. Usually the device would be an "ssd" and would have a "socal" or "sf" associated with it's actual physical (hardware) device path.

Ways to determine if drive is from an A5X00:
 

# format
# cd /dev/dsk
# ls -la

From the long listing (ls -la under /dev/dsk or /dev/rdsk), obtain the cXtXdXdXsX associated with the A5X00(s) disk. This would be the "<Raw_Disk_Device_Name>" needed for the "luxadm display <Raw_Disk_Device_Name>" needed in the next command to be executed.

Sample output:
 

lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s0 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:a

From this output the "<Raw_Disk_Device_Name>" would be /dev/rdsk/c1t4d0s0.
 

# luxadm display <Raw_Disk_Device_Name>

So executing this last command,
 

# luxadm display /dev/rdsk/c1t4d0s0

returns: "Revision: 1478" line.  In obtaining the "<Raw_Disk_Device_Name>", you can specify any slice number (s0 - s7).  This clearly shows the A5X00 disk firmware revision to be 1478.
Option 3:

If you are running Solaris 2.6 or higher, you may execute the iostat with the "-En" or "-E" command.
 

# iostat -En

From this output, you may obtain the disk firmware from the "Revision: 147E" line.  This shows a firmware revision of 147E.
 
DETAILED EXAMPLES FOR OPTIONS [1.], [2.], [3.]:

[1.]
 

# luxadm probe
Found
SENA               Name:A   Node WWN:508002000000f598
Logical Path:/dev/es/ses0
Logical Path:/dev/es/ses1
Logical Path:/dev/es/ses6
Logical Path:/dev/es/ses7
# luxadm display A
(luxadm version: 1.36 98/03/19)
                                   SENA
                                 DISK STATUS
SLOT   FRONT DISKS       (Node WWN)          REAR DISKS        (Node WWN)
0      On (O.K.)         200000203704faa8    On (O.K.)         20000020370c01c2
1      Not Installed                         Not Installed
2      Not Installed                         Not Installed
3      Not Installed                         Not Installed
4      On (O.K.)         20000020370705cf    On (O.K.)         200000203707073e
5      Not Installed                         Not Installed
6      On (O.K.)         200000203704fd32    On (O.K.)         2000002037070757
                                SUBSYSTEM STATUS
FW Revision:1.07   Box ID:0   Node WWN:508002000000f598   Enclosure Name:A
Power Supplies (0,2 in front, 1 in rear)
        0 O.K.(rev.-02) 1 O.K.(rev.-02) 2 O.K.(rev.-02)
Fans (0 in front, 1 in rear)
        0 O.K.(rev.-05) 1 O.K.(rev.-00)
ESI Interface board(IB) (A top, B bottom)
        A: O.K.(rev.-04)
                GBIC module (1 on left, 0 on right in IB)
                0 O.K.(mod.-05) 1 Not Installed
        B: O.K.(rev.-04)
                GBIC module (1 on left, 0 on right in IB)
                0 Not Installed 1 O.K.(mod.-05)
Disk backplane (0 in front, 1 in rear)
        Front Backplane: O.K.(rev.-05)
          Temperature sensors (on front backplane)
          0:39ŭC 1:39ŭC 2:37ŭC 3:37ŭC 4:37ŭC 5:40ŭC
          6:40ŭC  (All temperatures are NORMAL.)
        Rear Backplane:  O.K.(rev.-05)
          Temperature sensors (on rear backplane)
          0:40ŭC 1:39ŭC 2:37ŭC 3:37ŭC 4:37ŭC 5:39ŭC
          6:40ŭC  (All temperatures are NORMAL.)
Interconnect assembly
        O.K.(rev.-02)
Loop  configuration
        Loop A is configured as a single loop.
        Loop B is configured as a single loop.
Language        USA English

 
                                 DISK STATUS
SLOT   FRONT DISKS       (Node WWN)          REAR DISKS        (Node WWN)
0      On (O.K.)         200000203704faa8    On (O.K.)         20000020370c01c2
1      Not Installed                         Not Installed
2      Not Installed                         Not Installed
3      Not Installed                         Not Installed
4      On (O.K.)         20000020370705cf    On (O.K.)         200000203707073e
5      Not Installed                         Not Installed
6      On (O.K.)         200000203704fd32    On (O.K.)         2000002037070757


From this output we can now use the disk's WWN# to look for the firmware revision:
 

# luxadm display 20000020370705cf | grep Rev
  Revision:             1478

Armed with the WWN# information of the disk:
 

SLOT   FRONT DISKS       (Node WWN)
4      On (O.K.)         20000020370705cf


The WWN of this front disk in slot 4 is: 20000020370705cf and we know that the disk is DUAL ported, meaning it can have 2 logical/physical paths to this same disk, so it can either be:

21000020370705cf
 ^
 |
Port 0

22000020370705cf
 ^
 |
Port 1


Replace the "0" after the ssd@2X.... (where X is 0) with a 1 or 2 denoting the port number that Solaris understands like so:

21000020370705cf
# cd /dev/dsk
# ls -la | grep 21000020370705cf
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s0 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:a
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s1 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:b
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s2 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:c
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s3 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:d
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s4 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:e
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s5 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:f
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s6 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:g
lrwxrwxrwx   1 root     root          71 Apr 19 13:03 c1t4d0s7 ->
../../devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:h

# cd /dev/dsk
# ls -la | grep 22000020370705cf

lrwxrwxrwx   1 root     root         71 May  6 16:57 c4t4d0s0 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:a
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s1 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:b
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s2 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:c
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s3 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:d
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s4 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:e
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s5 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:f
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s6 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:g
lrwxrwxrwx   1 root     root          71 May  6 16:57 c4t4d0s7 ->
../../devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:h


Get the actual disk name, say c4t4d0s0.  Once you know the actual device name, use the raw partition for the logical device path, like so:
 

# luxadm display /dev/rdsk/c4t4d0s0
DEVICE PROPERTIES for disk: /dev/rdsk/c4t4d0s0
  Status(Port A):       O.K.
  Status(Port B):       O.K.
  Vendor:               SEAGATE
  Product ID:           ST19171FCSUN9.0G
  WWN(Node):            20000020370705cf
  WWN(Port_A):          21000020370705cf
  WWN(Port_B):          22000020370705cf
  Revision:             1478
  Serial Num:           9725B95803
  Unformatted Capacity: 8637.338 MByte
  Persistant Reserve:   Not being used
  Location:             In the enclosure named: A
  Path(s):
  /dev/rdsk/c4t4d0s0
  /devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w22000020370705cf,0:a,raw
  /dev/rdsk/c1t4d0s0
  /devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w21000020370705cf,0:a,raw


Again, the disk's revision tells you:

Revision:             1478


or
 

[2.]
 

# format

Searching for disks...done
 

AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
          /sbus@1f,0/SUNW,fas@e,8800000/sd@0,0
.
.
.

5. c1t16d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w22000020370c01c2,0


Here we clearly see c1t16d0 to be an A5000 disk with a WWN# of:

ssd@w22000020370c01c2,0
which really is:
22000020370c01c2

# luxadm display /dev/rdsk/c1t16d0s2

DEVICE PROPERTIES for disk: /dev/rdsk/c1t16d0s2
  Status(Port A):       O.K.
  Status(Port B):       O.K.
  Vendor:               SEAGATE
  Product ID:           ST19171FCSUN9.0G
  WWN(Node):            20000020370c01c2
  WWN(Port_A):          21000020370c01c2
  WWN(Port_B):          22000020370c01c2
  Revision:             147E
  Serial Num:           9747N37610
  Unformatted Capacity: 8637.338 MByte
  Persistant Reserve:   Not being used
  Location:             In the enclosure named: howard
  Path(s):
  /dev/rdsk/c1t16d0s0
  /devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w22000020370c01c2,0:a,raw
  /dev/rdsk/c4t16d0s0
  /devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w21000020370c01c2,0:a,raw
 
 


or
 

# luxadm display 22000020370c01c2

DEVICE PROPERTIES for disk: 22000020370c01c2
  Status(Port A):       O.K.
  Status(Port B):       O.K.
  Vendor:               SEAGATE
  Product ID:           ST19171FCSUN9.0G
  WWN(Node):            20000020370c01c2
  WWN(Port_A):          21000020370c01c2
  WWN(Port_B):          22000020370c01c2
  Revision:             147E
  Serial Num:           9747N37610
  Unformatted Capacity: 8637.338 MByte
  Persistant Reserve:   Not being used
  Location:             In the enclosure named: howard
  Path(s):
  /dev/rdsk/c1t16d0s0
  /devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w22000020370c01c2,0:a,raw
  /dev/rdsk/c4t16d0s0
  /devices/sbus@1f,0/SUNW,socal@3,0/sf@1,0/ssd@w21000020370c01c2,0:a,raw
 


or
 

[3.]
 

# iostat -En
(Again, this command can only be used if running Solaris 2.6 or higher).

c1t16d0         Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE  Product: ST19171FCSUN9.0G Revision: 147E Serial No: 9747N37610
RPM: 7200 Heads: 27 Size: 9.06GB <9055065600 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0


The disk's firmware revision is 147E.
 
 
 

A3000/RSM2000/D1000/A1000

GUI:
 

FOR CONTROLLERS:

rm6 -> Configuration -> Select the "RAID Module" ->
       Module Profile -> Controllers

       or

rm6 -> Status -> Select the "RAID Module" ->
       Module Profile -> Controllers

       or

rm6 -> Recovery -> Select the "RAID Module" ->
       Module Profile -> Controllers

       or

rm6 -> Maintenance/Tuning -> Select the "RAID Module" ->
       Module Profile -> Controllers
 

Typical ouput would be:
 

Board Name:            Sun Microsystems RAID Controller
Board ID:              3240
Board Serial Number:   1T80804589

Product ID:            StorEdge A1000
Product Serial Number: 1T80804589
Vendor ID:             Symbios
Date Of Manufacture:   02/26/98

SCSI ID:               4

Boot Level:            02.05.01.00
Firmware Level:        02.05.02.15
Fibre Channel Level:
Cache/Processor size:  16/8 MB


In this example,the firmware revision of the controller is: 02.05.02.15
 

FOR DISK DRIVES:

rm6 -> Configuration -> Select the "RAID Module" ->
       Module Profile -> Drives

       or

rm6 -> Status -> Select the "RAID Module" ->
       Module Profile -> Drives

       or

rm6 -> Recovery -> Select the "RAID Module" ->
       Module Profile -> Drives

       or

rm6 -> Maintenance/Tuning -> Select the "RAID Module" ->
       Module Profile -> Drives
 

Typical output would be:
 

Location Capacity(MB) Status Vendor ProductID FirmwareVersion
SerialNumber DateCode

[1,0] 4094 Optimal SEAGATE ST34501WCSUN4.2G 0558 LG477639 303132
[2,0] 4094 Optimal SEAGATE ST34501WCSUN4.2G 0558 LG450050 303132
.
.
.


From this output we therefore know that the disk's firmware revision is: 0558
 

CLI:
 

FOR CONTROLLERS:
 

[1.]
 

# lad

c1t4d0s0 1T80804589 LUNS:

# raidutil -c c1t4d0s0 -i

No existing LUNs were found on c1t4d0s0.

Vendor ID         Symbios
ProductID         StorEDGE A1000
Product Revision  0205
Boot Level        02.05.01.00
Boot Level Date   12/02/97
Firmware Level    02.05.02.15
Firmware Date     09/08/98
raidutil succeeded!


Clearly we see the line "Firmware Level 02.05.02.15" to be an indication of the controller's firmware revision.
 
 
 

FOR DISK DRIVES:

[1.]
 

# cat /etc/osa/mnf

cococay_001~1T80804589~ 0 1~~~0~3~~c1t4d0s0~~
 

# drivutil -i cococay_001

Drive Information for cococay_001
 

Location  Capacity   Status         Vendor  Product          Firmware     Serial
            (MB)                              ID             Version      Number
[1,0]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477639
[2,0]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG450050
[1,1]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477329
[2,1]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477157
[1,2]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477330
[2,2]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477424
[1,3]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG476960
[2,3]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477584
[1,4]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG480242
[2,4]     4094       Optimal        SEAGATE ST34501WCSUN4.2G 0558
LG477589

Again based on this output we have obtained the disk's firmware revision to be 0558 for all drives.
 
 

How to Update

SSA AND A5X00 AND A3000/RSM2000/D1000/A1000

FOR THE DISK DRIVES:

Use the firmware "download" binary/utility found in the corresponding disk's firmware patch.

As an example:

Patch-ID# 106817-01
Keyword: STST39173W 9GB 7063 5084 disk firmware
Synopsis: Hardware, 9GB Disks: Download program and ST39173W 7063 firmware
Date: Oct/02/98
 

From the Patch README:

...

The procedure to be used for upgrading the drive firmware is explained below. Upgrade time will be approximately 2 minutes for the system.

Unpack the patch (through tar) into any directory, say <patchdir>.  (Note, if the patch ends in a ".Z" suffix, you will need to first uncompress it.)  So, you would type:

% su root
# cd <patchdir>
# tar xf <patch tar file>
# ./download

Please look at:

to obtain the latest disk firmware patches.

Typical disk firmware patches are:
103451-XX
104839-XX
106817-XX
104258-XX
106129-XX
107028-XX

where XX denotes the latest revision of the patch which can be obtained in Sunsolve.

For a better search of the firmware patch, after looking at Sun Early Notifier DocID: 14838 and determining which patch is needed you can use the search engine in http://sunsolve.sun.com and use keywords such as "9GB firmware disk 4GB 18GB ST34501"... etc... (this is only an example).
 
 

FOR THE CONTROLLERS:
 

GUI:

Update controller firmware on both controllers by:
 

  1. Bring up Raid Manager GUI called rm6 (/usr/lib/osa/bin/rm6).  Select "Maintenance/Tuning" icon.
  2. Select "Firmware Upgrade" icon.
  3. Select "Offline" button - the software checks the selected RAID modules for restrictions.  If there are no restrictions, it displays a list of firmware revisions.
  4. Select the version level to download.
  5. Select "OK" when correct version is highlighted.

  6. Select "OK" - Confirmation will indicate if upgrade succeeded or failed.

CLI:

Use the fwutil command.  For more inquiries use the man page for fwutil.

NAME
     fwutil - controller firmware download utility
SYNOPSIS
     fwutil <file> <raid controller specifier>
     fwutil -?
DESCRIPTION
     fwutil transfers the contents of <file> into the  RAID  con-
     troller indicated by <raid controller specifier>. <file> may
     be appware, bootware, fibre channel version,  or  an  NVSRAM
     file.  The operand <raid controller specifier> is an operat-
     ing system device name (e.g. c1t2d0s0 (UNIX),  drive1  (NT),
     or beatr_1 (Networked)) identifying the controller where the
     firmware will be downloaded. Only that controller,  and  not
     its  partner,  will  have firmware downloaded to it.  fwutil
     provides no validity  checking  or  consistency  guarantees.
     This  means  it  is  up to the user to ensure such things as
     bootware/appware  compatibility   and   synchronization   of
     firmware  versions  across  dual  controllers.   fwutil does
     secure exclusive access to all LUNs on the controller it  is
     downloading   and   fails  if  exclusive  access  cannot  be
     obtained.

EXAMPLES
     1. (UNIX) Download the bw020401.dl file to the controller c1t2d0s0.

# fwutil bw020401.dl c1t2d0s0
 
# fwutil bw020401.dl drive1
 
# fwutil bw020401.dl beatr_1
INTERNAL SUMMARY:

REFERENCES:

[1.] Chapter 8 of the A5X00 Service Manual EXTERNAL SITE:
     http://sunsolve2.sun.com/fcs/A5000/docs.html

[2.] Appendix B of the A5X00 Troubleshooting Guide (April 1999) INTERNAL SITE:
     http://storageweb.eng.sun.com/techmark_site/photon/main/index.html

[3.] Different man(ual) pages of SSA/A5X00/RSM2000 command utilities.

SUBMITTER: Lenin M Salvador APPLIES TO: Hardware/Disk Storage Subsystem/StorEdge Disk Array/StorEdge A1000, Hardware/Disk Storage Subsystem/StorEdge Disk Array/StorEdge A3000, Hardware/Disk Storage Subsystem/StorEdge Disk Array/StorEdge A3500, Hardware/Disk Storage Subsystem/StorEdge Disk Array/StorEdge A5000, Hardware/Disk Storage Subsystem/StorEdge Disk Array/StorEdge 5100, Hardware/Disk Storage Subsystem/StorEdge Disk Array/StorEdge 5200, Hardware/Disk Storage Subsystem/SPARCStorage Array, Hardware/Disk Storage Subsystem/RSM 200 Series, Storage/RAID Manager, AFO Vertical Team Docs/Storage ATTACHMENTS:


Copyright (c) 1997-2003 Sun Microsystems, Inc.