Versions Compared

Key

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

...

  • Set Handle Switch

    Code Block
    [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
    [B8 00 33 0A 40 00]

Custom COB IPMI commands

...

pre-COB5 Custom IPMI Commands 

...

 

Code Block
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)
<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]]

WriteRead tofrom Cluster Element BSI: <CMD> = 0x03
      The format for this command is
      Offset Length Description
      0      1      BAY MaskNumber
      1      1      RCE MaskNumber
      2      12      Address
 Do interrupt (Does Nothing)
  4    3  2    2  Length to read (Though Address
2 bytes long, 
   5      2      Length to write
      7      N      Data toIPMI writepractically (iflimits lengththis <to 16<16)


Write to Cluster Element BSI: <CMD> = 0x04
      The format for this command is
      Offset Length Description
      0     (if length1 > 16, fill with 
 BAY Mask
      1      1      RCE Mask
      2      1     incrementing dataDo startinginterrupt with(Does dataNothing)

      NOTE:3 Including Bays w/o RCEs or which2 are not present
   Address
      5   in BAY Mask will2    not result inLength anto error.write
	     Similarly, including7 RCEs which are not present orN are
	    currently beingData resetto willwrite not(if resultlength in< an16)
 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
  (if length > 16, Thefill formatwith for
 this command is
      Offset Length Description
      0      1      BAY Number
      1  incrementing data starting with 1data)

      RCENOTE: Number
Including Bays w/o RCEs or which 2are not present
    2      Address
  in BAY Mask will 4not result in an error.
  2  	    LengthSimilarly, toincluding readRCEs (Thoughwhich 2are bytesnot long,present IPMIor practicallyare
	 limits this to <16)

Read COB Data Board IDcurrently PROM:being <CMD>reset =will 0x5
not result in an error, nor
	 The format for this command is
  will RCEs currently  Offset Length Description
held in reset be released from reset
	    	as a result 0of issuing this command.
 

Read COB Data 1Board ID PROM: <CMD> = 0x05
 BAY Number 

   The format for Returnsthis thecommand IDis
      0Offset Length Description
     6 0    MSB -> LSB1 6 byte ID

Set Monitor Dump Period    BAY Number

      Returns the ID
      0      8     MSB -> LSB 8 byte ID


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

 2     This Seconds [0=Never Dump, 0xffff=Default]

Get Monitor Dump Period: <CMD> = 0x08command returns
      Offset Length Description
      The0 format for this command is
 1     Offset LengthCompletion DescriptionCode
      01      1      DumpMask Index [0=BAY, 1=RCE, 2=BSI, 3=SFP, 4=FP_DISP, 5=BAY_GPIO, 6=BAY_GPIO_FULL, 7=RTM, 8=CEN]
 
      Returnsof Bays with errors

      NOTE: Including Bays w/o RCEs or which are not present
      0      2in BAY Mask will not result Seconds [0=Never Dump]

Monitor Dump 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=BAY_GPIO, 6=BAY_GPIO_FULL, 7=RTM, 8=CEN]

RCE Reset Command: <CMD> = 0x0A      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 EEPROM: <CMD> = 0x0B
      The format for this command is
      Offset Length Description
      0      1      EEPROM Select (0=RTM Fru Info BAY Mask EEPROM, 1=RMB EEPROM)
      1      1      RCEAddress
 Mask 

    2  This command returns
  1    Offset  Length Description to read


Write to RTM EEPROM: <CMD> = 0x0C
      0The format for this command is
 1     Offset CompletionLength CodeDescription
      10      1      EEPROM Select (0=RTM MaskFru ofInfo Bays with errors

EEPROM, 1=RMB EEPROM)
      NOTE:1 Including Bays w/o RCEs or which are not present    1      Address
      2      in1 BAY Mask will not result inLength anto error.write
	    Similarly, including RCEs3 which are not present or are
	N    currently being resetData will not result in an error, nor
	to write


Raw I2C Read: <CMD> = 0xF7
    will RCEs currently held in reset be released from reset
	    as a result of issuing this command.

Read from RTM EERPOM: <CMD> = 0x0BThe format for this command is
      Offset Length Description
      0      1      I2C Bus
      The1    format for this1 command is
    Device Address Offset(7 Lengthbit Descriptionaddress)
      02      1      EEPROM Select (0=RTM Fru Info EEPROM, 1=RMB EEPROM)
Length to read

      This command returns
      Offset 1Length Description
      0 1     1 Address
     Completion 2Code
      1      LengthN to read (Limited by IPMI to 24 bytes)Data read
 

WriteRaw toI2C RTM EERPOMWrite: <CMD> = 0x0C0xF8
      The format for this command is
      Offset Length Description
      0      1      EEPROMI2C Select (0=RTM Fru Info EEPROM, 1=RMB EEPROM)
Bus
      1      1      1Device Address (7 bit   Addressaddress)
      2      1      Length to write
      3      N      Data to write

 (Limited   by IPMI toThis 22command bytes)
returns
Refresh Shelf Info: <CMD> = 0x0D
 Offset Length Description
  The format for this command0 is
     Offset1 Length Description
     N/A    N/A    There are no arguments to this commandCompletion Code


GetI2C BayTest Power Command:  <CMD> = 0x0E0xf6
      The format for this command is
      Offset Length Description
      0      1      The BAY number

to test I2C    This command returnsdevices in
      Offset1 Length Description
    1  0    The expected 1RCE mask
     Completion Code
2      1      2The expected Power

      This command returns
   Voltage   inOffset mVLength (ADIN)
 Description
      0      1      Completion Code
     3 1     2 1     Current inError mACode


Get Bay TemperaturesPower Command:  <CMD> = 0x0F0x0e
      The format for this command is
      Offset Length Description
      0      1      The BAY number

      1This command returns
    1      RCE number (optional)

      This command returns
      Offset Offset Length Description
      0      1      Completion Code
      1      12      Voltage in BoardmV Temperature(ADIN)
      3 2     2 1     Current Junctionin TemperaturemA


SetGet FP SFP Switch GroupBay Temperatures: <CMD> = 0x100x0f
      The format for this command is
      Offset Length Description
      0      1      SFP+BAY Masknumber
      1      1      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
RCE number (optional)

      This command returns
      Offset Length Description
      0      1     The formatCompletion forCode
 this command is
   1  Offset Length Description    1      Board Temperature
     0 2      1      SlotJunction NumberTemperature


I2CGet Bay ReadGPIO: <CMD> = 0xF7
 Low level I2C Read0x12
      The format for this command is

      Offset Length Description
      0      1      I2CBAY Busnumber

      1This command returns
    1  Offset Length Description
  Device Address (8 bit address)
0      21      1Completion Code

     Length to read

      This command returnsWhich of the following is returned depends on which BAY is requested:

      Offset Length DescriptionFor a CMB Bay (0-4)
      01      1      CompletionRCE Detected CodeMask
      2 1     1 N     RCE DataReset read

Mask
I2C Write: <CMD> = 0xF8
  3    Low level I2C1 Write
 
     RCE TheBSI formatReady forMask
 this command is
   4   Offset Length Description
 1     0 RCE FPGA Done Mask
  1    5  I2C Bus
   1   1   CMB Voltage OK 1Mask
      Device6 Address (8 bit address)
  1    2  CMB Power Allocation (in 1/5 Watts)

     Length to write For the CEN Bay
      31      N1      DataCEN toVoltage OK write


Mask
      2    This command returns
1      OffsetSFP LengthPresent DescriptionMask
      03      1      SFP CompletionLOS CodeMask

Cold Data Reset: <CMD> = 0xF9
 For the RTM Bay
 The Cold Data Reset command will1 reset the IPMC and mark the1 
     ColdRTM DataHandle JournalClosed
 as invalid. This mimics  2 removing power from the IPMC.

Set Zombie1 RCE: <CMD> = 0xFA
  RMB Present
   When an RCE is3 marked as a Zombie, the IPMC1 will not allow it to hold up the booting of the board. RMB Enable


Get Bay Raw GPIO: <CMD> = 0x14
      (ForThe example,format it will mark the switch port configuration in the DTM BSI as "Disabled"
      if the DPM is not Ready.

      The format for for this command is
      Offset Length Description
      0      1      BayBAY Numbernumber
      1      1      RCE Number
      2Register (0=Input, 1=Output, 2=Polarity, 3=Config, 4=Int Mask"

      1This command returns
    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.)
 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 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.

, 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> = 0xF9
     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
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

  • 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_bootstrapactivate <shelf> <slot> <element> [<value>]
    
  • ipmi_eeprom
    Read and print the EEPROM contents at the supplied address and length combinationdeactivate
    Deactivate a shelf's payload.

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

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

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

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

...