...
- Create the software image to upload (called the firmware by PPS,
hpm1fw.img
) bymake 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 upgradinghpm1fw.img
is the path to the software image file created by make hpm
...
Here's a couple that will probably be useful:
To
activatedeactivate the payload (initiate
M1M4-
>M2>M5 transition):
Code Block language none ipmitool-pps -I lan -H shlfmgr02 -t 0x86 -b 0 -A NONE picmg policy set 0 2 10
To
deactivateactivate the payload (initiate
M4M1-
>M5>M2 transition):
Code Block language none ipmitool-pps -I lan -H shlfmgr02 -t 0x86 -b 0 -A NONE picmg policy set 0 1 0
And here are a couple of commands which can be typed into the IPMC console to do fun things:
Reset commands over console:
Code Block language none [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 language none [B8 00 41 0A 40 00]
Set Handle Switch
Code Block language none [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]
Custom COB IPMI commands
These commands can be issued using ipmitool.
...
Reset the SDR repository
Code Block language none [B8 00 33 0A 40 00]
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 | ||
---|---|---|
| ||
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
These commands can be issued using ipmitool.
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, 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) |
...
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
(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 |
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
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 Cluster Element BSI: <CMD> = 0x04 The format for this command is |
...
Offset |
...
Length |
...
Description 0 |
...
1 |
...
|
...
BAY |
...
Number |
...
|
...
|
...
|
...
|
...
|
...
1 |
...
|
...
|
...
|
...
|
...
|
...
1 |
...
RCE |
...
Number |
...
|
...
|
...
|
...
|
...
|
...
2 |
...
2 |
...
|
...
Address |
...
4 |
...
2 |
...
|
...
Length to read |
...
(Though 2 bytes long, |
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
IPMI |
...
practically limits this to <16) Read COB Data Board ID PROM: <CMD> = 0x05 |
...
The format for this |
...
command |
...
is |
...
|
...
|
...
|
...
|
...
|
...
Offset |
...
Length |
...
Description |
...
0 1 |
...
BAY Number |
...
Returns the ID |
...
0 |
...
...
8 |
...
|
...
|
...
|
...
|
...
|
...
MSB |
...
-> LSB 8 byte ID RCE Reset Command: <CMD> = |
...
0x0A The format for this command is Offset Length Description 0 1 |
...
BAY |
...
Mask |
...
...
|
...
|
...
|
...
|
...
1 1 |
...
RCE Mask |
...
This command returns |
...
|
...
Offset Length Description |
...
Supported IPMI/ATCA commands
These commands can be issued using ipmitool.
...
|
...
|
...
0 |
...
|
...
|
...
|
...
|
...
|
...
1 |
...
|
...
|
...
|
...
|
...
|
...
Completion |
...
Code |
...
|
...
|
...
|
...
|
...
|
...
1 |
...
|
...
|
...
|
...
|
...
|
...
1 |
...
|
...
|
...
|
...
|
...
|
...
Mask |
...
of |
...
Bays |
...
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 |
...
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 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 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> [...]
Custom COB IPMI commands for COB 5
These commands can be issued using ipmitool.
...
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 EEPROM, 1=RMB EEPROM) 1 1 Address 2 1 Length to read Write to RTM EEPROM: <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 Raw I2C Read: <CMD> = 0xF7 The format for this command is Offset Length Description 0 1 I2C Bus 1 1 Device Address (7 bit address) 2 1 Length to read This command returns Offset Length Description 0 1 Completion Code 1 N Data read Raw I2C Write: <CMD> = 0xF8 The format for this command is Offset Length Description 0 1 I2C Bus 1 1 Device Address (7 bit address) 2 1 Length to write 3 N Data to write This command returns Offset Length Description 0 1 Completion Code I2C Test Command: <CMD> = 0xf6 The format for this command is Offset Length Description 0 1 The BAY to test I2C devices in 1 1 The expected RCE mask 2 1 The expected Power This command returns Offset Length Description 0 1 Completion Code 1 1 Error Code Get Bay Power Command: <CMD> = 0x0e The format for this command is Offset Length Description 0 1 The BAY number This command returns Offset Length Description 0 1 Completion Code 1 2 Voltage in mV (ADIN) 3 2 Current in mA Get Bay Temperatures: <CMD> = 0x0f The format for this command is Offset Length Description 0 1 BAY number 1 1 RCE number (optional) This command returns Offset Length Description 0 1 Completion Code 1 1 Board Temperature 2 1 Junction Temperature Get Bay GPIO: <CMD> = 0x12 The format for this command is Offset Length Description 0 1 BAY number This command returns Offset Length Description 0 1 Completion Code Which of the following is returned depends on which BAY is requested: For a CMB Bay (0-4) 1 1 RCE Detected Mask 2 1 RCE Reset Mask 3 1 RCE BSI Ready Mask 4 1 RCE FPGA Done Mask 5 1 CMB Voltage OK Mask 6 1 CMB Power Allocation (in 1/5 Watts) For the CEN Bay 1 1 CEN Voltage OK Mask 2 1 SFP Present Mask 3 1 SFP LOS Mask For the RTM Bay 1 1 RTM Handle Closed 2 1 RMB 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 | ||
---|---|---|
| ||
FRU Control 2Command (cold/warm reset) ipmitool-pps -I lan -H 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] Set Bay Power: <CMD> = 0xFB (This is only intended to be used for HW debugging as immediately turns on/off power to a Bay.) The format for this command is Offset Length Description 0 1 BAY MASK <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 language none usage: ipmi_activate <shelf> <slot>
ipmi_deactivate
Deactivate a shelf's payload.Code Block language none usage: ipmi_deactivate <shelf> <slot>
ipmi_id
Read COB Data Board ID PROM.Code Block language none usage: ipmi_id <shelf> <slot> <board>
ipmi_read
Read from the Cluster Element BSI.Code Block language none usage: ipmi_read <shelf> <slot> <element> <address> [<length>]
ipmi_write
Write the Cluster Element BSI.Code Block language none usage: ipmi_write <shelf> <slot> <element> <address> <data> [...]