Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Create the software image to upload (called the firmware by PPS, hpm1fw.img) by make hpm
  • From the same network as the shelf manager (currently cds), execute:

    Code Blocknoformat
    ipmitool-pps -I lan -H shlfmgr02 -t 0x86 -b 0 -A NONE hpm upgrade hpm1fw.img activate
    

     

    • -H shlfmgr02 is the hostname of the Shelf Manager
    • -t 0x86 is the IPMB address of the COB you are upgrading
    • hpm1fw.img is the path to the software image file created by make hpm

...

Here's a couple that will probably be useful:

  • To activate deactivate the payload (initiate M1M4->M2 >M5 transition):

    Code Block
    languagenone
    ipmitool-pps -I lan -H shlfmgr02 -t 0x86 -b 0 -A NONE picmg policy set 0 2 10
    
  • To deactivate activate the payload (initiate M4M1->M5 >M2 transition):

    Code Block
    languagenone
    ipmitool-pps -I lan -H shlfmgr02 -t 0x86 -b 0 -A NONE picmg policy set 0 1 0
    

...

  • Reset commands over console:

    Code Block
    languagenone
    [B8 00 0D 0A 40 00 XX] 
    
    XX = 00 current mode
       = 01 normal mode
       = 02 standalone mode
       = 03 manual standalone
    
    So:
    [B8 00 0D 0A 40 00 00]
    [B8 00 0D 0A 40 00 01]
    [B8 00 0D 0A 40 00 02]
    [B8 00 0D 0A 40 00 03]
    
    
  • Reset

    Non-volatile

    Parameters

    and

    Reboot

    (will

    cause

    INIT

    callbacks

    to

    execute)

    Code Block
    languagenone
    
    [B8 00 41 0A 40 00]
    
  • Set Handle Switch

    Code Block
    languagenone
    [B8 00 08 0A 40 00 00 XX]
    
    00 = Open
    01 = Closed
    02 = Hardware Switch
    
    So:
    [B8 00 08 0A 40 00 00 00]
    [B8 00 08 0A 40 00 00 01]
    [B8 00 08 0A 40 00 00 02]
    
  • Reset the SDR repository

    Code Block
    languagenone
    [B8 00 33 0A 40 00]

Custom COB IPMI commands (COB5 and COB6)

pre-COB5 Custom IPMI Commands 

These commands can be issued using ipmitool.

 

...

Synchronization Clock Interface

These commands can be used to enable/disable the Synchronization Clock Interface buffers on the COB. This can also (more correctly) be driven via the ATCA e-Keying mechanism. These commands will override whatever e-keying has taken place.

Code Block
languagetext
GET:
ipmitool

...

 -I lan -H 

...

<shelf_ip> -t 

...

<slot_ipmb_address> -b 0 -A NONE raw 0x2e 0x38 0x0a 0x40 0x00 0x00 0x00 <pin>

SET:
ipmitool -I lan -H <shelf_ip> -t <slot_ipmb_address> -b 0 -A NONE raw 0x2e 0x39 0x0a 0x40 0x00 0x00 0x00 <pin> <state>

Where:

<shelf_ip> is either the IP address or hostname of the shelf manager 
<slot_ipmb_address> is (0x80 + slot*2) for the ASIS 2, 5, and 6 slot shelves. (Not for the 14 slot.)

<pin> is 
BP_CLK0_OE = 0x30
BP_CLK1_OE = 0x31 
BP_CLK2_OE = 0x32 
BP_CLK3_OE = 0x33 
BP_CLK4_OE = 0x34 
BP_CLK5_OE = 0x35 

<state> 1 for enabled, 0 for disabled.

 

Custom COB IPMI commands

pre-COB5 Custom IPMI Commands  

These commands can be issued using ipmitool.

 

Code Block
languagenone
ipmitool-pps -I lan -H <shelfmanager> -t <COB Address> -b 0 -A NONE raw <SLAC_NETFN> <CMD> [DATA_0] [DATA_1] ... [DATA_N]

