...
- 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 activate deactivate 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 deactivate activate 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
...
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]
Reset the SDR repository
Code Block language none [B8 00 33 0A 40 00]
Custom COB IPMI commands (COB5 and COB6)
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 | ||
---|---|---|
| ||
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) <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) RefreshRaw ShelfI2C 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 N 2 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 | ||
---|---|---|
| ||
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 language none usage: ipmi_activate <shelf> <slot>
ipmi_deactivate
Deactivate a shelf's payload.Code Block language none 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 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> [...]
...