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-72-1018914.1
Update Date:2009-01-29
Keywords:

Solution Type  Problem Resolution Sure

Solution  1018914.1 :   Sun Fire[TM] V480/V490 server: USB failures seen after OBP is updated to 4.17.x  


Related Items
  • Sun Fire V480 Server
  •  
  • Sun Fire V490 Server
  •  
Related Categories
  • GCS>Sun Microsystems>Servers>Entry-Level Servers
  •  

PreviouslyPublishedAs
230760


Symptoms
After applying firmware:

 4.17.1 Patch ID: 118322-01 to V480/V490, OBdiag fails subtest: selftest:usb-ohci-hccnt-sft-rst-test with the following error;

 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 480R
SERIAL# : 61397697
DATE    : 09/08/2005 19:33:49  GMT
CONTR0LS: diag-level=max test-args=subtests,verbose
 Error: /pci@9,700000/usb@1,3 selftest failed, return code = 1
.
.
ERROR: OpenBoot[TM] Diagnostics failed
WARNING: Device /pci@9,700000/usb@1,3 already marked with 'status' == fail


Resolution
If the the USB port(s) are not being used, this error can be ignored, and the
system will boot, with the following message logged to the console and the
messages file;
 WARNING: status 'fail' for '/pci@9,700000/usb@1,3'

The final fix will be included in OpenBoot PROM(OBP) release 4.18.6



Relief/Workaround

  1. Do not run Obdiag.
  2. Don't run in Service-mode? true, or keyswitch set to diag position.
  3. Set the following OBP variables, this will redirect the system console to ttya
     setenv input-device ttya
setenv output-device ttya


Product
Sun Fire V490 Server
Sun Fire V480 Server

Internal Comments
For the internal use of Sun Employee's.

References


Bug ID: 6332920, Bug ID: 6328527, Bug ID: 2131669


Taken from Bug ID: 6332920


Final description of problem:

- 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.


4.17.1, OBP, Obdiag, USB, V480, V490, selftest, cherrystone, sebring
Previously Published As
83393

Change History
Date: 2005-12-14
User Name: 18392
Action: Approved
Comment: Changed title to standard, added product names, nouns, added trademarks. moved bug references to Internal Only, as the bug reports were Internal Only. Did some re-wording and formatting for clarity, brevity and readability.
Version: 3
Date: 2005-12-14
User Name: 18392
Action: Accept
Comment:
Version: 0

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