
                       QLogic FC/FCoE FCode Readme File
                            QLogic Corporation
                            All rights reserved

Table of Contents

1. Package Contents 
2. Supported Adapters/Controllers 
3. Supported Operating Systems
4. Installing the Driver 
5. Additional Notes 
6. Contacting Support


1. Package Contents
 
 * Qxxxxxx.BIN - Combined binary file, which includes BIOS, 
   FCode, UEFI driver, and ASIC firmware

 * Readme.txt - Readme File (This file)

 * ReleaseNotes.txt -Fcode release history
 

2. Supported Adapters/Controllers 
 
   * 2400 Series Adapters  (use qlx246x package)
   * 2500 Series Adapters  (use qlx256x package)
   * 8100 Series Adapters  (use qlx81xx package)


3. Supported Operating Systems

Please check the downloads section for your adapter model at www.qlogic.com 
or your OEM downloads site for a list of compatible  operating systems.


4. Installing the Driver (Bootcode)
This section contains:
 * 4.1 Updating the Bootcode
 * 4.2 Adapter Configuration 


4.1 Updating the Bootcode:
-------------------------
To update the Bootcode:

Use the latest SANsurfer/QCC application to update the boot code:
Q24xxxxx.BIN for QLx24xx HBA
Q25xxxxx.BIN for QLE25xx HBA
Q8qxxxxX.BIN for QLE81xx HBA
 
*For procedures on updating Flash using the QCC GUI/CLI applications, see 
 the FC HBA Manager Online Help and QCC User's Guide.

*Before flashing the Bootcode, the latest QLogic/Oracle Solaris HBA/CNA driver
 must be installed.


4.2 Adapter Configuration 
-------------------------
This section contains:
 * 4.2.1. Selecting the FC/FCoE Function from OBP
 * 4.2.2. Setting and viewing NVRAM Parameters
 * 4.2.3. Diagnostic Commands


4.2.1. Selecting the FC/FCoE Function from OBP
----------------------------------------------
Prior to setting Fibre Channel HBA NVRAM parameters or executing Diag commands,
the device must be selected at the OBP ok prompt. Before you can select the
HBA device, you must first 'halt' Solaris and then enter the following
commands at the ok prompt:
   setenv auto-boot? false
   reset-all

This will initialize the OBP environment properly. You can skip the 'setenv'
command if the auto-boot? environment flag is already set to 'false'. You may
view the current flag settings using the 'printenv' command.

To select the device, you may use either select-dev or select methods, as
Shown in the examples below.

NOTE: When finished setting parameters or running diagnostics and prior to
      booting the system, you should always unselect the device by typing:
      unselect-dev.

Example:
   {0} ok " /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1" select-dev
       ^-- must have leading space.
      or
   {0} ok select /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1

If you are in a windows environment, you can cut and paste the HBA's device path
into the select or select-dev command. To view a list of all devices in the 
system, enter: show-devs.

Another way to show a list of HBA devices attached to the system is to use the 
"show-disks" command, as shown in the example below.

Example:
   {0} ok show-disks
   a) /pci@7c0/pci@0/pci@9/QLGC,qla@0,1/sd  (QLogic HBA Port 1)
   b) /pci@7c0/pci@0/pci@9/QLGC,qla@0/sd    (QLogic HBA Port 0)
   c) /pci@7c0/pci@0/pci@8/QLGC,qla@0/sd
   d) /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk
   e) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1,1/fp@0,0/disk  (SUN HBA Port 1)
   f) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/disk    (SUN HBA Port 0)
   g) /pci@7c0/pci@0/pci@9/SUNW,qlc@0,3/fp@0,0/disk     (SUN 8100 CNA Port 1)
   h) /pci@7c0/pci@0/pci@9/SUNW,qlc@0,2/fp@0,0/disk     (SUN 8100 CNA Port 0)
   i) /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom
   j) /pci@7c0/pci@0/pci@1/pci@0/ide@8/disk
   q) NO SELECTION
   Enter Selection, q to quit: f
   /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/disk has been selected.
   Type ^Y ( Control-Y ) to insert it in the command line.
   e.g. {0} ok nvalias mydev ^Y
   for creating devalias mydev for /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/disk

   {0} ok " /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1" select-dev  
           ^-- enter ^Y here                       ^-- use backspace to remove fp...
   
   or if you had selected the a) device, then ^Y would produce:
   {0} ok select /pci@7c0/pci@0/pci@1/pci@0,2/QLGC,qla@0,1
                ^-- enter ^Y here                         ^-- use backspace here  

When the HBA device is selected the first time, similar banner should appear:
    
    QLogic MMMMMMM  Host Adapter FCode(SPARC): XX.XX   YYYYYYY 
    Firmware version Z.ZZ.ZZ

NOTE: Where MMMMMMM = HBA/CNA Model Number,  (e.g. QLE2562) 
            XX.XX   = FCode Version, 
            YYYYYYY = Date/Time code of FCode release version
            Z.ZZ.ZZ = Firmware Version 


4.2.2. Setting and viewing NVRAM Parameters
-------------------------------------------
This section contains:
   * A.  Setting and viewing Fibre Channel connection mode  (FC HBAs only)
   * B.  Setting and viewing Fibre Channel data rate        (FC HBAs only)
   * c.  Setting and viewing FCode operation mode
   * D.  Setting and viewing login-retry-count  
   * E.  Setting and viewing link-down-timeout
   * F.  Setting and viewing port-down-retry-count
   * G.  Setting and viewing max-frame-size
   * H.  Setting and viewing boot-wait-time
   * I.  Restoring NVRAM Parameter Defaults
   * J.  Displaying & entering boot device information
   * K.  Setting and viewing FCF VLAN-ID                    (FCoE CNAs only)
   * L.  Setting and viewing the MAC Address Mode           (FCoE CNAs only)

To list all NVRAM and Diagnostic Commands: type "show-commands" at ok prompt.

   {0} ok show-commands
   NVRAM Parameter commands
         show-settings
         set-connection-mode       (FC HBAs only)
         set-data-rate             (FC HBAs only)
         set-mac-am                (FCoE CNAs only)
         set-vlan-id               (FCoE CNAs only)
         set-fc-mode
         set-login-count
         set-link-timeout
         set-port-down-count
         set-max-frame-size
         set-boot-wait-time
         restore-default-settings
         set-boot-wwn              (qla mode only)
         set-boot-id               (qla mode only)
   Diag Commands
         version
         beacon
         selftest
         ext-loopback-test
         show-children
         show-fcfs                 (FCoE CNAs only)
         disk-test
         sel-dev
         sel-lun
   See Readme file for details

To show the current value of all of the NVRAM parameters, as well as the
version, serial number, and HBA WWN, type "show-settings".

Example:
 
   {0} ok show-settings
   QLogic MMMMMMM  Host Adapter FCode(SPARC): XX.XX   YYYYYY
   Firmware version Z.ZZ.ZZ
   Product-ID: PCI-Express Dual Channel 8Gb Fibre Channel HBA QLE2562
   Serial# AFC0731P01932
   node-wwn 2000001b 3216ecea
   port-wwn 2100001b 3216ecea
   Current HBA Connection Mode: point-to-point  (FC HBAs only)
   Current HBA Data Rate: Auto-negotiated       (FC HBAs only)
   Current Fcode Mode: qla
   Current FW login-retry-count: 8(8)
   Current link-down-timeout: 3c(60) seconds
   Current port-down-retry-count: 8(8)
   Current max-frame-size: 800(2048)
   Current boot-wait-time: DISABLED
   Current Boot-WWPN: 210000203711bfb9, Boot-LUN: 1b(27), Boot-Target-ID:aa(170)
NOTES: Where MMMMMMM = HBA/CNA Model Number,  (e.g. QLE2562) 
            XX.XX   = FCode Version, 
            YYYYYYY = Date/Time code of FCode release version
            Z.ZZ.ZZ = Firmware Version 

   Current Boot-WWPN, Boot-LUN, Boot-Target-ID are only displayed in qla-mode.


4.2.2A. Setting and viewing Fibre Channel connection mode      (FC HBAs only) 
---------------------------------------------------------
To change or view the current host adapter Fibre Channel connection mode,
type "set-connection-mode".

   Example:
   
   {0} ok set-connection-mode
   Current HBA connection mode: 2 - Loop preferred, otherwise point-to-point
   Do you want to change it? (y/n) y
   Choose HBA Connection Mode:
   0 - Loop Only
   1 - Point-to-point only
   2 - Loop preferred, otherwise point-to-point
   Enter: 2
   Current HBA connection mode: 2 - Loop preferred, otherwise point-to-point

NOTE: FL-port (Loop) topology is not supported with the QLE220 model HBA.
     If your Device ID is 54xx (e.g. QLE220) then you cannot change
     the connection-mode. By default = Loop preferred, otherwise point-to-point

4.2.2B. Setting and viewing Fibre Channel data rate     (FC HBAs only)
To change or view the current host adapter Fibre Channel data rate, type:
 "set-data-rate".

   Example:
    {0} ok  set-data-rate
    Current HBA Data Rate: Auto-Negotiated
    Do you want to change it? (y/n) y
    Choose Data Rate:
    0 - 1 Gb/sec         (4Gb HBAs only)
    1 - 2 Gb/sec
    2 - Auto-negotiated
    3 - 4 Gb/sec
    4 - 8 Gb/sec         (8Gb HBAs only)
    Enter: 2
    Current HBA Data Rate: Auto-Negotiated

NOTE: If your Device ID is 54xx (e.g. QLE220) then you cannot change 
      the data-rate. By default = Auto-Negotiated.


4.2.2C. Setting and viewing FCode operation mode
-------------------------------------------------
FCode supports two FCode operation modes - qla and qlc, default = qlc.
qla mode requires a driver named qla2300
qlc mode requires a driver named qlc
qla mode is not supported on Sun (SUNW) branded HBAs.

WARNING: Use extreme caution when changing the FCode Mode as changing it may
cause Solaris to create new device paths for this adapter, which may affect
driver instance numbers and mount points in Solaris

Example:
  {0} ok set-fc-mode
  Current Fcode Mode: qlc
  Do you want to change it? (y/n) y
  Choose Fcode Mode:
  0 - qlc
  1 - qla
  enter: 0
  Current Fcode Mode: qlc


4.2.2D. Setting and viewing login-retry-count
---------------------------------------------
The login-retry-count NVRAM parameter is used by the Fcode to set the Login
Retry Count field in the Firmware Initialization Control Block. This specifies
the number of login retries attempted by the FW. The default value is 8.
Use the set-login-count command to change this parameter.

Example:
  {0} ok set-login-count
  Current FW login-retry-count: 8(8)
  Do you want to change it? (y/n) y
  FW login-retry-count: Enter 1-ff hex: 7
  Current FW login-retry-count: 7(7)


4.2.2E. Setting and viewing link-down-timeout
----------------------------------------------
The link-down-timeout NVRAM parameter is used by the FCode to determine the 
number of seconds to wait for the link to come up. The default value is 30.
Use the set-link-timeout command to change this parameter.

Example:
  {0} ok set-link-timeout
  Current link-down-timeout: 1e(30) seconds
  Do you want to change it? (y/n) y
  link-down-timeout: in Secs. Enter 2-ff hex: 14
  Current link-down-timeout: 14(20) seconds


4.2.2F. Setting and viewing port-down-retry-count
--------------------------------------------------
The port-down-retry-count NVRAM parameter is used by the FCode to determine the 
number of retries for the start, read and write SCSI commands. The default value
is 30. Use the set-port-down-count command to change this parameter.

Example:
  {0} ok set-port-down-count
  Current port-down-retry-count: 1e(30)
  Do you want to change it? (y/n) y
  port-down-retry-count: Enter 1-ff hex: 10
  Current port-down-retry-count: 10(16)


4.2.2G. Setting and viewing max-frame-size
-------------------------------------------
The max-frame-size NVRAM parameter is used by the FCode to set the maximum frame
length field in the Firmware Initialization Control Block. The default value
is 2048. Use the set-max-frame-size command to change this parameter.

Example:
  {0} ok set-max-frame-size
  Current max-frame-size: 800(2048)
  Do you want to change it? (y/n) y
  Choose max-frame-size:
  1 - 512
  2 - 1024
  3 - 2048
  enter: 2
  Current max-frame-size: 400(1024)


4.2.2H. Setting and viewing boot-wait-time
-------------------------------------------
The boot-wait-time NVRAM parameter is used by the FCode to adjust the time to
wait in seconds for the boot device to become online. The default value is
'DISABLED', which sets it to 8 seconds. The maximum value is 65,535 seconds
(18 hours, 6 minutes). The minimum value is 8 seconds, same as when disabled.
Because this wait-time can be very long, the boot process may be aborted at
any time by typing the 'escape' key.  Use the set-boot-wait-time command to
change this parameter.

Example 1:
  {0} ok set-boot-wait-time
  Current boot-wait-time: DISABLED
  Do you want to change it? (y/n) y
  boot-wait-time: Enter 8-65535 (decimal): 360
  Current boot-wait-time: 360 seconds   (this example sets it to 6 minutes)

Example 2:
  {0} ok set-boot-wait-time
  Current boot-wait-time: 360 seconds
  Do you want to change it? (y/n) y
  Do you want to Disable it? (y/n) y
  Current boot-wait-time: DISABLED       (this example disables the parameter)


4.2.2I. Restoring NVRAM Parameter Defaults
-------------------------------------------
Use the restore-default-settings command to restore the default values of all
NVRAM parameters used by the FCode.

 Example:
  {0} ok restore-default-settings  
  Reset all NVRAM values back to defaults. Are you sure? (y/n) y 
  NVRAM defaults restored
  Current HBA Connection Mode: Loop preferred, otherwise point-to-point 
  Current HBA Data Rate: Auto-negotiated
  Current Fcode Mode: qlc 
  Current FW login-retry-count: 8(8)  
  Current link-down-timeout: 1e(30) seconds 
  Current port-down-retry-count: 1e(30)
  Current max-frame-size: 800(2048)  
  Current boot-wait-time: DISABLED
  Current Boot-WWPN: 0000000000000000, Boot-LUN: 0(0), Boot-Target-ID: 0(0)  
  {0} ok


4.2.2J. Displaying & entering boot device information      (for qla mode only)
------------------------------------------------------------------------------
If the FCode operation is in qla mode the boot device information must be
saved to the HBA as in the example below.

Example showing selection of boot device from list
---------------------------------------------------
  {0} ok set-boot-wwn
  Current Boot-WWPN: 0000000000000000, Boot-LUN: 0(0), Boot-Target-ID: 0(0)
  Do you want to change it? (y/n)
  Select one of these devices:
  0 -  Dev# 0(0)   PortID 10b9b    Port WWN 216000c0fff02f95
  1 -  Dev# 1(1)   PortID 10b9d    Port WWN 216000c0ffe02f95
  2 -  Dev# 2(2)   PortID 10b9e    Port WWN 216000c0ffd02f95
  3 - Enter Manually
  Select #: 1
  Boot-Target-ID: Enter 0-7ff hex: 82
  Current available LUNs:
  LUN    0(0)      SUN     StorEdge 3510   421D

  Boot-LUN: Enter 0-ff hex: 0
  Current Boot-WWPN: 216000c0ffe02f95, Boot-LUN: 0(0), Boot-Target-ID: 82(130) *
  {0} ok
* Target-ID = Format Target number i.e. c1t130d0s0.

Example of manual entry of boot device information 
--------------------------------------------------
(This step is not required if set-boot-wwn is entered correctly)

  {0} ok set-boot-wwn
  Current Boot-WWPN: 216000c0ffe02f95, Boot-LUN: 0(0), Boot-Target-ID: 82(130)
  Do you want to change it? (y/n)
  Select one of these devices:
  0 -  Dev# 0(0)   PortID 10b9b    Port WWN 216000c0fff02f95
  1 -  Dev# 1(1)   PortID 10b9d    Port WWN 216000c0ffe02f95
  2 -  Dev# 2(2)   PortID 10b9e    Port WWN 216000c0ffd02f95
  3 - Enter Manually
  Select #: 1
  Boot-WWPN: Enter HI 32-bit hex: 216000c0
  Boot-WWPN: Enter LOW 32-bit hex: ffe02f95
  Boot-Target-ID: Enter 0-7ff hex: 82
  Boot-LUN: Enter 0-ff hex: 0
  Current Boot-WWPN: 216000c0ffe02f95, Boot-LUN: 0(0), Boot-Target-ID: 82(130)
  {0} ok