Where:
<shelfmanager> is the hostname/IP address of the Shelf Manager (ex. shasta-sm)
<COB address> is the IPMB address of the COB board (ex. 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c)
<SLAC_NETFN>  The NetFn for our custom command extensions which is 0x34
<CMD> [DATA_X] is the command to be issued and associated parameter as described below

or in the IPMC console window:
[D0 00 <CMD> [DATA_0] [DATA_1] ... [DATA_N]]

Write to Cluster Element BSI: <CMD> = 0x03
      The format for this command is
      Offset Length Description
      0      1      BAY Mask
      1      1      RCE Mask
      2      1      Do interrupt (Does Nothing)
      3      2      Address
      5      2      Length to write
      7      N      Data to write (if length < 16) <SLAC_NETFN> <CMD> [DATA_0] [DATA_1] ... [DATA_N]

Where:
<shelfmanager> is the hostname/IP address of the Shelf Manager (ex. shasta-sm)
<COB address> is the IPMB address of the COB board (ex. 0x82, 0x84, 0x86, 0x88, 0x8a)
<SLAC_NETFN>  The NetFn for our custom command extensions which is 0x34
<CMD> [DATA_X] is the command to be issued and associated parameter as described below

or in the IPMC console window:
[D0 00 <CMD> [DATA_0] [DATA_1] ... [DATA_N]]

Write to Cluster Element BSI: <CMD> = 0x03
      The format for this command is
      Offset Length Description
      0      1      BAY Mask
      1      1      RCE Mask
      2      1      Do interrupt (Does Nothing)
      3      2      Address
      5      2      Length to write
      7      N      Data to write (if length < 16)
                                  (if length > 16, fill with 
                                      incrementing data starting with data)

      NOTE: Including Bays w/o RCEs or which are not present
            in BAY Mask will not result in an error.
	    Similarly, including RCEs which are not present or are
	  (if length currently> being16, resetfill willwith not
 result in an error, nor
	    will RCEs currently held in reset be released from reset
	    as a result of issuing this command.

Read from Cluster Element BSI: <CMD> = 0x4
   incrementing data starting The format for this command is
with data)

      NOTE: Including Bays Offsetw/o LengthRCEs Description
or which are not present
  0      1     in BAY Number
Mask will not result in an 1error.
    	  1  Similarly, including RCEs which RCEare Number
not present or are
	   2     currently 2being reset will not result in Address
an error, nor
	    4    will RCEs 2currently held in reset be released Lengthfrom toreset
	 read (Though 2 bytes	as long,a IPMIresult practicallyof limitsissuing this to <16)
command.
 
Read COBfrom DataCluster BoardElement ID PROMBSI: <CMD> = 0x50x04
      The format for this command is
      Offset Length Description
      0      1      BAY Number
 

     1 Returns the ID
   1   0   RCE Number
  6    2 MSB -> LSB 6 byte ID

Set2 Monitor Dump Period: <CMD> = 0x07Address
      The4 format for this command is
 2     Offset Length Description
to read (Though 2 bytes long, 0
      1      Dump Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=BAY_GPIO, 6=BAY_GPIO_FULL, 7=RTM, 8=CEN]
      1      2  IPMI practically limits this Seconds [0=Never Dump, 0xffff=Default]

Get Monitor Dump Periodto <16)

Read COB Data Board ID PROM: <CMD> = 0x080x05
      The format for this command is
      Offset Length Description
      0      1      DumpBAY Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=BAY_GPIO, 6=BAY_GPIO_FULL, 7=RTM, 8=CEN]
 
Number

      Returns the ID
      0 Returns
     8 0    MSB -> 2LSB 8     Seconds [0=Never Dump]

Monitor Dump Immediatebyte ID


RCE Reset Command: <CMD> = 0x090x0A
      The format for this command is
      Offset Length Description
      0      1      BAY Mask Dump
    Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=BAY_GPIO, 6=BAY_GPIO_FULL, 7=RTM, 8=CEN]

RCE Reset Command: <CMD> = 0x0A       1      RCE Mask 

      The format for this This command isreturns
      Offset Length Description
      0      1      BAYCompletion Mask Code
      1      1      RCE Mask 

of Bays     This command returns
      Offset Length Description
      0      1      Completion Code
      1      1      Mask of Bays with with errors

      NOTE: Including Bays w/o RCEs or which are not present
            in BAY Mask will not result in an error.
		    Similarly, including RCEs which are not present or are
		    currently being reset will not result in an error, nor
		    will RCEs currently held in reset be released from reset
		    as a result of issuing this command.


Read from RTM EERPOMEEPROM: <CMD> = 0x0B
      The format for this command is
      Offset Length Description
      0      1      EEPROM Select (0=RTM Fru Info EEPROM, 1=RMB EEPROM)
      1      1      Address
      2      1      Length to read (Limited by IPMI to 24 bytes)


Write to RTM EERPOMEEPROM: <CMD> = 0x0C
      The format for this command is
      Offset Length Description
      0      1      EEPROM Select (0=RTM Fru Info EEPROM, 1=RMB EEPROM)
      1      1      Address
      2      1      Length to write
      3      N      Data to write (Limited by IPMI to 22 bytes)


SetRaw RefreshI2C Shelf InfoRead: <CMD> = 0x0d0xF7
      The format for this command is
      Offset Length Description
     N/A 0   N/A   1 There are no arguments to thisI2C commandBus


Get Bay Power Command:  <CMD> =1 0x0E
     1 The format for this command is
Device Address (7    Offset Length Descriptionbit address)
      02      1      TheLength BAYto numberread

      This command returns
      Offset Length Description
      0      1      Completion Code
      1      2N      Voltage in mV (ADIN)
  Data read
 

Raw I2C Write: <CMD> = 0xF8
    3  The format for this 2command is
     Current inOffset mA


Get Bay Temperatures: <CMD> = 0x0FLength Description
      0      1      I2C Bus
      The1    format for this1 command is
    Device Address Offset(7 Lengthbit Descriptionaddress)
      02      1      Length BAYto numberwrite
      13      1N      RCEData numberto (optional)write

      This command returns
      Offset Length Description
      0      1      Completion Code


I2C Test Command:  <CMD> = 10xf6
      1The format for this command is
      Offset BoardLength TemperatureDescription
      20      1      Junction Temperature


Set FP SFP Switch Group: <CMD> = 0x10
The BAY to test I2C devices in
      1  The format for this command1 is
     The Offsetexpected LengthRCE Descriptionmask
      02      1      SFP+ MaskThe expected Power

      1This command returns
    1  Offset Length Description
  Group Number 0x00 = No Group
				 0x01 - 0x10 Group with Slot at Physical address 0x01 - 0x10
				 0x11 - 0xFF Arbitrary Group Numbers

Set Standalone Slot Number: <CMD> = 0x11
0      1      Completion Code
      1      1     The format for Error Code


Get Bay Power Command:  <CMD> = 0x0e
      The format for this command is
      Offset Length Description
      0      1      Slot Number


I2C Read: <CMD> = 0xF7
 Low level I2C ReadThe BAY number

      The format for thisThis command isreturns

      Offset Length Description
      0      1      I2CCompletion BusCode
      1      12      DeviceVoltage in AddressmV (8 bit addressADIN)
      23      12      LengthCurrent toin read
mA


Get Bay Temperatures: <CMD> = 0x0f
      ThisThe format for this command returnsis
      Offset Length Description
      0      1      CompletionBAY Codenumber
      1      N1      RCE Datanumber read(optional)


I2C Write: <CMD> = 0xF8
  This command returns
  Low level I2C Write
 
   Offset Length Description
      The0 format for this command is
 1     Offset LengthCompletion DescriptionCode
      01      1      I2CBoard BusTemperature
      12      1      Device Address (8 bit address)Junction Temperature


Get Bay GPIO: <CMD> = 0x12
      2The format for this command is
 1     Offset Length to writeDescription
      30      N1      Data to write
BAY number

      This command returns
      Offset Length Description
      0      1      Completion Code

Cold Data Reset: <CMD> = 0xF9
 Which of the following Theis returned Colddepends Dataon Resetwhich commandBAY will reset the IPMC and mark the 
     Cold Data Journal as invalid. This mimics removing power from the IPMC.

Set Zombie RCE: <CMD> = 0xFAis requested:

      For a CMB Bay (0-4)
      1      1      RCE Detected Mask
      When2 an RCE is marked as a1 Zombie, the IPMC will not allowRCE itReset toMask
 hold up the booting of the3 board. 
    1  (For example, it will markRCE theBSI switchReady portMask
 configuration in the DTM BSI as4 "Disabled"
     1 if the DPM is not Ready.

   RCE FPGA Done Mask
      5      1   The  format forCMB thisVoltage commandOK isMask
      6 Offset Length Description
   1   0   CMB Power Allocation (in 1/5 Watts)

      Bay NumberFor the CEN Bay
      1      1      CEN RCEVoltage OK NumberMask
      2      1      Zombie State [0=Not a Zombie, 1=BRAINS!]

Set Bay Power: <CMD> = 0xFB (This is only intended to be used for HW debugging as immediately turns on/off power to a Bay.)SFP Present Mask
      3      1      SFP LOS Mask

      For the RTM Bay
      The1 format for this command is
 1     Offset LengthRTM DescriptionHandle Closed
      02      1      BAYRMB MASK


Supported IPMI/ATCA commands

These commands can be issued using ipmitool.

Code Block
FRU Control Command (cold/warm reset)

ipmitool-pps -I lan -H <shelfmanager> -t <COB Address> -b 0 -A NONE picmg frucontrol <FRU-ID> <OPTION>

Where:
<shelfmanager> is the hostname/IP address of the Shelf Manager (ex. shasta-sm)
<COB address> is the IPMB address of the COB board (ex. 0x82, 0x84, 0x86, 0x88, 0x8a)
<FRU-ID> is the FRU-ID of the IPMC which is 0x00
<OPTION> is:
      0x00      - Cold Reset

Short-hand commands

The following commands are provided as scripts in the bin of our group area. <shelf> is a shelf name. <slot> is a slot number, from 1 to the number of slots in the crate. <element> is the element number, with 0xff meaning all elements and 0xfe meaning all DPMs, as above.

Present
      3      1      RMB Enable


Get Bay Raw GPIO: <CMD> = 0x13
      The format for this command is
      Offset Length Description
      0      1      BAY number
      1      1      Register (0=Input, 1=Output, 2=Polarity, 3=Config, 4=Int Mask"

      This command returns
      Offset Length Description
      0      1      Completion Code
      1      N      Register Values for Bank N


Set Monitor Dump Period: <CMD> = 0x07
     The format for this command is
     Offset Length Description
     0      1      Dump Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=COB_GPIO, 6=GPIO_FULL, 7=RTM, 8=CEN, 9=I2C, 255=ALL]
     1      2      Seconds [0=Never Dump, 0xffff=Default]


Set Monitor Dump Period: <CMD> = 0x08
     The format for this command is
     Offset Length Description
     0      1      Dump Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=COB_GPIO, 6=GPIO_FULL, 7=RTM, 8=CEN, 9=I2C, 255=ALL]

     Returns
     0      2      Seconds [0=Never Dump]

Dump Monitor Immediate: <CMD> = 0x09
     The format for this command is
     Offset Length Description
     0      1      Dump Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=COB_GPIO, 6=GPIO_FULL, 7=RTM, 8=CEN, 9=I2C, 255=ALL]


