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-71-1006072.1
Update Date:2018-02-21
Keywords:

Solution Type  Technical Instruction Sure

Solution  1006072.1 :   Stop-A doesn't send a hard break on systems with USB keyboard.  


Related Items
  • Sun Fire 280R Server
  •  
  • Sun Fire V480 Server
  •  
  • Sun Blade 1000 Workstation
  •  
  • Sun Netra 20 Server
  •  
  • Sun Fire V880 Server
  •  
  • Sun Blade 2000 Workstation
  •  
Related Categories
  • PLA-Support>Sun Systems>SPARC>SPARC-MISC>SN-SPARC: Parts
  •  

PreviouslyPublishedAs
208468


Applies to:

Sun Blade 2000 Workstation - Version Not Applicable and later
Sun Netra 20 Server - Version Not Applicable and later
Sun Fire V480 Server - Version Not Applicable and later
Sun Fire V880 Server - Version Not Applicable and later
Sun Blade 1000 Workstation - Version Not Applicable and later
All Platforms

Goal

 USB keyboards cannot get the ok prompt if the OS is experiencing a hard hang, because of the nature of USB interrupts. So in order to get to the ok prompt, another method is needed to generate a hard interrupt.

Solution

This document applies to Sun Fire[TM] B1000, Sun Fire[TM] B2000, Sun Fire[TM] 280R, Sun Fire[TM] V480 and Sun Fire[TM] V880 platforms, and it also applies to all platforms that use the todds1287 chip to drive the power button/switch on the front of the machine.

These platforms introduce USB functionality on graphical desktops, which disables the ability to generate a hard break by unplugging/plugging the keyboard cable.

These platforms now support a Power Button Abort condition that allow a system to enter the debugger or monitor (by sending three interrupts at level 15). The interrupts are triggered by pressing the Power Switch on the front of the machine 3 times within 1.5 seconds. On the third press, a call is made to the routine abort_sequence_enter() to enter the debugger/monitor (OBP).

On systems fitted with a key switch, the key setting must be in either the On or Diagnostic for the Power Button Abort to function. If the key switch is in the Secure position, then the power button abort is ignored.

The functionality is enabled by default in the todds1287 driver and is available in the following Solaris[TM] Releases Solaris[TM] 10 build 17, Solaris[TM] 9 Update 3, Solaris[TM] 8 patch 109888-17

NOTE: Since debug_enter() uses a softint to abort the machine, break points may be required in debug_enter() within kadb for hung machines. For example:

boot kadb -d
debug_enter:b
:c

NOTE 2: In addition, KEYBOARD_ABORT must be set to enable in /etc/default/kbd in order for this method to work.
This is the default for Solaris, disable is the default for Trusted Solaris.

 

Product
Sun Fire V880 Server
Sun Fire V480 Server
Sun Fire 280R Server
Sun Blade 2000 Workstation
Sun Blade 1000 Workstation
Netra 20 Server

Internal Section

There are seven (7) driver tunables which can be set in /etc/system to change the behavior of the power button, they are listed as follows:

set todds1287:power_button_abort_interval = 150000000
This specifies the interval for the break sequence to be generated; Default = 1500000000 (1.5 Seconds); Values is specified in Nanoseconds

set todds1287:power_button_abort_presses = 3
Required number of power button pushes to issue a break; Default = 3; Values > 0

set todds1287:power_button_abort_enable = 0
Disables the power break sequence; Default = 1 (Enabled); Values = (0 or 1)

set todds1287:power_button_enable = 0
Disables the ability to power down the system; Default = 1 (Enabled); Values = (0 or 1)

The last 3 tunables should be left as default.

set todds1287:ds1287_interrupt_priority = 15
Sets the interrupt level of the power button interrupts; Default = 15 (12 is equivalent to the old ZS Hard break interrupt); Values = (9 to 15)

set todds1287:ds1287_softint_priority = 2
This changes the softint level; Default = 2; Values = (1 to 9) inclusive

set todds1287:power_button_debounce = 5000000
This increases the interval for a power button debounce; Default = 5000000 (5 Milliseconds); Value is specified in Nanoseconds


Reference Documents:

  • Bug 15109441 (previously was Sun bug 4692023): power button can be enhanced to provide hard break functionality (SUNBT4692023-SOLARIS_10 TODDS1287)
  • Bug 15129766 (previously was Sun bug SUNBT4767179): POWER DRIVER CAN BE ENHANCED TO GENERATE HARD BREAK
  • Solaris[TM] 10 Power Button Abort (Doc ID 1010808.1)


Keywords: todds1287, source code, driver, hang, break, USB, todds1287, power button, L1-A, hung, crash dump, core

Previously Published as 51261


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