Example of setting and viewing the boot Target ID only 
------------------------------------------------------
(This step is not required if set-boot-wwn is entered correctly)

  {0} ok set-boot-id
  Boot-Target-ID: 9a(154)
  Do you want to change it? (y/n) y
  Boot-Target-ID: Enter 0-7ff hex: 1a
  Boot-Target-ID: 82(130)
  {0} ok set-boot-wwn
  Current Boot-WWPN: 216000c0fff02f95, Boot-LUN: 0(0), Boot-Target-ID: 82(130)
  Do you want to change it? (y/n)
  No change
  {0} ok
  

4.2.2K.  Setting and viewing FCF VLAN-ID                 (FCoE CNAs only)
------------------------------------------------------------------------
The set-vlan-id command allows the user to change the default FCF VLAN-ID,
which is normally equal to 1002, (0x3eb).
Example:

  {0} ok set-vlan-id
  Current FCF VLAN-ID: 3ea(1002)
  Do you want to change it? (y/n) y
  FCF VLAN-ID: Enter 0-ffff hex: 3eb
  Current FCF VLAN-ID: 3eb(1003)


4.2.2L. Setting and viewing the MAC Address Mode         (FCoE CNAs only)
-------------------------------------------------------------------------
The set-mac-am command allows the user to specify the MAC Address Mode.
Example:

  {0} ok set-mac-am
  Current Adapter MAC Address Mode: FPMA only
  Do you want to change it? (y/n) y
  Choose Adapter MAC Address Mode:
  0 - FCF Selected
  1 - SPMA only
  2 - FPMA only
  3 - SPMA preferred
  4 - FPMA preferred
  enter: 4
  Current Adapter MAC Address Mode: FPMA preferred


4.2.3. Diagnostic Commands
--------------------------
This section contains:
   * A.  Version command
   * B.  Beacon support
   * C.  Selftest
   * D.  ext-loopback-test command
   * E.  show-children command
   * F.  show-fcfs command                                (FCoE CNAs only)
   * G.  disk-test command


4.2.3A. Version command
-----------------------
To display the current FCode and Firmware version, simply type "version".
 
Example:
  {0} ok version
  QLogic QLE2562  Host Adapter FCode(SPARC): X    Y
  Firmware version Z
  {0} ok

NOTE: Where X = FCode Version,Y = Date of FCode version release and Z = Firmware version
 
4.2.3B. Beacon support
----------------------
Beacon is a feature to allow a specific host adapter to be visually located
easily. When the feature is activated, the yellow and amber LEDs on the back
of the adapter will flash at approximately one second intervals.

To enable the feature do the following:
 1. Select the host adapter device you wish to locate as described in section 3,
    above.

 2. Enter: "beacon"
    The following message is displayed:
       Flashing adapter LEDs, type any character to quit -

   The yellow and amber LEDs on the selected host adapter will flash until any
   character is entered on the keyboard.

NOTE: For multi-channel host adapters, only one channel's LED will flash.

 
4.2.3C. Selftest
----------------
Selftest is the name of the method that is executed when the "test <node path>"
command is entered at the ok prompt.
  Example:
   {0} ok test /pci@1c,600000/SUNW,qlc@1
   or
   {0} ok test /pci@1d,700000/pci@2/QLGC,qla@0,1

NOTE: It is recommended using a Loopback plug. This will insure that the
      external loopback test will be executed.

