cmd >help
================================================================================
Test Command
================================================================================
zone group for Phy phyzone state | on | off | default |
phyindex [group]
Serial number serial_number [expander_number][enclosure_number](o)
Diagnostic drive LED diag_drive_led
Test Unit Ready sas_test_unit [SasAddress(H)]
standby timer standby_timer [<minutes(D)>]
- no args, display current standby timer value
- minutes as 0(keep), 255(disable), and other value
Enclosure address enclosure_addr [address(H)](opt)
EDFB enable/disable edfb [on | off](opt)
Display coredumps coredump [generate]
- With no arguments check for a valid coredump
and if found print decoded contents
- If 'generate' is specified then generate a
coredump and save it.
NOTE: Any existing coredump will be overwritten.
Display hardware debuginfo [sasphy|edfb|link|connection|config|
register info xmem [<PhyNum(D)>]]
for debug - no arguments: Displays all info
- sasphy displays its register info for phys
- edfb displays its register info for phys
- link displays its register info for phys
- connection displays connection manager registers
- config displays config status registers
- xmem display external memory registers
- <PhyNum> is a valid phy index and filters the
output to display info about that phy. PhyNum
is valid with sasphy, edfb, and link arguments
ISR Profiling Data isrstat [reset]
- no arguments displays profile data
- optional 'reset' argument resets all profile data
NOTE: If Count reaches the max value of 0xFFFFFFFF
the Count will be displayed as -1 and Avg Time
will indicate 'overflow'. If the accumulated
total time reaches the max value of 0xFFFFFFFF
then the Avg Time will indicate 'overflow'
as well.
Issue ATA READ stpiReadLogExt <SasAddrHi(H)> <SasAddrLo(H)> <TimeO>
LOG EXT <ConnectionRate(D)> <LogPageCount(D)>
Command <LogPageAddress(D) <LogPageNumber(D)>
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
NOTE: LogPageAddress and LogPageNumber should be le
than or equal to 255(i.e. 8 bit value)
NOTE: TimeOut is the timeout value for the entire c
and is limited to an unsigned 32-bit value
Issue ATA WRITE stpiw <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(D)>
MULTIPLE EXT <ConnectionRate(D)> <NumSectors(D)>
Command <StartLBA(D)> [<Pattern(H)>]
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
NOTE: StartLBA is limited to an unsigned
32-bit value
NOTE: TimeOut is the timeout value for the entire c
and is limited to an unsigned 32-bit value
Issue ATA READ stpir <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(D)>
MULTIPLE EXT <ConnectionRate(D)> <NumSectors(D)>
Command <StartLBA(D)>
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
NOTE: StartLBA is limited to an unsigned
32-bit value
NOTE: TimeOut is the timeout value for the entire c
and is limited to an unsigned 32-bit value
Execute ATA soft stpisrst <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(D)>
reset protocol <ConnectionRate(D)>
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
NOTE: TimeOut is the timeout value for the entire c
and is limited to an unsigned 32-bit value
Issue ATA Identify stpiident <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(D)>
Device command <ConnectionRate(D)>
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
NOTE: TimeOut is the timeout value for the entire c
and is limited to an unsigned 32-bit value
Show/Set the current date [ set <newdate(*)> |
date and time send [<SasAddrHi(H)> <SasAddrLow(H)>] |
recv [<SasAddrHi(H)> <SasAddrLow(H)>] ]
- no arguments, output local expander date/time
and uptime
- 'set <newdate(*)>' Set local expander date/time
using format for <newdate> of YYYYMMDDHHMMSS
- 'send [sas_addr]' If sas_addr set then set
the remote expander's clock using the local
expander's current clock value. If sas_addr
not specified then set clock for all expanders
in the domain.
- 'recv [sas_addr]' If sas_addr set then fetch
the remote expander's current clock and output
the result. If sas_addr not specified then
get and output the current clock for all
expanders in the domain.
Show flash table info flashtblinfo
Display info for sgpioinfo [led|port [0|1]]
SGPIO device and - no arguments: Displays info of led blink pattern,
LED data. external and internal led group patterns, config
settings for SGPIO, bit order select & SGPIO RX
- led : Displays led blink pattern, external and
internal led group patterns
- port : Displays config settings for SGPIO, bit
order select & SGPIO RX data
- 0: This will display port data for SGPIO 0
- 1: This will display port data for SGPIO 1
- no arguments: This will display port data
for both (i.e. SGPIO 0 and SGPIO 1)
Get SGX device data sgxinfo istwi|sgpio [<index(D)>] [<SGPIOPort(D)>]
Read ADC adcread <ChannelNumber(D)> <ConversionMode(D)>
<Timeout(ms)>
- Valid ChannelNumber values are between 0 and 7
- Valid ConversionMode values are between 0 and 4
Perform phy operation phyop <PhyIndex(D)> <PhyOpCode(D)>
[<MinSpeed(H)> <MaxSpeed(H)>]
- <MinSpeed> and <MaxSpeed> are
valid options on Hard Reset
and Link reset operations
Show buffer size buffsize <BufferID(H)>
Reset the expander reset [watchdog]
Show memory usage memstat [<Handle1(*)> [<Handle2(*)>]...]
statistics [i=<RefreshInterval(ms)>]
- A list of handles can be specified for monitoring
Handles should be input exactly as they appear in
the default memstat command output
Fault the firmware fauLt
with code 0x55AA
Control fan fan set duty|rate|polarity|mult|envppc <Value(D)>
<ID(D)>
Read fan setting fan get duty|rate|polarity|rpm|mult|envppc <ID(D)>
Toggle fan polarity fan toggle polarity <ID(D)>
Enter number in trace trace [<Number(H)>]
SSP target debug ssptdebug
SSP read sspir <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(s)>
<BufferID(H)> <Mode(D)> <ConnectionRate(D)>
<AllocLength(D)>
- Mode values 2 and 3 correspond to Data and
Reserved as defined in the SPC specification.
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
SSP write sspiw <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(s)>
<BufferID(H)> <Mode(D)> <ConnectionRate(D)>
<AllocLength(D)>
- Mode 2 is the only mode currently supported.
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
SMP request function smpireq <SMPFunction(H)> <SasAddrHi(H)>
<SasAddrLo(H)> <ConnectionRate(H)>
<AllocLength(H)> <TimeOut(ms)>
- ConnectionRate values 8, 9, A, and B correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
SSP inquiry sspiinq <SasAddrHi(H)> <SasAddrLo(H)> <TimeOut(s)>
<ConnectionRate(D)> <AllocLength(D)>
- ConnectionRate values 0, 1, 2, and 3 correspond
to Logical Link Rates 1.5G, 3G, 6G, and 12G
respectively.
Display SCE topology scedebug [dev|exp|expdev]
[<SasAddrHi(H)> <SasAddrLo(H)>]
- no args, prints entire topology information
- 'dev' prints a list of all devices in the
topology. Any filter will be ignored.
- 'exp' prints a list of expanders in the topology,
but not their attached devices. A filter can be
specified to show the config of a single expander
- 'expdev' without a filter, is the same as no args
with a filter, prints the specified expanders
config and a list of devices attached to only
that expander
NOTE: a specified expander SAS address filter
must be a valid expander SAS address
ISTWRI WriteRead iicwr <SlaveAddress(H)> <ChannelNumber(D)>
<NumBytesToRead(D)> <WriteData(H) ...>
- ChannelNumber is a valid i2c channel
- NumBytesToRead must be between 1 and 32 bytes
- WriteData is a whitespace delimited list
of 8 bit values
ISTWI Write iicw <SlaveAddress(H)> <ChannelNumber(D)>
<WriteData(H) ...>
- ChannelNumber is a valid i2c channel
- WriteData is a whitespace delimited list
of 8 bit values
ISTWI Read iicr <SlaveAddress(H)> <ChannelNumber(D)>
<NumBytesToRead(D)>
- ChannelNumber is a valid i2c channel
- NumBytesToRead must be between 1 and 32 bytes
Mirror enable mirror enable <SourcePhy(D)> <TxDestPhy(D)>
<RxDestPhy(D)>
Mirror disable mirror disable <SourcePhy(D)>
Mirror status mirror status
Route table read rtr [d|z|dz]
Default display enabled entries with a
nonzero SAS address
d include disabled entries
z include entries with a zero SAS address
dz display all entries
Read zone permissions rperm <SourceZoneGroup(H)>
Control the behavior tracecap [wrap|nowrap|pause|resume|
of trace capture reg [<bcast_type(D)>] | unreg]
- wrap will configure circular trace buffer
- nowrap causes tracing to stop when buffer full
- pause stops tracing
- resume starts tracing again unless buffer full
- reg pauses trace when broadcast received
- unreg removes the registered broadcast types
- Bcast_type values of 3 or 4 allowed. Registers
callback for HALI_BROADCAST_TYPE_RESERVED_3 or
HALI_BROADCAST_TYPE_RESERVED_4. If no bcast_type
is specified then both the 3 and 4 callbacks are
registered.
Set or read the trace tracetimestamp [on|off]
timestamp flag
Set or read the mask tracemask [<Subsystem(*)>] [<Mask(H)>]
for the trace buffer [<Persist(*)>]
- <Subsystem(*)> takes the name of a firmware
subsystem. To get a list of possible subsystems,
run the tracemask command with no arguments
- Replace "Persist" with "y" to retain across
resets
Set or read the trace tracesev [<Level(D)>] [<Persist(*)>]
buffer severity - No argument displays the setting
- Levels are:
0(Debug), 1(Info), 2(Warning), 3(Error)
- Replace "Persist" with "y" to retain across
resets
Clear the trace buffer cleartrace
Show the trace buffer showtrace [head|tail [Number(D)]]
- If head|tail is not specified, prints all entries
- Number is the maximum number of entries to print
from the specified end of the trace buffer
(defaults to 50 if head|tail is specified)
Show the current logs showlogs [hex|detail|default]
Clear the logs clearlogs
Log a string log <String(*)>
- <String(*)> is any set of ASCII characters
surrounded by quotation marks.
Memory download mdl <MemoryAddress(H)>
Memory upload mul <MemoryAddress(H)> <Size(D)>
File download fdl <BufferID(H)> <Offset(H)> <Erase(*)>
- Erase is replaced with "Y" or "N"
File upload ful <BufferID(H)> <Offset(H)> [<Size(D)>]
Show wide port power wppminfo
management info
Display EDFB info edfbinfo
Issue a Spico Interrupt serdesint <phy(D)> <intnum(H)> <intarg(H)>
- <phy> Phy Number
- <intnum> Spico Interrupt Number
- <intarg> Spico Interrupt Argument
Display SerDes info serdesinfo [tx|rx|help]
- no arguments displays default output
- 'tx' subcommand displays Tx Parameters
- 'rx' subcommand displays Rx Parameters
- 'help' subcommand displays command syntax
Display info for phyinfo [help|edfb|power]
[up|<PhyNum(D)>]
all phys - no arguments displays default output
- 'help' displays detailed help information
- 'edfb' subcommand displays EDFB info
- 'power' subcommand displays power mgmt info
- 'up' filters to display connected phys only
- <PhyNum> is a valid phy index and filters the
output to display info about that phy
Display or reset all counters [config|event|reset]
phy counters - no arguments displays phy error counters and
generic broadcast counters
- 'config' subcommand displays phy event
configuration
- 'event' subcommand displays phy event
counters
- 'reset' subcommand resets all phy counters
Display expander sasaddr
SAS address
Flash region erase regerase <RegionNumber(D)>
Read processor register rreg
Show POST info showpost
Show manufacturing rev showmfg
Show firmware rev rev
Read config pages rdcfg <PageId(H)> <RegionType(H)>
Show thread info thread
Memory write word mw32 <Address(H)> <WriteData(H)>
Memory write half word mw16 <Address(H)> <WriteData(H)>
Memory write byte mw8 <Address(H)> <WriteData(H)>
Memory read word mr32 <Address(H)> [<NumberToRead(D)>]
Memory read half word mr16 <Address(H)> [<NumberToRead(D)>]
Memory read byte mr8 <Address(H)> [<NumberToRead(D)>]
CLI Help help [Command]
- X means a mandatory argument described as x
- [X] means an optional argument
- <X> means replace argument with value
- X(D) means a decimal value
- X(H) means a hexadecimal value
- X(*) means special formatting is specified
- X(s) means a decimal value in seconds
- X(ms) means a decimal value in milliseconds
- opt1|opt2|opt3 means literally specify
"opt1","opt2", or "opt3"
- X1 X2 ... means a variable number
of arguments
===================================