Fixup FRU Info ID: <CMD> = 0x14
      The format for this command is
      Offset Length Description
      0      1      FRU number
 

Set FRU Info Asset Tag: <CMD> = 0x15
      The format for this command is
      Offset Length Description
      0      1      FRU number
      1      N<=32  Asset Tag (NULL terminated ASCII string


Set Standalone Slot Number: <CMD> = 0x11
     The format for this command is
     Offset Length Description
     0      1      Slot Number


Refresh Shelf Info: <CMD> = 0x0D
     The format for this command is
     Offset Length Description
     N/A    N/A    There are no arguments to this command


Cold Data Reset: <CMD> = 0xF9
     The format for this command is
     Offset Length Description
     N/A    N/A    There are no arguments to this command


Set Zombie RCE: <CMD> = 0xFA
     The format for this command is
     Offset Length Description
     0      1      Bay Number
     1      1      RCE Number
     2      1      Zombie State [0=Not a Zombie, 1=BRAINS!]

     When an RCE is marked as a Zombie, the IPMC will not allow it
     to hold up the booting of the board. (For example, it will
     mark the switch port configuration in the DTM BSI as "Disabled"
     if the DPM is not Ready.


Supported IPMI/ATCA commands

These commands can be issued using ipmitool.

Code Block
languagenone
FRU Control Command (cold/warm reset)

ipmitool-pps -I lan -H <shelfmanager> -t <COB Address> -b 0 -A NONE picmg frucontrol <FRU-ID> <OPTION>

Where:
<shelfmanager> is the hostname/IP address of the Shelf Manager (ex. shasta-sm)
<COB address> is the IPMB address of the COB board (ex. 0x82, 0x84, 0x86, 0x88, 0x8a)
<FRU-ID> is the FRU-ID of the IPMC which is 0x00
<OPTION> is:
      0x00      - Cold Reset

Short-hand commands

The following commands are provided as scripts in the bin of our group area. <shelf> is a shelf name. <slot> is a slot number, from 1 to the number of slots in the crate. <element> is the element number, with 0xff meaning all elements and 0xfe meaning all DPMs, as above.

  • ipmi_activate
    Activate a shelf's payload.

    Code Block
    languagenone
    usage: ipmi_activate <shelf> <slot>
    
  • ipmi_deactivate
    Deactivate a shelf's payload.

    Code Block
    languagenone
    usage: ipmi_deactivate <shelf> <slot>
  • ipmi_activate
    Activate a shelf's payload.

    Code Block
    usage: ipmi_activate <shelf> <slot>
    
  • ipmi_deactivate
    Deactivate a shelf's payload.

    Code Block
    usage: ipmi_deactivate <shelf> <slot>
    
  • ipmi_boot
    Temporarily set the bootstrap word to the supplied value.

    Code Block
    usage: ipmi_boot <shelf> <slot> <element> <bootstrap>
    
  • ipmi_bootstrap
    Permanently set the bootstrap word to the supplied value. If omitted, print the current value of the bootstrap word.

    Code Block
    usage: ipmi_bootstrap <shelf> <slot> <element> [<value>]
    
  • ipmi_eeprom
    Read and print the EEPROM contents at the supplied address and length combination.

    Code Block
    usage: ipmi_eeprom <shelf> <slot> <board> <address> [<length>]
    
  • ipmi_id
    Read COB Data Board ID PROM.

    Code Block
    languagenone
    usage: ipmi_id <shelf> <slot> <board>
    
  • ipmi_read
    Read from the Cluster Element BSI.

    Code Block
    languagenone
    usage: ipmi_read <shelf> <slot> <element> <address> [<length>]
    
  • ipmi_write
    Write the Cluster Element BSI.

    Code Block
    languagenone
    usage: ipmi_write <shelf> <slot> <element> <address> <data> [...]
    

...