An alternative way to test the HBA device is to first, select the device you 
wish to test as described in section 3, above. Then enter "selftest".
Example:
  {0} ok selftest
          nvram ok
          FCode Checksum OK
          Testing memory, pattern  0  - PASS
          Testing memory, pattern  ffffffff  - Passed
          Testing memory, pattern  55aa5555  - Passed
          Testing memory, pattern  aaaa55aa  - Passed
          Testing memory, pattern  a55aa55a  - Passed
          Testing memory, pattern  5b5a5a6a  - Passed
          Testing memory, pattern  ff00f0f0  - Passed
          Testing memory, pattern  1ff00f0e  - Passed
          10-bit Internal Loopback Test - Passed
          1-bit Internal Loopback Test - Passed
          External Internal Loopback Test - Passed
  {0} ok


4.2.3D.  ext-loopback-test command
----------------------------------
The ext-loopback-test method allows the user to manually execute the external
loopback test. Selftest will skip this test if the HBA device is attached to a
Switch. The Diag Echo command is used instead of the loopback command if the 
topology is either F-port or FL-port (i.e. a Switch). The Diag Echo command is
not supported by all FC Switches. Therefore, it is skipped during Selftest.
Example:
  ext-loopback-test
          Switch Diag Echo Loopback Test - Passed
  {0} ok


4.2.3E.  show-children command
------------------------------
show-children is the name of the method that is called when "probe-scsi-all"
is executed. The probe-scsi-all command will show all of the SCSI Target/Luns 
attached to the system by executing the show-children method of all devices
with the device-type property set to "scsi" or "scsi-fcp". To show the Targets
and Luns of a single HBA, select the HBA device as described in section 3,
above. Then enter "set-mode".
Example:

  {0} ok show-children
  Adapter portID - 10800
  ************** Fabric Attached Devices **************
  Dev# 0(0)   PortID 10b9b    Port WWN 216000c0fff02f95
   LUN    0(0)      SUN     StorEdge 3510   421D
  Dev# 1(1)   PortID 10ba9    Port WWN 216000c0ff702f95
   LUN    0(0)    DISK  SUN     StorEdge 3510   421D
   LUN    1(1)    DISK  SUN     StorEdge 3510   421D
   LUN    2(2)    DISK  SUN     StorEdge 3510   421D

  {0} ok

4.2.3F.  show-fcfs command                   (FCoE CNAs only)
-------------------------------------------------------------
The show-fcfs command will show all FCFs currently attached to the CNA.
Example:

  {0} ok show-fcfs
   FCF# 0
    FCF VLAN-ID: 3ea  FCF-MAC=000deca41dc0  FCF Ad FC-MAP= efc00
     FCF Switch-Name=2001000deca41dc1  FCF Fabric-Name=100000c0dd09988f
     Common Features=3300  R_A_TOV=2710(10000)  E_D_TOV=7d0(2000)


4.2.3G.  disk-test command
--------------------------
The disk-test was added as a diagnostic tool to allow the user to perform as
simple, non-destructive, read/write data test to a selected target.
To execute disk-test, follow these steps, below.

1. Select the HBA device as described in section 3, above.

