Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-77-1019101.1
Update Date:2012-07-26
Keywords:

Solution Type  Sun Alert Sure

Solution  1019101.1 :   Solaris 10 MPT Driver Patch For Newer SAS Chipset May Cause the Solaris System to Panic or Become Inoperable  


Related Items
  • Solaris Operating System
  •  
Related Categories
  • PLA-Support>Sun Systems>Sun_Other>Sun Collections>SN-OTH: Sun Alert
  •  
  • _Old GCS Categories>Sun Microsystems>Sun Alert>Release Phase>Resolved
  •  

PreviouslyPublishedAs
234841


Bug Id
<BUG: 15412990>

Product
Solaris 10 Operating System

Date of Resolved Release
19-Mar-2008

Solaris 10 MPT Driver Patch For Newer SAS Chipset May Cause the Solaris System to Panic or Become Inoperable

1. Impact

Solaris 10 systems with a Sun StorageTek PCIe SAS Host Bus Adapter (HBA) and Solaris 10 MPT(7D) driver patch 125081-09/-15 (SPARC) or 125082-09/-15 (x86) installed may experience a panic during boot or shortly thereafter. If the boot device is connected to the SAS HBA, the system may become inoperable.

2. Contributing Factors

This issue can occur in the following releases:

SPARC Platform
  • Solaris 10 MPT Driver patch 125081-09 through 125081-15
x86 Platform
  • Solaris 10 MPT Driver patch 125082-09 through 125082-15
for the following platform:
  • Sun StorageTek PCIe SAS Host Bus Adapter (SG-XPCIE8SAS-E-Z) with firmware revision 1.23.04 or higher.
Notes:
  1. Solaris 8 and 9 are not affected by this issue, as the SAS HBA listed (and its chipset) is not supported prior to Solaris 10.
  2. The system may still experience a panic from this issue if the above HBA is installed on the system with the patches listed, regardless of whether or not the HBA is connected to a boot device.

3. Symptoms

Solaris will panic or become inoperable during the mpt(7D) attach process, during boot, or soon thereafter.

4. Workaround

There is no workaround for this issue. Please see the Resolution section below.

5. Resolution

This issue is addressed in the following releases:

SPARC Platform
  • Solaris 10 with MPT Driver patch 125081-16 or later
x86 Platform
  • Solaris 10 with MPT Driver patch 125082-16 or later
Note: In addition to specific patch instructions stated in the patch README,  one of the following actions (in order of preference) must be taken in order to apply the patch. Not all options may be feasible depending on your configuration.

A) Boot with the affected SAS cards removed from the system, then apply the patch fix using the normal procedures before replacing the card.

B) Boot Solaris from an alternate device which does not contain one of the affected patches, mount the affected root device in a
separate directory (e.g., /a), then apply the patch fix to the affected installation using the 'patchadd -R <mount_point> <patch>' command.

C) Temporarily replace the affected SAS cards with one or more SAS cards that contain older firmware/chipset (375-3487-01), then apply the patch fix using the normal procedures (may require additional assistance from Sun Support).

This Sun Alert notification is being provided to you on an "AS IS" basis. This Sun Alert notification may contain information provided by third parties. The issues described in this Sun Alert notification may or may not impact your system(s). Sun makes no representations, warranties, or guarantees as to the information contained herein. ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT YOU ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE OUT OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN. This Sun Alert notification contains Sun proprietary and confidential information. It is being provided to you pursuant to the provisions of your agreement to purchase services from Sun, or, if you do not have such an agreement, the Sun.com Terms of Use. This Sun Alert notification may only be used for the purposes contemplated by these agreements.

Copyright 2000-2008 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved.


References

<SUNPATCH: 125081-16>
<SUNPATCH: 125082-16>

Internal Comments
Please send technical questions to the following email:
sunalert-tech-questions@sun.com
and CC the following persons:
Internal Contributor/Submitter
Internal Eng Responsible Engineer
Internal Services Knowledge Engineer

Bug ID: 6586286

Synopsis: mpt driver only supports 256 targets, causing panic when attaching to incompatible firmware



Note: The following kmbd(1)
procedures should only be used by Systems Administrators with advanced
knowledge of Solaris Administration, Solaris kernel, and Solaris
debugging techniques.



Continued from Resolution section:



D) Perform the following set of steps using kmdb. Note that while this
is the most complex procedure, it will allow recovery in all cases,
including those where SAS cards cannot be removed from the system.



Also note that in some very particular configurations, failures in kmdb
may still occur. Please consult Sun Support in those cases.



1. Reboot the system into kmdb (kernel debugger) on the console.



SPARC

At the OBP prompt, run 'boot -kd'.



x86 64- and 32-bit

At the GRUB menu, press 'e' twice to edit the boot line, add ' -kd' at
the end of line, press Enter/Return, then press 'b' to boot.



2. At the kmdb prompt ('[0]>'), run the command '::bp mpt`_init'.(Note that the symbol in the middle is a backtick).



3. If you are running a SPARC T1-based system (e.g., T1000, T2000), then run 'watchdog_enabled/W 0x0'. (ref. CR 6500592)



4. Run the command '::cont'. The system will continue to boot until the breakpoint.



5.  At the next kmdb prompt, run the command '::delete all'.



6. Run the command 'mpt`mpt_ioc_get_port_facts::dis'. This will list a disassembly of the mpt_ioc_get_port_facts function.



7. Identify the proper breakpoint for your system.



SPARC

Locate the last 'sra %i4, 0x0, %i0' instruction and note the full
address before the ':' at the beginning of the line (e.g.,
'mpt`mpt_ioc_get_port_facts+0x5c')



x86 64-bit

Locate the 'popq %r12' instruction and note the full address before the
':' at the beginning of the line (e.g.,
'mpt`mpt_ioc_get_port_facts+0x46')



x86 32-bit

Locate the 'xorl %eax, %eax' instruction and note the full address
before the ':' at the beginning of the line (e.g.,
'mpt`mpt_ioc_get_port_facts+0x35')



8. Run the command '<addr>::bp' where <addr> is the full address from the previous step.



9. Run the command '::cont'. The system will continue to boot until the breakpoint.



10. At the next kmdb prompt, run the command '::regs'. Note the appropriate register value according to your platform:



SPARC        %i0

x86 64-bit    %r12

x86 32-bit    %ebx



11. Run the command '<addr>::print -a mpt_t m_maxdevices[0]'
where <addr> is the register value from the previous step. Note
the first field in the output (the address) and the last field (the
current value).



12. If the current value from the previous step is less than or equal to 0x100, skip to step 14.



13. Run the command '<addr>/w 0x100' where <addr> is the address noted in step 11.



14. Run the command '::cont'. The system will continue to boot.



15. If kmdb breaks into the Solaris again, repeat this procedure
starting at step 10. Note the kmdb may break into the OS as commands
are run after boot. This is normal behavior.



16. Download the necessary patch fixes to the root filesystem.



17. Run 'shutdown -g 0 -i s' to enter single-user mode.



18. Install the patch fix using the normal procedures.



19. Reboot normally to load the fixed driver.
Internal Contributor/submitter
david.hollister@sun.com

Internal Eng Responsible Engineer
Daniel.Beauregard@Sun.COM

Internal Services Knowledge Engineer
david.mariotto@sun.com

Internal Eng Business Unit Group
NWS (Network Storage)

Internal Resolution Patches
125081-16, 125082-16

Internal Sun Alert & FAB Admin Info
WF 19-Mar-2008, david m: review completed, send to publish
WF 18-Mar-2008, david m: draft created, send for 24hr review


Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback