Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-73-1000377.1
Update Date:2010-08-23
Keywords:

Solution Type  FAB (standard) Sure

Solution  1000377.1 :   USB failures seen on V480/V490 systems with OBP 4.17.1 and 4.18.2.  


Related Items
  • Sun Fire V480 Server
  •  
  • Sun Fire V490 Server
  •  
Related Categories
  • GCS>Sun Microsystems>Sun FAB>Standard>Reactive
  •  

PreviouslyPublishedAs
200499


Product
Sun Fire V490 Server
Sun Fire V480 Server


Impact

When running OBP 4.17.1 and 4.18.2 in service mode OBdiag USB test fails;

Testing /pci@9,700000/usb@1,3
Subtest usb-pci-reg-test
Subtest usb-ohci-hccnt-sft-rst-test

The Control register content is 0xc0000000

   ERROR   : USB core did not go in suspended state after soft RESET
   DEVICE  : /pci@9,700000/usb@1,3
   SUBTEST : selftest:usb-ohci-hccnt-sft-rst-test
   CALLERS : usb-ohci-hccnt-sft-rst-test   MACHINE : Sun Fire V490
   SERIAL# : 61395065   DATE    : 09/22/2005 19:10:01  GMT  CONTR0LS:
 diag-level=max test-args=subtests,verbose
 Error: /pci@9,700000/usb@1,3 selftest failed, return code = 1


Symptoms

OBdiag USB test fails.


Root Cause

Bad parsing in obp/pkg/dropins/methods.fth:level2? resulting in random failure depending on garbage in string heap.

  • The USB test was failing because the setup_pci_fcodes part of obdiag was not being called for the USB node.
  • Setup_pci_fcodes is part of obdiag's "/.init" routine.
  • In obp/pkg/dropin/methods.fth, method open-dropin-device performs two opens; one on the diag fcode itself, and a second open on obdiag/.init
  • The second open was failing, and thus setup_pci_fcodes was never invoked for this device.
  • The second open was failing because the name given to the open was /flashprom:obdiag/pci1083,1103/.init instead of the correct /flashprom:obdiag/.init - thus nothing was found.
  • The incorrect name was being generated because the method level2? is supposed to strip the second node in a multi-node name, and wasn't.
  • Level2? was failing because it started looking for a "/" one character *after* the name supplied, and by coincidence of the length of the USB node name with the precise positioning of the slashes in a previous string examined, we ended up with a slash right after the "3". The method level2? would detect that slash and exit immediately, failing to split the nodename.

 


Resolution

The fix is upgrade OBP to 4.18.6

OBP has been updated to correct method obp/pkg/dropins/methods.fth:level2? to only examine characters *within* the string supplied.

Hardware/PROM: Sun Fire V480 / V490 Flash PROM Update <http://sunsolve2.central.sun.com/search/document.do?assetkey=1-21-119243-01-1&searchclause=OBP%204.18.6>*


Modification History
Date: 03-JAN-2006
  • Updated FIN to remove mention of V880 & V890 and correct OBP revision levels.


Previously Published As
102118
Internal Comments


None.



Hardware Remediation Details

 


Related Information
  • URL: http://sunsolve2.central.sun.com/search/document.do?assetkey=1-21-119243-01-1&searchclause=OBP%204.18.6

Internal Contributor/submitter
[email protected]

Internal Eng Business Unit Group
KE Authors

Internal Eng Responsible Engineer
[email protected]

Internal Services Knowledge Engineer
[email protected]

Internal Resolution Patches
119243-01 - V480/V490

Internal Kasp FAB Legacy ID
102118

Internal Sun Alert & FAB Admin Info
Critical Category:
Significant Change Date:
Avoidance: Patch
Responsible Manager: null
Original Admin Info: null

Product_uuid
5c71fc02-5e51-11d7-8add-8938754df22a|Sun Fire V490 Server
a2b9bc2b-52c6-45c2-a3e0-f19bd2c86953|Sun Fire V480 Server

Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback