You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

The following assumes that you are already able to build the IPMC software and will explain how to use ipmitool to upload the new code to the IPMC from linux w/o having to use the Actel dongle from the Windows box.

ipmitool1.8.9-pps-10 has been installed in the central package repository at /reg/g/rce/packages/bin with the names ipmitool and ipmitool-pps.

  • 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:
    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
  • If there is a problem with the upgrade, you can try rolling back to the old software with the command:
    • ipmitool-pps ... hpm rollback

The help that is packaged with ipmitool is pretty good, so there's more info to be found there.

Here's a couple that will probably be useful:

  • To activate the payload (initiate M1->M2 transition):
    ipmitool-pps -I lan -H shlfmgr02 -t 0x86 -b 0 -A NONE picmg policy set 0 2 1
    
  • To deactivate the payload (initiate M4->M5 transition):
    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:
    [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)
    [B8 00 41 0A 40 00]
    
  • Set Handle Switch
    [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.

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


Set Bootstrap Loader Word: <CMD> = 0x01
      The format for this command is 
      Offset Length Description
      0      1      Element Number (0xff = All Elements)
                                   (0xfe = All DPMs)
      1      4      Bootstrap (MSB first)

Read Bootstrap Loader Word: <CMD> = 0x02
      The format for this command is
      Offset Length Description
      0      1      Cluster Element

Write to Cluster Element BSI: <CMD> = 0x03
      The format for this command is
      Offset Length Description
      0      1      Cluster Element Number (0xff = All Elements)
                                           (0xfe = All DPM Elements)
      1      1      Do interrupt
      2      2      Address
      4      2      Length to write
      6      N      Data to write (if length <= 16, if length is >16, fill with incrementing data starting with 0)

Read from Cluster Element BSI: <CMD> = 0x4
      The format for this command is
      Offset Length Description
      0      1      Cluster Element Number
      1      2      Address (Byte Address)
      3      2      Length to read (Though 2 bytes long, IPMI practically limits this to <16)

Read COB Data Board ID PROM: <CMD> = 0x5
      The format for this command is
      Offset Length Description
      0      1      Board Number [RTM, DPM3, DPM2, DPM1, DPM0, DTM] = 5-0

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

Immediate Boot (warm reboot w/ specified Bootstrap word): <CMD> = 0x06
      The format for this command is 
      Offset Length Description
      0      1      Element Number
      1      4      Bootstrap (MSB first)

Read the COB Data Board Configuration EEPROM <CMD> = 0xfc
      The format for this command is
      Offset Length Description
      0      1      Board Number [RTM, DPM3, DPM2, DPM1, DPM0, DTM] = 5-0
      1      1      Address
      2      1      Length (<=8)

Write the COB Data Board Configuration EEPROM (Super-Dangerous Command, which shouldn't be used!) <CMD> = 0xfd
      The format for this command is
      Offset Length Description
      0      1      Board Number [RTM, DPM3, DPM2, DPM1, DPM0, DTM] = 5-0
      1      1      Address
      2    <=8      Data

Supported IPMI/ATCA commands

These commands can be issued using ipmitool.


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
      0x01      - Warm Reset

Short-hand commands

The following commands are provided as scripts in the bin of our group area:

  • ipmi_activate
    usage: ipmi_activate <shelf> <slot>
    
  • ipmi_deactivate
  • ipmi_boot
  • ipmi_bootstrap
  • ipmi_eeprom
  • ipmi_read
  • ipmi_write
  • No labels