Monday, October 28, 2013

Perl Timestamp in string using POSIX qw(strftime)

use POSIX qw(strftime);

my $now_string = strftime "%Y%b%e_%H%M%S", localtime;
my $error_log= "checkfilelist_$now_string.log";

# more format info (credit to http://www.tutorialspoint.com/perl/perl_date_time.htm)

POSIX Function strftime()

You can use the POSIX function strftime() to format date and time with the help of the following table. Please note that the specifiers marked with an asterisk (*) are locale-dependent.
SpecifierReplaced byExample
%aAbbreviated weekday name *Thu
%AFull weekday name *Thursday
%bAbbreviated month name *Aug
%BFull month name *August
%cDate and time representation *Thu Aug 23 14:55:02 2001
%CYear divided by 100 and truncated to integer (00-99)20
%dDay of the month, zero-padded (01-31)23
%DShort MM/DD/YY date, equivalent to %m/%d/%y08/23/01
%eDay of the month, space-padded ( 1-31)23
%FShort YYYY-MM-DD date, equivalent to %Y-%m-%d2001-08-23
%gWeek-based year, last two digits (00-99)01
%gWeek-based year2001
%hAbbreviated month name * (same as %b)Aug
%HHour in 24h format (00-23)14
%IHour in 12h format (01-12)02
%jDay of the year (001-366)235
%mMonth as a decimal number (01-12)08
%MMinute (00-59)55
%nNew-line character ('\n')
%pAM or PM designationPM
%r12-hour clock time *02:55:02 pm
%R24-hour HH:MM time, equivalent to %H:%M14:55
%SSecond (00-61)02
%tHorizontal-tab character ('\t')
%TISO 8601 time format (HH:MM:SS), equivalent to%H:%M:%S14:55
%uISO 8601 weekday as number with Monday as 1 (1-7)4
%UWeek number with the first Sunday as the first day of week one (00-53)33
%VISO 8601 week number (00-53)34
%wWeekday as a decimal number with Sunday as 0 (0-6)4
%WWeek number with the first Monday as the first day of week one (00-53)34
%xDate representation *08/23/01
%XTime representation *14:55:02
%yYear, last two digits (00-99)01
%YYear2001
%zISO 8601 offset from UTC in timezone (1 minute=1, 1 hour=100)
If timezone cannot be termined, no characters
+100
%ZTimezone name or abbreviation *
If timezone cannot be termined, no characters
CDT
%%% sign%

Tuesday, October 22, 2013

SMTP Perl example / Send email with Perl

#!/usr/bin/perl
use Net::SMTP;
my @NAMELIST=(
 #list all name who can receive the information!
 'cybertech@cybertech.com',

 );
if ($#ARGV != 2)
{
 print "\nUsage: perl smtp_alert_email.pl [ChassisName] [Status] [ERROR_MESSAGE]\n";
 exit -1;
}
chomp($ARGV[0]);
chomp($ARGV[1]);
chomp($ARGV[2]);

my $subject = "Validation script $ARGV[1] on $ARGV[0]";
my $string = <Message:
$ARGV[2]
NOTE: This is an auto-generated email, please do not reply.

;

for ($i=0; $i < @NAMELIST; $i++)
{
    $smtp = Net::SMTP->new('ORCAS01.cybertech.com');
    $smtp->mail('cybertech@cybertech.com');
    $smtp->to($NAMELIST[$i]);
    $smtp->data();
    $smtp->datasend("From:XXXX\n");
    $smtp->datasend("To:$NAMELIST[$i]\n");
    $smtp->datasend("Subject: ALERT: $subject.\n");
    $smtp->datasend("\n");
    $smtp->datasend("$string\n");
    $smtp->dataend();
    $smtp->quit;
}

Concurrent ping with fork (PERL)

#!/usr/bin/perl
use strict;
use warnings;
 
print "Starting main program\n";
my @childs;
  
for ( my $count = 1; $count <= 500; $count++)
{
 my $pid = fork();
 if ($pid)
 {
  #parent
  print "pid is $pid, parent $$\n";
  push(@childs, $pid);
 
 }
 elsif ($pid == 0)
 {
  #child
  system("ping 128.0.10.127");
  exit 0;
 }
 else
 {
  die "couldnt fork: $!\n";
 }
}
foreach (@childs)
{
 my $tmp = waitpid($_, 0);
 print "done with pid $tmp\n";
}
print "End of main program\n";

Auto FTP logs to server

Below shell script is transferring logs file to server from CMM.
=========================================
Time=$(date +"%F_%HH%MM%SS")
ftp -n <        open
        user
        binary
        prompt
        cd /home/wcsim/dump_062311/cmm1
        mkdir timeoutput_top_error_log_$Time
        cd timeoutput_top_error_log_$Time
        lcd /root
        mput timeoutput*
        mput top_cmm*
        lcd /var/log/cmm/cmm
        mput error.log*
        lcd /tmp/log
        mput shm.debug*
        bye
EOF
rm -rf /var/log/cmm/cmm/*

CMM pre_cmm_startup file configuration

#!/bin/sh
#do not remove this line
/etc/cmm/scripts/oosled &> /dev/NULL &
sh /usr/local/data/printtime.sh >> /root/timeoutput_$(date +"%F_%HH%MM%SS").log &

echo -n "Setting default log levels... "
/usr/cmm/bin/cmm_log_control -s NOTICE IPMI
/usr/cmm/bin/cmm_log_control -s DEBUG -n SHM ALL
/usr/cmm/bin/cmm_log_control -s INFO -n cmmget ALL
/usr/cmm/bin/cmm_log_control -s INFO -n cmmset ALL
/usr/cmm/bin/cmm_log_control -s INFO -n NTPD ALL
/usr/cmm/bin/cmm_log_control -s INFO -n UPGRADE ALL
/usr/cmm/bin/cmm_log_control -s INFO -n PM ALL
/usr/cmm/bin/cmm_log_control -s INFO -n SNMPD ALL
echo done

ibootbar command

# ibootbar power setup
# After plug in power supply with port number
# make sure each cable plug in has been numbered.
# List outlets and activating/power on power port
get outlets
set outlet 4 on
# power off power port
get outlets
set outlet 4 off
# get outlet status
get outlet 4
# list groups and get group status
get groups
get group 6014-5
# power on group
set group 6014-5 on

# power off group
set group 6014-5 off

Format time stamp in decimal number only

# Script
use POSIX qw(strftime);
my $now_string = POSIX::strftime("%Y%m%d_%H%M%S", localtime);
print "$now_string\n";
# Output
D:\Radisys_work\scripts>perl test_date.pl
20110708_101903

Good reference: 
http://www.tutorialspoint.com/perl/perl_date_time.htm

rsys-ipmitool version 1.8.9 usage

rsys-ipmitool version 1.8.9
usage: rsys-ipmitool [options...]
       -h             This help
       -V             Show version information
       -v             Verbose (can use multiple times)
       -c             Display output in comma separated format
       -d N           Specify a /dev/ipmiN device to use (default=0)
       -I intf        Interface to use
       -H hostname    Remote host name for LAN interface
       -p port        Remote RMCP port [default=623]
       -U username    Remote session username
       -f file        Read remote session password from file
       -S sdr         Use local file for remote SDR cache
       -a             Prompt for remote password
       -e char        Set SOL escape character
       -C ciphersuite Cipher suite to be used by lanplus interface
       -k key         Use Kg key for IPMIv2 authentication
       -L level       Remote session privilege level [default=ADMINISTRATOR]
                      Append a '+' to use name/privilege lookup in RAKP1
       -A authtype    Force use of auth type NONE, PASSWORD, MD2, MD5 or OEM
       -P password    Remote session password
       -E             Read password from IPMI_PASSWORD environment variable
       -m address     Set local IPMB address
       -b channel     Set destination channel for bridged request
       -t address     Bridge request to remote target address
       -B channel     Set transit channel for bridged request (dual bridge)
       -T address     Set transit address for bridge request (dual bridge)
       -l lun         Set destination lun for raw commands
       -o oemtype     Setup for OEM (use 'list' to see available OEM types)
       -O seloem      Use file for OEM SEL event descriptions

Interfaces:
 open          Linux OpenIPMI Interface [default]
 imb           Intel IMB Interface
 lan           IPMI v1.5 LAN Interface
 lanplus       IPMI v2.0 RMCP+ LAN Interface

Commands:

 raw           Send a RAW IPMI request and print response
 i2c           Send an I2C Master Write-Read command and print response
 spd           Print SPD info from remote I2C device
 lan           Configure LAN Channels
 chassis       Get chassis status and set power state
 power         Shortcut to chassis power commands
 event         Send pre-defined events to MC
 mc            Management Controller status and global enables
 sdr           Print Sensor Data Repository entries and readings
 sensor        Print detailed sensor information
 fru           Print built-in FRU and scan SDR for FRU locators
 sel           Print System Event Log (SEL)
 pef           Configure Platform Event Filtering (PEF)
 sol           Configure and connect IPMIv2.0 Serial-over-LAN
 tsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
 isol          Configure IPMIv1.5 Serial-over-LAN
 user          Configure Management Controller users
 channel       Configure Management Controller channels
 session       Print session information
 sunoem        OEM Commands for Sun servers
 rsysoem       OEM Commands for RadiSys blades
 kontronoem    OEM Commands for Kontron devices
 picmg         Run a PICMG/ATCA extended cmd
 fwum          Update IPMC using Kontron OEM Firmware Update Manager
 firewall      Configure Firmware Firewall
 shell         Launch interactive IPMI shell
 exec          Run list of commands from file
 set           Set runtime variable for shell and exec
 hpm           Update HPM components using PICMG HPM.1 file
 fumi          Update HPM components with custom output for HPI FUMI support

usage: frutool version 1.13, built: 01:00:28, Jun 29 2011, (c) RadiSys Corp.

frutool version 1.13, built: 01:00:28, Jun 29 2011, (c) RadiSys Corp.
Usage: frutool [-v]

Commands:
  check
  info
  diff
  dump
  update
  setnsnver [add]
  swversions
  fix

The day before validated SH FRU from orignal BOM list with latest modified SH FRU

Daily: The day before validated SH FRU from orignal BOM list with latest modified SH FRU
 
Validated SH FRU update to ATCA-6014-11990114-FRU-CMM3-vR0 from ATCA-6014-FRU-v01-08 (BOM list)
 
# copy FRU cfg and bin
 
# update Shelf FRU CMM1
fru_update "-t 0x20 -m 0x10" ATCA-6014-11596114-FRU-CMM3-vR1.cfg ATCA-6014-11596114-FRU-CMM3-vR1.bin
 
# update Shelf FRU CMM2
fru_update "-t 0x20 -m 0x12" ATCA-6014-11596114-FRU-CMM3-vR1.cfg ATCA-6014-11596114-FRU-CMM3-vR1.bin
 
# the other one is (from CMM1)
rsys-ipmitool -t 0x20 -m 0x10 fru write 1 ATCA-6014-11596114-FRU-CMM3-vR1.bin
rsys-ipmitool -t 0x20 -m 0x10 fru write 2 ATCA-6014-11596114-FRU-CMM3-vR1.bin
 
# the other one is (from CMM2)
rsys-ipmitool -t 0x20 -m 0x12 fru write 1 ATCA-6014-11596114-FRU-CMM3-vR1.bin
rsys-ipmitool -t 0x20 -m 0x12 fru write 2 ATCA-6014-11596114-FRU-CMM3-vR1.bin
# Set chassis ID for older SH FRU (6014/6016 chassis)
rsys-ipmitool raw 0x2e 0xc0 0xf1 0x10 0 6
# Checking SH FRU

rsys-ipmitool -t 0x20 -m 0x12 -v fru print 1 | grep "Product FRU ID"

Executing Test Case

# check snmp
cmmget -d snmpenable
# set snmp
cmmset -d snmpenable -v 1
# check snmp port
cmmget -d snmptrapport
# change snmp port (based on last digit of CMM ip address 53->2053, 178-> 2178)
cmmset -d snmptrapport -v 2053
# check snmp address
cmmget -d snmptrapaddress1
# set snmp address
cmmset -d snmptrapaddress1 -v 128.0.10.1
Cofiguration:
1. Check and configure config file in STM/Config/default.cfg
2. Check on the snmptrap, health and redundancy.
3. Try to make sure KCT in Slot1 and Slot2 with a Switch-blade (Z5xxx or similar) in Slot7.
4. Configure SEL_MIN_CAPACITY=1 in /etc/cmm/shm.conf
  a. Stop standby CMM (cmm stop)
  b. Modify /etc/cmm/shm.conf in active CMM
  c. Restart active CMM (cmm restart)
  d. Modify /etc/cmm/shm.conf in standby CMM
  e. Start standby CMM (cmm start)
  f. Verify selcapacity has a minimum value of 1 instead of 1024 (cmmget -d selcapacity)
5. Do a check for func:9:6 target (cmmget -t func:9:6 -d oempermission)
6. If its not enabled, enable it (cmmset -t func:9:6 -d oempermission -v 1)
7. export TFW_ROOT=/AT/Utils/STM_Merged (or whichever path holds your STM)

Sending email through in linux

Example 1:
echo "This is the body of email" | mail -s "This is the Subject" cybertech@cybertech.com
 
Example 2:
in a bash script file:-
 

#!/bin/bash
# script to send simple email
# email subject
SUBJECT="This is Subject"
# Email To ?
EMAIL="cybertech@cybertech.com"
# Email text/message
EMAILMESSAGE="/tmp/emailmessage.txt"
echo "This is an email message test"> $EMAILMESSAGE
echo "This is email text" >>$EMAILMESSAGE
# send an email using /bin/mail
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE

Downgrading 8.1.1.06 to 8.1.1.016

Daily: Downgrading 8.1.1.06 to 8.1.1.016
 
Log and steps:
 
1. Downgrade FW without "IPMI yesact"
2. Downgrade IPMI activate (rebooted)- both banks
3. Network reseted, previous IP addresses reset to default
4. Re-configure IP addresses.

5. Dowgrade FW without "IPMI yesact" again.

Upgrade from 8.1.0.016 to 8.1.0.020

ogs and steps:
 
# before start
date +"%Y%m%d_%H%M%S"
cmmget -l chassis -t fru -d all
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d healthevents
cmmget -d healthevents > /usr/local/data/healthevents_before.txt
cmmget -d redundancy
cmmget -l system -d listpresent
cat /etc/cmm/scripts/pre_cmm_startup
cat /etc/cmm/scripts/post_cmm_startup
cat /etc/cmm/scripts/post_cmm_startup
cat /etc/cmm/scripts/post_cmm_shutdown
cd /usr/local/data
ispVME-SSPI NFC_LFXP2-17_20100803_80A6_ALGO.SEA NFC_LFXP2-17_20100803_80A6_DATA.SED validate
ispVME-SSPI NFC_LFXP2-17_20100803_80A6_ALGO.SEA NFC_LFXP2-17_20100803_80A6_DATA.SED

# 1. Flashing JB (first bank)
cmmset -d update -v "/tftpboot/Wildwood/8.1.0.020_Dec15/install ftp:128.0.10.1:kyfoo:xxxx"
# 2. Flashing IPMI (both bank)
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.0.020/IPMI/cmm3_all.hpm /usr/local/data
cmmget -d version
rsys-ipmitool hpm check
rsys-ipmitool hpm check cmm3_all.hpm
# first bank 0
rsys-ipmitool hpm upgrade cmm3_all.hpm activate
[press enter]
y
[press enter]
rsys-ipmitool hpm check
# second bank 1
rsys-ipmitool hpm upgrade cmm3_all.hpm activate
[press enter]
y
[press enter]
rsys-ipmitool hpm check
## CMM FRU
# From CMM1
fru_update "-t 0x10 -m 0x10" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
fru_update "-t 0x12 -m 0x10" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
# recommended clean install
rsys-ipmitool -t 0x10 -m 0x10 fru write 0 A6K-RSM-J-FRU-v01-00.bin
rsys-ipmitool -t 0x12 -m 0x10 fru write 0 A6K-RSM-J-FRU-v01-00.bin
# From CMM2
fru_update "-t 0x10 -m 0x12" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
fru_update "-t 0x12 -m 0x12" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
# recommended clean install
rsys-ipmitool -t 0x10 -m 0x12 fru write 0 A6K-RSM-J-FRU-v01-00.bin
rsys-ipmitool -t 0x12 -m 0x12 fru write 0 A6K-RSM-J-FRU-v01-00.bin
## CMM VFRU
# From CMM1
fru_update "-t 0x20 -m 0x10" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
fru_update "-t 0x20 -m 0x10" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
cmmset -d failover -v 1
rsys-ipmitool -t 0x20 -m 0x10 fru write 0 A6K-RSM-J-VFRU-v01-00.bin
# From CMM2
fru_update "-t 0x20 -m 0x12" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
fru_update "-t 0x20 -m 0x12" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
cmmset -d failover -v 1
rsys-ipmitool -t 0x20 -m 0x12 fru write 0 A6K-RSM-J-VFRU-v01-00.bin
# CMM1
fru_update "-t 0x20 -m 0x10" NECCH0001-FRU-CMM3-vR1.cfg NECCH0001-FRU-CMM3-vR1.bin
rsys-ipmitool -t 0x20 -m 0x10 fru write 1 NECCH0001-FRU-CMM3-vR1.bin
rsys-ipmitool -t 0x20 -m 0x10 fru write 2 NECCH0001-FRU-CMM3-vR1.bin
# CMM2
fru_update "-t 0x20 -m 0x12" NECCH0001-FRU-CMM3-vR1.cfg NECCH0001-FRU-CMM3-vR1.bin
rsys-ipmitool -t 0x20 -m 0x12 fru write 1 NECCH0001-FRU-CMM3-vR1.bin
rsys-ipmitool -t 0x20 -m 0x12 fru write 2 NECCH0001-FRU-CMM3-vR1.bin

# 5. Power Cycles then execute below command
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d redundancy
**If CMM does not come up, please check the IP addresses, set them to bring both CMM up
cmmset -d cdmcmm1eth0data -v ip:120.0.10.53,nm:255.255.255.0,gw:120.0.10.1,boot:static
cmmset -d cdmcmm1eth1data -v ip:121.0.10.53,nm:255.255.255.0,gw:121.0.10.1,boot:static
cmmset -d cdmcmm1eth2data -v ip:128.0.10.53,nm:255.255.255.0,gw:128.0.10.1,boot:static
cmmset -d cdmcmm1eth3data -v ip:123.0.10.53,nm:255.255.255.0,gw:123.0.10.1,boot:static
cmmset -d cdmcmm2eth0data -v ip:120.0.10.54,nm:255.255.255.0,gw:120.0.10.1,boot:static
cmmset -d cdmcmm2eth1data -v ip:121.0.10.54,nm:255.255.255.0,gw:121.0.10.1,boot:static
cmmset -d cdmcmm2eth2data -v ip:128.0.10.54,nm:255.255.255.0,gw:128.0.10.1,boot:static
cmmset -d cdmcmm2eth3data -v ip:123.0.10.54,nm:255.255.255.0,gw:123.0.10.1,boot:static
# 6. Flash JB (second bank)
cmmset -d update -v "/tftpboot/Wildwood/8.1.0.020_Dec15/install ftp:128.0.10.1:kyfoo:xxxx"
# 7. Reboot both CMM after both upgraded, and verify the version again.
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d redundancy

# 8. Reboot CMM to go into UBoot confirm both UBoot banks have been flash successfully (observe bank selection should be IPMC 1 and LMP 1)
ctrl+x then ctrl+w
version
swflash
ctrl+x then ctrl+w
version
boot

# after CMM up check JB version below again.
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d redundancy

rade 8.1.0.020 to 8.1.1.06

Logs and steps:
\\ornas02\home\kyfoo\special_request\20110721_upgrade_8.1.0.016_to_8.1.1.06
### Upgrade to 8.1.1.06
# before start
date +"%Y%m%d_%H%M%S"
cmmget -l chassis -t fru -d all
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d healthevents
cmmget -d healthevents > /usr/local/data/healthevents_before.txt
cmmget -d redundancy
cmmget -l system -d listpresent
cat /etc/cmm/scripts/pre_cmm_startup
cat /etc/cmm/scripts/post_cmm_startup
cat /etc/cmm/scripts/post_cmm_startup
cat /etc/cmm/scripts/post_cmm_shutdown

# 0. Flashing NAND (only one bank) - skip this if no version changed.
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.0.016_RM_pass3/NAND_FPGA/NFC_LFXP2-17_20100803_80A6_ALGO.SEA /usr/local/data
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.0.016_RM_pass3/NAND_FPGA/NFC_LFXP2-17_20100803_80A6_DATA.SED /usr/local/data
cd /usr/local/data
ispVME-SSPI NFC_LFXP2-17_20100803_80A6_ALGO.SEA NFC_LFXP2-17_20100803_80A6_DATA.SED validate
ispVME-SSPI NFC_LFXP2-17_20100803_80A6_ALGO.SEA NFC_LFXP2-17_20100803_80A6_DATA.SED

# 1. Flashing JB (first bank)
cmmset -d update -v "/tftpboot/Wildwood/8.1.1.06/UBootWRJulesburg/install ftp:128.0.10.1:kyfoo:usm67247"
# 2. Flashing IPMI (both bank)
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/cmm3_all.hpm /usr/local/data
cmmget -d version
rsys-ipmitool hpm check
rsys-ipmitool hpm check cmm3_all.hpm
# first bank 0
rsys-ipmitool hpm upgrade cmm3_all.hpm activate
[press enter]
y
[press enter]
rsys-ipmitool hpm check
# second bank 1
rsys-ipmitool hpm upgrade cmm3_all.hpm activate
[press enter]
y
[press enter]
rsys-ipmitool hpm check
# 3. reboot and flashing second bank of JB
reboot
cmmget -d version
cmmset -d update -v "/tftpboot/Wildwood/8.1.1.06/UBootWRJulesburg/install ftp:128.0.10.1:kyfoo:usm67247"

# 3. Flashing IPMC FRU data
## To STOP CMM
/etc/init.d/cmm stop
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-FRU-v01-00.bin /usr/local/data
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-FRU-v01-00.cfg /usr/local/data
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-VFRU-v01-00.bin /usr/local/data
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-VFRU-v01-00.cfg /usr/local/data
## CMM FRU
# From CMM1
fru_update "-t 0x10 -m 0x10" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
fru_update "-t 0x12 -m 0x10" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
# recommended clean install
rsys-ipmitool -t 0x10 -m 0x10 fru write 0 A6K-RSM-J-FRU-v01-00.bin
rsys-ipmitool -t 0x12 -m 0x10 fru write 0 A6K-RSM-J-FRU-v01-00.bin
rsys-ipmitool -t 0x20 -m 0x10 -v fru print 0 | grep "Product FRU ID"
# From CMM2
fru_update "-t 0x10 -m 0x12" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
fru_update "-t 0x12 -m 0x12" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
# recommended clean install
rsys-ipmitool -t 0x10 -m 0x12 fru write 0 A6K-RSM-J-FRU-v01-00.bin
rsys-ipmitool -t 0x12 -m 0x12 fru write 0 A6K-RSM-J-FRU-v01-00.bin
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 0 | grep "Product FRU ID"
## CMM VFRU
# From CMM1
fru_update "-t 0x20 -m 0x10" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
fru_update "-t 0x20 -m 0x10" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
cmmset -d failover -v 1
rsys-ipmitool -t 0x20 -m 0x10 fru write 0 A6K-RSM-J-VFRU-v01-00.bin
# From CMM2
fru_update "-t 0x20 -m 0x12" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
fru_update "-t 0x20 -m 0x12" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
cmmset -d failover -v 1
rsys-ipmitool -t 0x20 -m 0x12 fru write 0 A6K-RSM-J-VFRU-v01-00.bin

# 4. Flashing CDM (Chassis Data Module) (execute in either one CMM is sufficient)
## To STOP CMM
/etc/init.d/cmm stop
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Shelf_FRU_Data/NECCH0001-FRU-CMM3-vR2.bin /usr/local/data
scp kyfoo@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Shelf_FRU_Data/NECCH0001-FRU-CMM3-vR2.cfg /usr/local/data
# CMM1
fru_update "-t 0x20 -m 0x10" NECCH0001-FRU-CMM3-vR2.cfg NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x10 fru write 1 NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x10 fru write 2 NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x10 -v fru print 1 | grep "Product FRU ID"
ifconfig
# CMM2
fru_update "-t 0x20 -m 0x12" NECCH0001-FRU-CMM3-vR2.cfg NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x12 fru write 1 NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x12 fru write 2 NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 1 | grep "Product FRU ID"
ifconfig
# 5. Power Cycles then execute below command
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d redundancy
**If CMM does not come up, please check the IP addresses, set them to bring both CMM up
cmmset -d cdmcmm1eth0data -v ip:120.0.10.53,nm:255.255.255.0,gw:120.0.10.1,boot:static
cmmset -d cdmcmm1eth1data -v ip:121.0.10.53,nm:255.255.255.0,gw:121.0.10.1,boot:static
cmmset -d cdmcmm1eth2data -v ip:128.0.10.53,nm:255.255.255.0,gw:128.0.10.1,boot:static
cmmset -d cdmcmm1eth3data -v ip:123.0.10.53,nm:255.255.255.0,gw:123.0.10.1,boot:static
cmmset -d cdmcmm2eth0data -v ip:120.0.10.54,nm:255.255.255.0,gw:120.0.10.1,boot:static
cmmset -d cdmcmm2eth1data -v ip:121.0.10.54,nm:255.255.255.0,gw:121.0.10.1,boot:static
cmmset -d cdmcmm2eth2data -v ip:128.0.10.54,nm:255.255.255.0,gw:128.0.10.1,boot:static
cmmset -d cdmcmm2eth3data -v ip:123.0.10.54,nm:255.255.255.0,gw:123.0.10.1,boot:static
# 6. Flash JB (second bank)
cmmset -d update -v "/tftpboot/Wildwood/8.1.0.020_Dec15/install ftp:128.0.10.1:kyfoo:usm67247"
# 7. Reboot both CMM after both upgraded, and verify the version again.
ifconfig
rsys-ipmitool hpm check
uname -r
cmmget -d version
cmmget -d redundancy

# 8. Reboot CMM to go into UBoot confirm both UBoot banks have been flash successfully (observe bank selection should be IPMC 1 and LMP 1)
ctrl+x then ctrl+w
version
swflash
ctrl+x then ctrl+w
version
boot
# after CMM up check JB version below again.
ifconfig
rsys-ipmitool hpm check
uname -r
cmmget -d version
cmmget -d redundancy

Upgrade 8.1.0.016 to 8.1.1.06 through UBoot

Logs and steps:
\\cybertech02\home\cybertech\special_request\20110722_downgrade_8.1.1.06_to_8.1.0.016
# Upgrade from UBOOT
date +"%Y%m%d_%H%M%S"
cmmget -l chassis -t fru -d all
ifconfig
cmmget -d version
rsys-ipmitool hpm check
uname -r
cmmget -d healthevents
cmmget -d healthevents > /usr/local/data/healthevents_before.txt
cmmget -d redundancy
cmmget -l system -d listpresent
cat /etc/cmm/scripts/pre_cmm_startup
cat /etc/cmm/scripts/post_cmm_startup
cat /etc/cmm/scripts/post_cmm_startup
cat /etc/cmm/scripts/post_cmm_shutdown
# check for CDM FRU info inside CMM1
rsys-ipmitool -t 0x20 -m 0x10 -v fru print 1 | grep "Product FRU ID"
# check for CDM FRU info inside CMM2
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 1 | grep "Product FRU ID"

# check for CMM FRU info inside CMM1
rsys-ipmitool -t 0x20 -m 0x10 -v fru print 0 | grep "Product FRU ID"
# check for CMM FRU info inside CMM2
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 0 | grep "Product FRU ID"

## Upgrade UBOOTl
## uboot
reset
ctrl-x then ctrl-w
version

# Flashing Uboot & Flashing JB/WR Linux
goto Ctrl-x then Ctrl-w
version
setenv ipaddr 128.0.10.54
setenv serverip 128.0.10.1
setenv sfile Wildwood/8.1.1.06/UBoot/u-boot-spi.bin
setenv bootfile Wildwood/8.1.1.06/Linux/Linux.bin
printenv ipaddr
printenv serverip
printenv sfile
printenv bootfile
saveenv
run fspicur
run flinuxcur
run fspialt
run flinuxalt
# to make UBoot effectively written
reset
# check version after reset
version
boot
swflash
goto Ctrl-x then Ctrl-w
version
boot
# failed CMM start up
cmmget -d version
ifconfig

## ISSUE (UBOOT is corrupted, please reflash UBOOT)
U-Boot 2009.11 (Jul 14 2011 - 02:12:33) 2009.11.CMM3-14_WR3.0_rsys
NAND FPGA version:               80.a6
IPMC Selected Flash Bank:        1
LMP Selected Flash Bank:         0

# Flashing IPMI (both bank)
**SETUP network to download binaries
ifconfig eth0 120.0.10.54
ifconfig eth1 121.0.10.54
ifconfig eth2 128.0.10.54
ifconfig eth3 123.0.10.54
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/cmm3_all.hpm /usr/local/data
cd /usr/local/data
rsys-ipmitool hpm check cmm3_all.hpm
# first bank 0
rsys-ipmitool hpm upgrade cmm3_all.hpm activate
y
[press enter]
rsys-ipmitool hpm check
# second bank 1
rsys-ipmitool hpm upgrade cmm3_all.hpm activate
y
[press enter]
rsys-ipmitool hpm check

# 3. Flashing IPMC FRU data
## To STOP CMM
/etc/init.d/cmm stop
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-FRU-v01-00.bin /usr/local/data
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-FRU-v01-00.cfg /usr/local/data
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-VFRU-v01-00.bin /usr/local/data
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Wildwood_FRU_Data/A6K-RSM-J-VFRU-v01-00.cfg /usr/local/data
## CMM FRU
# From CMM1
cd /usr/local/data
fru_update "-t 0x10 -m 0x10" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
# recommended clean install
rsys-ipmitool -t 0x10 -m 0x10 fru write 0 A6K-RSM-J-FRU-v01-00.bin
# From CMM2
cd /usr/local/data
fru_update "-t 0x12 -m 0x12" A6K-RSM-J-FRU-v01-00.cfg A6K-RSM-J-FRU-v01-00.bin
# recommended clean install
rsys-ipmitool -t 0x12 -m 0x12 fru write 0 A6K-RSM-J-FRU-v01-00.bin
## CMM VFRU
# From CMM1
fru_update "-t 0x20 -m 0x10" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
fru_update "-t 0x20 -m 0x10" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
cmmset -d failover -v 1
rsys-ipmitool -t 0x20 -m 0x10 fru write 0 A6K-RSM-J-VFRU-v01-00.bin
# From CMM2
fru_update "-t 0x20 -m 0x12" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
fru_update "-t 0x20 -m 0x12" A6K-RSM-J-VFRU-v01-00.cfg A6K-RSM-J-VFRU-v01-00.bin
cmmset -d failover -v 1
rsys-ipmitool -t 0x20 -m 0x12 fru write 0 A6K-RSM-J-VFRU-v01-00.bin
# check for CMM FRU info inside CMM1
rsys-ipmitool -t 0x20 -m 0x10 -v fru print 0 | grep "Product FRU ID"
# check for CMM FRU info inside CMM2
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 0 | grep "Product FRU ID"

# 4. Flashing CDM (Chassis Data Module) for NEC only ONCE update is needed per Chassis
## To STOP CMM
/etc/init.d/cmm stop
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Shelf_FRU_Data/NECCH0001-FRU-CMM3-vR2.bin /usr/local/data
scp cybertech@128.0.10.1:/tftpboot/Wildwood/8.1.1.06/IPMI/Cmm3v0024/Shelf_FRU_Data/NECCH0001-FRU-CMM3-vR2.cfg /usr/local/data
# CMM1
cd /usr/local/data
fru_update "-t 0x20 -m 0x10" NECCH0001-FRU-CMM3-vR2.cfg NECCH0001-FRU-CMM3-vR2.bin
# recommended clean update
rsys-ipmitool -t 0x20 -m 0x10 fru write 1 NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x10 fru write 2 NECCH0001-FRU-CMM3-vR2.bin
# CMM2
cd /usr/local/data
fru_update "-t 0x20 -m 0x12" NECCH0001-FRU-CMM3-vR2.cfg NECCH0001-FRU-CMM3-vR2.bin
# recommended clean update
rsys-ipmitool -t 0x20 -m 0x12 fru write 1 NECCH0001-FRU-CMM3-vR2.bin
rsys-ipmitool -t 0x20 -m 0x12 fru write 2 NECCH0001-FRU-CMM3-vR2.bin
# check for CDM FRU info inside CMM1
rsys-ipmitool -t 0x20 -m 0x10 -v fru print 1 | grep "Product FRU ID"
# check for CDM FRU info inside CMM2
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 1 | grep "Product FRU ID"

# then reboot and set CDM IP address and verify version
ifconfig
# changing/setting CMM IP address
cmmset -d cdmcmm1eth0data -v ip:120.0.10.53,nm:255.255.255.0,gw:120.0.10.1,boot:static
cmmset -d cdmcmm1eth1data -v ip:121.0.10.53,nm:255.255.255.0,gw:121.0.10.1,boot:static
cmmset -d cdmcmm1eth2data -v ip:128.0.10.53,nm:255.255.255.0,gw:128.0.10.1,boot:static
cmmset -d cdmcmm1eth3data -v ip:123.0.10.53,nm:255.255.255.0,gw:123.0.10.1,boot:static
cmmset -d cdmcmm2eth0data -v ip:120.0.10.54,nm:255.255.255.0,gw:120.0.10.1,boot:static
cmmset -d cdmcmm2eth1data -v ip:121.0.10.54,nm:255.255.255.0,gw:121.0.10.1,boot:static
cmmset -d cdmcmm2eth2data -v ip:128.0.10.54,nm:255.255.255.0,gw:128.0.10.1,boot:static
cmmset -d cdmcmm2eth3data -v ip:123.0.10.54,nm:255.255.255.0,gw:123.0.10.1,boot:static
cmmget -d version
rsys-ipmitool hpm check
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 0 | grep "Product FRU ID"
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 1 | grep "Product FRU ID"
# Final verification on all version upgraded
reboot
goto Ctrl-x then Ctrl-w
version
swflash
goto Ctrl-x then Ctrl-w
version
boot
ifconfig
cmmget -d version
rsys-ipmitool hpm check
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 0 | grep "Product FRU ID"
rsys-ipmitool -t 0x20 -m 0x12 -v fru print 1 | grep "Product FRU ID"
Remark is included in my upgrade steps in share folder:
## ISSUE (UBOOT is corrupted, please reflash UBOOT)
U-Boot 2009.11 (Jul 14 2011 - 02:12:33) 2009.11.CMM3-14_WR3.0_rsys
NAND FPGA version:               80.a6
IPMC Selected Flash Bank:        1
LMP Selected Flash Bank:         0

Upgrade using UBoot:

Installing Fedora 15 packages and update:

# installing Fedora 15 packages and update:
yum install vnc
yum install vnc vnc-server
yum install telnet
yum install telnet-server
yum install yum-fastestmirror
yum install nautilus-open-terminal
yum install sudo
yum install tar
yum install sendmail
yum install sed
yum install NetworkManager
yum install OpenIPMI
yum install OpenIPMI-tools
yum install net-snmp
yum install nfs-utils
yum install openldap
yum install perl
yum install subversion
yum install tk
yum install tcl
yum install expect
yum install minicom
yum install ethtool
yum install smartmontools
yum install yp-tools
yum install module-init-tools
yum install mysql
yum install nautilus
yum install orca
yum install open ssh
yum install oprofile
yum install qt
yum install quota
yum install setroubleshoot
yum install system-config-network
yum install system-config-samba
yum install system-config-services
yum install systemtap
yum install time
yum install bind
yum install wireshark
yum install gnome-settings-daemon
yum install gnome-panel
yum install gnome-power-manager

yum install system-config-securitylevel

enable root GUI login

create users and groups

# create linux group
groupadd pgradisys
 
# add user to group (primary)
useradd -g pgradisys kyfoo
# add user to group (secondary)
useradd -G pgradisys kyfoo
 
# modify user group (primary)
usermod -g pgradisys kyfoo

# modify user group (secondary)
usermod -G pgradisys kyfoo

SELinux configuration

Temporarily switch off enforcement:
To check what mode the system is in,
cat /selinux/enforce
which will print a "0" or "1" for permissive or enforcing.
You can switch the system into permissive mode with the following command:
echo 0 >/selinux/enforce
Permanently Permissive
The above will switch off enforcement temporarily - until you reboot the system. If you want the system to always start in permissive mode, then here is how you do it, In Fedora, edit /etc/selinux/config and just change SELINUX=enforcing to SELINUX=permissive, and you're done.

Fully Disabling SELinux:
Fully disabling SELinux goes one step further than just switching into permissive mode. Disabling will completely disable all SELinux functions including file and process labelling.
In Fedora, edit /etc/selinux/config and change the SELINUX line to SELINUX=disabled

Disable iptables

This has cause VNC, telnet, ftp, and scp failed to connect from outside of Fedora.
 

# To disable IP table (default is turn on)
/etc/init.d/iptables stop

reconfigure ftp and tftp

# create ftp symbolic link
cd /var/ftp/pub
ln -s /AT AT
# verify symbolic created.
ll
http://www.wikihow.com/Set-up-an-FTP-Server-in-Ubuntu-Linux
Change the configuration file. Get to the file browser and type /etc. Next scroll down and double click on a file called vsftpd.conf.
Remember that lines that start with a '#' are commented out: 
Disable anonymous access: Change the "anonymous_enable" setting to NO
Change the "local_enable" setting to YES.
3Restart the FTP server to enable your changes: in a shell window, type: sudo /etc/init.d/vsftpd restart

Few permission setting need to configure
1. Iptables
iptables -L -n

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

2. SElinux
getenforce
setsebool -P allow_ftpd_full_access 1
setsebool -P ftp_home_dir=1
[root@sun02 vsftpd]# getenforce
Enforcing
[root@sun02 vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
allow_tftp_anon_write –> off
ftp_home_dir –> on (change that to on in ur case this option is off)
ftpd_disable_trans –> off
ftpd_is_daemon –> on
httpd_enable_ftp_server –> off
tftpd_disable_trans –> off
[root@sun02 vsftpd]# setsebool -P ftp_home_dir on
# setup tftp
http://www.webune.com/forums/how-to-install-tftp-server-in-linux.html
vi /etc/xinetd.d/tftp
        server_args             = -s /tftpboot
        disable                 = no
# restart tftp service
/sbin/service xinetd start

SNMP configuration

# install SNMP
yum install net-snmp net-snmp-utils
 
# SNMP configuration
/etc/init.d/snmpd restart
/etc/init.d/snmptrapd restart
 
# Test SNMP configuration
snmpwalk servername -c public -v1
snmpwalk -v 2c -c public servername system 

After reboot Fedora 15

# reboot fedora, todo list
/etc/init.d/iptables stop
/sbin/service xinetd restart
/etc/init.d/vsftpd restart
/etc/init.d/snmpd restart
/etc/init.d/snmptrapd restart

Perl Module installation (Telnet)

 
Steps:
1. "yum search perl-Net-Telnet"
2. yum install perl-Net-Telnet.noarch

3. yum info perl-Net-Telnet.noarch

Update Fedora 15 DNS address

Installing RHEL 4.6 and RHEL 5.5 on VMplayer or VMware

Need to delay the bios boot up time in order to linux prompt for kickstart installation.
 
MODIFY ".vmx" file and include second line with line below:
bios.bootdelay = 20000

How to enable copy and paste from windows to VNC linux

After launch VNC viewer and open "terminal"
 
In the terminal, type "vncconfig &" and the VNC config window pop up, leave it there [make sure all box are checked].
 

This will allow us to copy in our laptop and paste into VNC server.

How to create new user at RedHat9 (before RHEL)

/usr/sbin/adduser

Server services to enable check list

TELNET
SSH
FTP
TFTP
SNMP
SCP
samba
pxe boot
VNC
 
iptables configuration
selinux configuration
 

- make sure can flash through uboot console.

Temporary configure IP address eth port

 
 

2. Display Details of All interfaces Including Disabled Interfaces

# ifconfig -a

3. Disable an Interface

# ifconfig eth0 down

4. Enable an Interface

# ifconfig eth0 up

5. Assign ip-address to an Interface

Assign 192.168.2.2 as the IP address for the interface eth0.
# ifconfig eth0 192.168.2.2

Change Subnet mask of the interface eth0.
# ifconfig eth0 netmask 255.255.255.0

Change Broadcast address of the interface eth0.
# ifconfig eth0 broadcast 192.168.2.255

Assign ip-address, netmask and broadcast at the same time to interface eht0.
# ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255

Continuous Validation reading materials

Split large file (~3.5GB) file splitters

Windows:
 
General site:
 
 
 

File and disk utilities
Disktective Free program to find out the distribution of used disk space.
Fast File Renamer Freeware program to rename multiple files in one go.
For Windows.
Freebyte Backup Freeware backup program for Windows.
Freebyte Task Scheduler Free task scheduling program for Windows.
Freebyte ZIP Free zip program for Windows
Harddisk Search & Stats  Free search engine for ASCII/text-based files
HJSplit Freeware file splitters for LinuxWindows and
a variety of other platforms.
Bootminder Freeware. Prevents getting infected by a boot virus from floppies.

Setup to run atcatester

Setup to run atcatester
Setup to run atcatester
 
One time setup is installation of atcatester in pgpxe01 server.
 
Related CMM test case: TEST ID: 1.43.1
 
Run atcatester for ShMC
Steps:
1. Flash firmware into both CMMs in Chassis.
2. Configure CMM's IP address and submask need to be 255.255.255.0 (if using 255.255.0.0, test script is not possible to able to run it, refer troubleshoot section) *Do NOT change pgpxe01 server IP subnetmask.
3. Disable password needed for CMM access on Active CMM
    - cmmset -t level:admin -d authtypes -v none
==>Success
4. Verify the password is not need has been configured.
    - cmmget -t level:admin -d authtypes
==> none
 
5. Goto where atcatester installed, example pgpxe01
6. Run atcatester test cases as below (example):
    - esoatcatester -u root -v -c shmctest 128.0.10.78 308
 
 
Troubleshoot:
This is what happen when IP subnetmask is 255.255.0.0
[kyfoo@4Y2ZS1S-radisys ~]$ esoatcatester -u root -v -c shmctest 128.0.10.78 309
* Log into atca_tester_logs/2012_03_27_12_25_50
* Initializing session (128.0.10.78:623)...
* Transport error: Request timed out (NetFn:0x06 Cmd:0x38 Resp:0x20 - GetChannelAuthCapabilities)
 
List of ShMC test cases:
[kyfoo@4Y2ZS1S-radisys ~]$ esoatcatester list shmctest
--- Basic ATCA & IPMI requirements test package ---
--- LEDs requirements test package ---
--- Sensors test package ---
--- Shelf Manager and Shelf test package ---
        300 - Address Table presence and Get Address Info command (ShMC Test)
        301 - Get/Set Shelf Address Info commands (Interactive)(ShMC Test)
        302 - SEL Device (ShMC Test)
        303 - SDR Repository (ShMC Test)
        304 - SDR Repository storage (ShMC Test)
        305 - Temperature Thresholds Crossing (single board,correct order) (ShMC Test)
        306 - Temperature Thresholds Crossing (single board,incorrect order) (ShMC Test)
        307 - Temperature Thresholds Crossing (multi-board) (ShMC Test)
        308 - Temperature Thresholds Crossing (power down/extract board) (Interactive)(ShMC Test)
        312 - Board communication lost/recovered (Interactive)(ShMC Test)
        313 - Board extracted/replaced when communication lost/recovered (Interactive)(ShMC Test)
        315 - Shelf Manager IPMB Address (Interactive)(ShMC Test)
        322 - Temperature Thresholds Crossing (communication lost) (Interactive)(ShMC Test)
        323 - Temperature Thresholds Crossing (multiple power levels) (ShMC Test)
        324 - FRU Inventory Device Lock/Write commands (Interactive)(ShMC Test)
        325 - Insufficient power budget (Interactive)(ShMC Test)
        326 - Shelf Manager Controlled Activation (Interactive)(ShMC Test)
        327 - Shelf Manager Controlled Deactivation (Interactive)(ShMC Test)
--- IPMB related test package ---
        400 - IPMB reliability (w/o an ATCA board) (ShMC Test)
        404 - IPMB hang detection and recovery (IPMB errors on bus) (Interactive)(ShMC Test)
--- RMCP interface requirements test package ---
--- MMC and Carrier IPMC test package ---
--- Description test package ---
        701 - Active Shelf Manager Description (ShMC Test)
---  HPM Tests (IPMC)  ---
---  HPM Tests (MMC)  ---
 
Below are the help from ATCA tester:
Usage: esoatcatester [OPTIONS]... test (ipmc[/frus][:testseq][_sensors])+
       esoatcatester [OPTIONS]... carriertest (ipmc[:testseq][_sensors])+
       esoatcatester [OPTIONS]... mmctest mmc@ipmc[:testseq][_sensors]
       esoatcatester [OPTIONS]... shmctest [testseq]
       esoatcatester [OPTIONS]... shelftest [testseq]
       esoatcatester [OPTIONS]... nettest [testseq]
       esoatcatester [OPTIONS]... list [mode] [testseq]

   hostname: Shelf Manager hostname or IP address.
   testseq: A comma separated list of test numbers
       or test ranges (without any blank character),
       optionnaly followed by a 'not' clause
       (e.g. 1-7,10not2,4-5 is equivalent to tests 1,3,6,7,10).
       Note that 'not10' means all tests except test #10.
       testseq is altered by -i and -I options.
       If no testseq is specified, all possible tests are
       selected according to the given command.
   COMMANDS:
   test (ipmc[/frus][:testseq][_sensors])+
       execute IPMC and FRU test(s).

       ipmc is the IPMB address (in hexadecimal e.g. 0x82
       or 82 mean 0x82) of the IPMC to test.
       frus is a comma separated list of FRUs or FRUs ranges on which
       FRU tests are executed. Non-FRU (IPMC) tests are executed only
       if frus contains '0'. If no frus is specified then '0'
       is added to frus. If frus is equal to 255, then tests
       are executed on all FRUs present on the IPMC.
       Note that frus is subject to the same rules as testseq.
       Instead of ipmc/frus syntax, it is possible to select the FRU to test
       with a character string containing a site type among [board,
       shmc, pem, shelffru, fan, fanfilter, alarm] followed by a
       site number (in decimal e.g. board1, shmc2, fan3, etc...).
       sensors is a comma separated list of sensors numbers
       (in hexadecimal e.g. 0x10 or 10 mean 0x10) or sensors ranges
       on which sensors tests are executed.
   hpmtest ipmc[:testseq]
       execute HPM (IPMC) test(s).

       ipmc is the IPMB address (in hexadecimal e.g. 0x82
       or 82 mean 0x82) of the IPMC to test.
   hpmmmctest mmc@ipmc[:testseq]
       execute HPM (MMC) test(s).

       mmc is the IPMB-L address of the MMC to test.
       ipmc is the IPMB address of the Carrier hosting the Module.
   carriertest (ipmc[:testseq][_sensors])+
       execute Carrier IPMC, IPMC and FRU test(s).

       ipmc is the IPMB address (in hexadecimal e.g. 0x82
       or 82 mean 0x82) of the Carrier IPMC to test.
       Instead of ipmc syntax, it is possible to select the Carrier IPMC
       to test with a character string containing 'board'
       followed by a site number (in decimal e.g. board1, board14, etc...).
       sensors is a comma separated list of sensors numbers
       (in hexadecimal e.g. 0x10 or 10 mean 0x10) or sensors ranges
       on which sensors tests are executed.
   mmctest mmc@ipmc[:testseq]
       execute MMC test(s).

       mmc is the IPMB-L address of the MMC to test.
       ipmc is the IPMB address of the Carrier hosting the Module.
       Instead of mmc syntax, it is possible to select the MMC
       to test with a character string containing 'amcsite'
       followed by a site number (in decimal e.g. amcsite3)
       Instead of ipmc syntax, it is possible to select the Carrier hosting
       the Module to test with a character string containing 'board'
       followed by a site number (in decimal e.g. board1, board14, etc...).
       Using this syntax, "amcsite6@board3" will select MMC located
       on AMC Module plugged in AMC site #6 of Carrier Board in slot #3.
   shmctest [testseq]
       execute Shelf Manager test(s).

   shelftest [testseq]
       execute Shelf test(s).

   nettest [testseq]
       execute Network test(s).

   list [mode] [testseq]
       list all available test scripts.
       mode is a test filter among [test, carriertest, mmctest, shmctest, shelftest, nettest].
       If no mode is specified, list all tests according to given options.
       testseq is an optional test list that will act as a filter as well.
       Note that only -i, -I, -c and -C  options are meaningful for this command
       (see below for options).
   OPTIONS:
      -p, --port=PORT             connect to port PORT (Default is 623)
      -a, --authentication=METHOD use authentication METHOD (Default is 0)
                                  (0=None, 1=MD2, 2=MD5, 4=Straight)
      -u, --user=USER             use USER as login (Default is "")
      -w, --passwd=PASSWD         use PASSWD to login (Default is "")
      -b, --autodeact             set this flag to indicate that ShMC
                                  auto deactivates FRU in M5 (Default is not set)
      -v, --verbose               enable verbose mode
      -q, --quiet                 if set, no messages are displayed on stdout during
                                  the test session. However, logs are still available.
      -Q, --almostquiet           like --quiet except that only log directory is displayed on stdout.
                                  Note that if -Q is set, -q has no effect.
      -f, --restorefrus           if set, FRUs initial hotswap state is restored
                                  at the end of the test session.
      -o, --nopresence            Do not check MMC/IPMC/FRU presence before starting the tests.
      -k, --check=CHECK           check commands responses (Hexadecimal number representing 4 bits)
                                  (Bit 0: check PICMG defined commands exact response length)
                                  (Bit 1: check IPMI  defined commands exact response length)
                                  (Bit 2: check PICMG defined commands reserved bits and fields)
                                  (Bit 3: check IPMI  defined commands reserved bits and fields)
                                  (Default is 7: Bit 0,1,2 = 1 and Bit 3 = 0)
      -l, --log=DIR               test log files directory will be created
                                  in subdir DIR (Default is "atca_tester_logs")
                                  of the log files root path - see ATCA_TESTER_LOGS_PATH
                                  environment variable description below.
      -n, --runs=#RUNS            number of test runs to execute (Default is 1)
      -s, --stop=LEVEL            stop on error depending on LEVEL (Default is 0)
                                  (0=don't stop, 1=stop on error, 2=stop on error or warning,
                                   3=stop on error, warning or info)
      -r, --random                shuffle test sequence before each run
      -i, --interactive           if set, select only interactive tests
                                  (Mutually exclusive with -I).
      -I, --nointeractive         if set, select only non interactive tests
                                  (Mutually exclusive with -i).
      -c, --nologcolor            if set, strip colors from log file.
      -C, --nocolor               if set, strip colors from log file and from stdout.
          --version               print version and exit.
      -x, --xmlfile=FILE          use XML FILE for Description test.
      -h, --help                  print this page.
  TIMEOUT OPTION:
 -t, --timeout   Timeout in seconds for the responses to come from the DUT.
  MINISCOPE OPTION:
      -H, --minihost              IP address or Host name of your PC where miniscope is running.
      -P, --miniport    Port of your PC at which miniscope is running.
   ENVIRONMENT VARIABLES:
      ATCA_TESTER_LOGS_PATH
             Log files root path. If not defined, defaults to current working
             directory. Subdir defined by --log option described above will
             be appended to it.