2. Execute show-children
   Pick a target (Dev#) and LUN from the listed devices.

3. Login to the target by typing: "<dev#> sel-dev"
   Example:    7 sel-dev       (will login to Dev# 7)

4. Select a LUN. by typing: "<lun#> sel-lun"
   Example:    4d sel-lun       (will select LUN 4d, hex)

   NOTE: You may skip this step if the LUN # =0, which is the default.

5. Execute disk-test by typing "disk-test".
   disk-test will perform a read-write-read-compare test to the selected target,
   64 blocks (32k bytes) at a time. While it is running it will display the
   current disk block address. The test can be terminated by pressing any key.

The disk-test command can also be used to locate a particular target, if there
is an activity LED on the target.



5. Additional Notes
-------------------
This section contains:

 * 5.1 Supported Features
 * 5.2 Notes
 * 5.3 Building a bootable disk


5.1.  Supported Features
------------------------
* 2048 Target ID Support
* 256 LUN/Target Support for qla mode
* 16384 LUN/Target Support for qlc mode
* Boot from Fabric and Local Loop.  (FC HBAs)
* Boot from Fabric Topology only.   (FCoE CNAs)
* 1,2 or 4 Gb/sec data rate support (4Gb HBAs)
* 2,4 or 8 Gb/sec data rate support (8Gb HBAs)
* 10 Gb/sec data rate               (FCoE CNAs)
* Auto NVRAM/VPD backup/recovery    (8Gb HBAs and FCoE CNAs)


5.2. Notes
----------
1. Some FCode settings at OBP will not be reflected in the SCLI or the SANSurfer.
2. Issue reset-all when change is made to the FCode or Fiber link/target.
3. External Optical Loop back is required when issue test /pci@xxx...
4. All Converged Network Adapters (CNAs) do not allow changing the connection
   mode or the data-rate. They are fixed at 'Fabric' and '10Gb'.
5. HBA FCode does not support "Loop Only" connection mode when attached
   directly to an EMC Symmetrix Storage.


5.3. Building a bootable disk
-----------------------------
This procedure assumes the system is already booted from an existing system
disk, and that you have already performed a full system backup.  
The device name shown in this example is for a device on the third PCI bus 
slot, target Id 130, Lun 0, and slice 0. The device path is different on 
each system depending on which PCI bus slot, target Id, Lun, etc.

You must have already completed the steps listed above before attempting
to create a bootable disk.

This procedure involves using the Solaris command, ufsdump to create temporary
saveset files for each partition on your current boot disk. In order for this 
method to be successful, you must have enough extra disk space to create the
saveset files or your Solaris machine must have a high capacity tape drive
attached.


1. Determine the amount of disk space used on your current boot disk.  
   Use the "/usr/bin/df -k -l" command for a listing.  

   Example: 
 
# /usr/bin/df -k -l

Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t0d0s0    2577118 1650245  875331    66%    /
/proc                      0       0       0     0%    /proc
fd                         0       0       0     0%    /dev/fd
mnttab                     0       0       0     0%    /etc/mnttab
swap                 1310480       0 1310480     0%    /var/run
swap                 1311344     864 1310480     1%    /tmp
/dev/dsk/c0t0d0s7    5135326     114 5083859     1%    /home

This df example shows that the current boot disk is /dev/dsk/c0t0d0s(x).  
There are two partitions of interest, slice 0 or "/" and slice 7 or "/home". 
Slice 0 is using 1.6GB and has 875MB free. Slice 7 uses 114KB and has 5GB
free. Therefore, Slice 7 or "/home" can be used to store the temporary saveset
files. If at least 1.7GB free was not available on this disk,  a partition
would have to be created on the new bootable disk large enough to hold the 
largest temporary saveset plus the largest used space on a partition. In this
example, that would be a partition at least 3.2GB(1.6GB+1.6GB).

2. Use the "format" command to create, label and format partitions on the 
   new bootable disk. These partitions must be able to contain the contents 
   of the temporary savesets. If you are not familiar with the "format"
   command, carefully read the Solaris documentation and manual pages for the
   command. Misuse of "format" could destroy the data on the current disk
   drives.

Example:

# format
   partition
      print

Current partition table (original):
Total disk cylinders available: 3880 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 - 2650        2.73GB    (2651/0/0) 5726160
  1       swap    wu    2651 - 2930      295.31MB    (280/0/0)   604800
  2     backup    wm       0 - 3879        4.00GB    (3880/0/0) 8380800
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6 unassigned    wm       0               0         (0/0/0)          0
  7       home    wm    2931 - 3879     1000.90MB    (949/0/0)  2049840
        
  label
  quit
  quit

3. Use the "newfs" command to create the file system.

   Example: In case of qla FCode(fc) mode

   # newfs -v /dev/rdsk/c3t130d0s0 (/) 

   # newfs -v /dev/rdsk/c3t130d0s7 (home) 

   Example: In case of qlc FCode(fc) mode

   # newfs -v /dev/rdsk/c5t216000c0ffe02f95d0s0 (/)

   # newfs -v /dev/rdsk/c5t216000c0ffe02f95d0s7 (home)
   
   NOTE: The target device Id (t130) is in decimal! The hexadecimal value
   for the target Id is used in the boot command line shown in step 12.

4. Mount the boot partition to the /mnt mount point.

   Example: For qla FCode(fc) mode

   # mount /dev/dsk/c3t130d0s0 /mnt

   Example: In case of qlc FCode(fc) mode

   # mount /dev/dsk/c5t216000c0ffe02f95d0s0 /mnt

5. Cd to the root partition mount point.
 
   Example:
   # cd /mnt
   
6. Use the "ufsdump" utility to copy the root partition to the new boot disk.

   Example: (Same in both qla and qlc operation mode)
 
   # ufsdump  0f  -   /  | ufsrestore  rf  -

7. # rm restoresymtable

8. Install the boot block on the new boot disk.

   Example: In case of qla FCode(fc) mode

   # installboot  /usr/platform/`uname -i`/lib/fs/ufs/bootblk
      /dev/rdsk/c3t130d0s0

   Example: In case of qlc FCode(fc) mode

   # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk
   /dev/rdsk/c5t216000c0ffe02f95d0s0

9. Edit the new vfstab file to properly mount the new partition(s) during 
   boot. In this case each reference to c0t0d0s0 would be changed to 
   c3t130d0s0(qla mode) or c5t216000c0ffe02f95d0s0(qlc mode).

   Example:
   # vi /mnt/etc/vfstab

   NOTE: Replace every instance of c0t0d0 with c3t130d0 (in case of qla 
   operation mode) or c5t216000c0ffe02f95d0 (in case of qlc operation
   mode) in the /mnt/etc/vfstab file.


10.Edit the /mnt/kernel/drv/sd.conf to add the boot target id and LUN # 
   Example:
   name="sd" class="scsi" target=16 lun=6;
    

11. Shutdown the system.

    Example:
    # /sbin/init 0

12. Boot from the newly created boot disk.

    for qla FCode(fc) mode

    Example:
    {0} ok boot /pci@if,2000/QLGC,qla@1/sd@82,0 (Boot to port 0 target 130 LUN 0)

    or

    {0} ok boot /pci@if,2000/QLGC,qla@1,1/sd@82,ff  (boot to port 1 target 130, LUN 255)


    For qlc FCode(fc) mode

    Example:
    {0} ok boot /pci@1f,700000/SUNW,qlc@3/fp@0,0/disk@w216000c0ffe02f95 
           (In case of JBOD)
    
    {0} ok boot /pci@1f,700000/SUNW,qlc@3,1/fp@0,0/disk@w216000c0ff898d16,a 
           (Port 1, Lun No. 10) (In case of RAID)


13. View the current dump device setting. 

    # dumpadm 
    Dump content: kernel pages
    Dump device: /dev/dsk/c0t0d0s1 (swap)
    Savecore directory: /var/crash/saturn
    Savecore enabled: yes  

   
14. Change the dump device to the swap area of the new boot drive.

    Example: In case of qla FCode(fc) mode

    # dumpadm -d /dev/dsk/c3t130d0s1
    
    Example: In case of qlc FCode(fc) mode

    # dumpadm -d /dev/dsk/c5t216000c0ffe02f95d0s1

    NOTE: The following two steps set the newly created boot disk to be the
    default boot disk.

    These steps are performed at the system OBP (ok) prompt.

15. Create an alias entry for the new boot device (optional).

    Example: (in OBP at the ok prompt)
    {0} ok nvalias fibredisk /pci@1f,700000/SUNW,qlc@3/fp@0,0/disk@w216000c0ffe02f95
    
16. Set default boot device to be the new boot device (optional).

    Example:
    {0} ok setenv boot-device fibredisk

* NOTE:
  Another way to build SANboot disk from CD/DVD or Boot Server as below:
  # ok boot cdrom   or
  # ok boot net
  ...Select FC Target for OS install. qlc driver will be installed.
  Refer to the Solaris Installation manual for detail procedures.
     


6. Contacting Support

Please feel free to contact QLogic Support at http://support.qlogic.com for 
further assistance. 


(c) Copyright 2014. All rights reserved worldwide. QLogic, the QLogic
logo, and the Powered by QLogic logo are registered trademarks of
QLogic Corporation. All other brand and product names are trademarks
or registered trademarks of their respective owners.
