lsvpd 
Common Acronyms List:


  '*': Must be provided

Still need to figure out what the following are and how to collect them
	CT:
	EC:
	HE:
	HW:
	MI:
	PI:
	RT:
	SU:
	

/* -------------------------------------------------------------------------
* FRU (Hardware device) LSVPD:
* ---------------------------------------------------------------------------*/
* EC: Engineering change level of the board (technical features, revision level,
	vintage level).  Must be provided if the part number
	is not changed with every modification

* FN: FRU (Board, card, or assembly Field Replaceable Unit) number. This is 
	a generalisation of a model number, representing a family of models that 
	are interchangeable. Fixed length with a 7 char FRU number with leading blank.
	For example, an old model 
	may no longer be available, but there may be a newer model with the same FRU number that can be used as a replacement.  
     


FRU: Field Replacable Unit.  This correlates well to physical hardware devices 
	(or virtual ones), and if a device is a FRU, the device-tree must contain 
	lsvpd fields: FN, PN, SN, EC, RM, RL.

* PN: Part Number of assembly. Knowing the history of a part may help to explain certain
     types of faults.  Must be provided if it is different from the FRU number (FN)

RM/RL: One or both must be present for any firmware specific VPD
RM: ??

RL Note:  //Logical Name and FRU
		// For RL: Special rule applies.  if devBus == "disk", is must be stored
		// as Hex. See device_scsi_append_field() in lsvpd-0.16
RL: Firmware level. Problems may relate to faulty firmware, so a firmware
     upgrade may be the most useful fix. In this particular case, it has been
     hex-encoded, so is S5BS.  
     
* SN: Serial Number. It is useful to confirm the serial number of a component
     before removing it, when possible.  SN must be unique for each part of 
     the same FN.  8 chars old format, 12 chars IBM Serial Number Format
     	"Yxxhhyjjjsss"
     	Y: From ASPECTY='Y'
     	xx: The requesting location from ASPECT
     	hh: Header position 1: indicates the EC level startign with zero (0) and indexing through Z
     		Header position 2: indicates the supplier ID number starting with zero (0) -> Z
     	y: Low order digit of the year
     	jjjj: Julian date code of the date of manufacture
     	sss: three alpha-num chars representing the sequence number
     
  
/* -------------------------------------------------------------------------
* Common LSVPD:
* ---------------------------------------------------------------------------*/     
    

AX: mAIXName - Logical name (or AIX name). This allows system diagnostics (for example,
     kernel log messages) to be associated with physical components. In this
     particular case, the VPD is generated on Linux, so the device-name is for
     the first (logical) SCSI disk.
B3, B4, B7:?? (
	Backplane - see below
	)
B9: ?? (
	*DS 2-WAY PROC CUOD
	*RT VINI
	*FG XXPF
	*YL U787B.001.DNW1433-P1-C9
	*CC 523D
	*SN YL12HA4CP07Z
	*FN 80P6315
	*PN 80P6315
	*HE 0001
	*CT 40120002
	*HW 0001
	*B3 000000000001
	*B4 00
	*B7 000000000000000000000000
	*PR 3100240080060000
	*B9 43534358084225393E315350A8E6603666A062C84D31DEDD151B6296E6164D32C3F0A1916AA411BF4D33CD27A5966AD9F4114D34BC9588E3AF5A13B0
	*VK ipzSeries
	*FC ????????		
	)
BR: Brand keyword value "xy"
	x = type of machine:
		D - IBM SSD
		I - IBM iSeries
		N - OEM iSeries only
		O - IBM OEM pSeries
		P - IBM pSeries
		X - IBM xSeries
	y = Specific info
		O - No info
	(ex 
	*DS CEC
	*RT VCEN
	*FG XXEV
	*BR P0
	)
	
CD: Combination of the PCI vendor and device ids, byte swapped and put in parenthesis
	at the end of the DS field.
	 (ex:
	*DS IBM 10/100/1000 Base-TX PCI-X Adapter (14106902)
	*AX eth0
	*MF Intel Corporation
	*TM 82545GM Gigabit Ethernet Controller
	*CD 10140269
	*NA 001125bf950b
	*YL U787B.001.DNW1433-P1-C1-T1
	)	
	
CC: Customer Card Identification Number
	(ex:
	*DS SYSTEM BACKPLANE
	*RT VINI
	*FG XXBP
	*YL U787B.001.DNW1433-P1
	*CC 28EC
	*SN YL11HA4A106E
	*FN 80P5530
	*PN 80P5530
	*HE 0001
	*CT 40F10004
	*HW 0001
	*B3 000000000001
	*B4 00
	*B7 000000000000000000000000
	*PR 2400010000000000
	*VK ipzSeries
	*FC ????????
	)

CE: CCIN Extender

CI: CEC ID - of the CEC, that is the logical controller of an MTMS 
	(Machine0type-model-serial #) like a drawer.
		Format:
		"TTTT-MMM SSSSSSS"
		TTTT-MMM: 8 byte field.  The high-order bytes are the system type, 
			followed by a dash, followed by the low order bytes which is the model
		space
		SSSSSSS - 7 byte serial number.  High order 2 bytes are the plant of manufacture,
			low order 5 bytes are the sequence number
	(ex:
	*DS CEC
	*RT VCEN
	*FG XXEV
	*BR P0
	*YL U787B.001.DNW1433
	*SE DNW1433
	*TM 787B-001
	*CI 9124-720 100506A
	*RK 0000000000000000
	*FC ????????
	*VK ipzSeries
	*FC ????????
	)

CL: Code Level, LID keyword
	Format:
	fix pack MIF name, "space", Load ID (8 chars), timestamp (12 chars)
	fix pack must be the same as teh name used in the MI keyword.  LID level 
	reported is the current active level.  Timestamp is
		hours(2), min (2), year(4), month(2). day(2). 
 (ex:
	*DS System Firmware 
	*CL Phyp_1 12452006011080A00701
	*CL PFW 13552006011081CF0681
	*CL FSP_Ker 16572006020481E00100
	*CL FSP_Fil 16572006020481E00101
	*CL FipS_BU 16572006020481E00200
	*CL SMA 11392005070781E00500
	*CL SPCN3 154720050802A0E00A11
	)

CN: Customer Number
CV: Country Number

CT: ?? (
	*DS SYSTEM BACKPLANE
	*RT VINI
	*FG XXBP
	*YL U787B.001.DNW1433-P1
	*CC 28EC
	*SN YL11HA4A106E
	*FN 80P5530
	*PN 80P5530
	*HE 0001
	*CT 40F10004
	*HW 0001
	*B3 000000000001
	*B4 00
	*B7 000000000000000000000000
	*PR 2400010000000000
	*VK ipzSeries
	*FC 
	)

DD: Device Driver Level
DG: Diagnostic Level

DS: Description. Usually displayed as the first item.


FC: Seperator/leader field
FG: FlaG Field: The first two bytes contain a VPD flag in the form of VS. 
	V=V: indicates there is VPD.  
	V=N: indicates no VPD. 
	S=S: indicates a slot map.  
	S=P: there is a port map.  
	S=N: no slot map or port map.  
	S=B: Both a slot map 
	and a port map. 
	(ex: 
	*DS CEC
	*RT VCEN
	FG XXEV
	)

FU: Function Number         
	
HE: ?? (
	*DS SYSTEM BACKPLANE
	*RT VINI
	*FG XXBP
	*YL U787B.001.DNW1433-P1
	*CC 28EC
	*SN YL11HA4A106E
	*FN 80P5530
	*PN 80P5530
	*HE 0001
	*CT 40F10004
	*HW 0001
	*B3 000000000001
	*B4 00
	*B7 000000000000000000000000
	*PR 2400010000000000
	*VK ipzSeries
	*FC ????????
	)
	
HW: ?? (
	*DS SYSTEM BACKPLANE
	*RT VINI
	*FG XXBP
	*YL U787B.001.DNW1433-P1
	*CC 28EC
	*SN YL11HA4A106E
	*FN 80P5530
	*PN 80P5530
	*HE 0001
	*CT 40F10004
	*HW 0001
	*B3 000000000001
	*B4 00
	*B7 000000000000000000000000
	*PR 2400010000000000
	*VK ipzSeries
	*FC 
	)

LI: Load ID
LL: Loadable Microcode Level


MF: Manufacturer.

MI: Microcode Image
	Format:
		"NNSSS_FFF"
	(
	*DS System Firmware
	*CL Phyp_1 12452006011080A00701
	*CL PFW 13552006011081CF0681
	*CL FSP_Ker 16572006020481E00100
	*CL FSP_Fil 16572006020481E00101
	*CL FipS_BU 16572006020481E00200
	*CL SMA 11392005070781E00500
	*CL SPCN3 154720050802A0E00A11
	*CL SPCN1 091620040823A0E00D00
	*CL SPCN2 084720040818A0E00D20
	*MI SF240_202 SF240_202 SF240_202
	*YL U9124.720.100506A-Y1
	)

MF: Manufacturer.

MN: Manufacturer ID (source of device, name and location)

MP: Module Plug Count        

NA: Network Address (ASCII coded hexadecimal representation of the binary value)
 (ex:
	*DS IBM 10/100/1000 Base-TX PCI-X Adapter (14106902)
	*AX eth0
	*MF Intel Corporation
	*TM 82545GM Gigabit Ethernet Controller
	*CD 10140269
	*NA 001125bf950b
	*YL U787B.001.DNW1433-P1-C1-T1
	)
NN: Node Name
OS: Operating System
PA: Op Panel Installed
PI: Processor ID or unique ID, used for licensing control

PL: AIX location code

PN: Part Number
PR: Power

RD: Rack ID
RL: ROS Level and ID
        
RK: (ex: 
	*DS CEC
        *RT VCEN
        *FG XXEV
        *BR P0
        *YL U787B.001.DNW1433
        *SE DNW1433
        *TM 787B-001
        *CI 9124-720 100506A
        *RK 0000000000000000
        *FC ????????
        *VK ipzSeries
        *FC ????????
	)	

RM: Alterable ROM Level        
   
RT: ?? (ex: 
	*DS SYSTEM BACKPLANE
	*RT VINI
	*FG XXBP
	*YL U787B.001.DNW1433-P1
	*CC 28EC
	*SN YL11HA4A106E
	*FN 80P5530
	*PN 80P5530
	*HE 0001
	*CT 40F10004
	*HW 0001
	*B3 000000000001
	*B4 00
	*B7 000000000000000000000000
	*PR 2400010000000000
	*VK ipzSeries
	*FC ????????
	)
	
SE: Plant of manufacture = (First 2 chars of SE, alpha-num) (ex: 100506A)
SE: Sequence number = Last 5 chars of SE keyword.  Each system enclosure (drawer)
	must have VPD SE and TM keywords.  According to Martin, lsvpd may use this
	as the system serial number, as opposed to the FRU serial number

SI: Subsystem Vendor/Device ID
SN: Serial Number

SU: ?? (ex 
	*DS System VPD
	*RT VSYS
	*FG XXSV
	*BR P0
	*YL U9124.720.100506A
	*SE 100506A
	*TM 9124-720
	*SU 0004AC08E7EF
	)`

SZ: Size: In KB? (
	*DS Memory DIMM
	*RT VINI
	*FG XXMS
	*YL U787B.001.DNW1433-P1-C8-C1
	*CC 30FB
	*SN YH10MS4BF054
	*PN 12R6971
	*FN 12R6971
	*SZ 512
	*VK RS6K
	*FC ????????		
	)
	
TM: Machine Type/model. = (First 4 characters of the TM VPD keyword)
TM: Model number = (Last 3 characters fo teh TM VPD keyword)

VI: Vendor ID/Device ID

VK: Version? && If value = "ipzSeries", this specifies that additional labels (keywords), 
	beyond those described in PAPR,	but not in PCI Local Bus Spec,
	and for which the underlying VPD is defined by the Common FRU VPD i/p/z
	Series Architecture, can be included. 
	(ex:
	*DS System VPD
	*RT VSYS
	*FG XXSV
	*BR P0
	*YL U9124.720.100506A
	*SE 100506A
	*TM 9124-720
	*SU 0004AC08E7EF
	*VK ipzSeries
	)

YL: Physical Location. All fields beginning with 'Y' are system specific fields
     and, in this case, this field is particular to IBM pSeries systems. This
     example can be read (from right-to-left) as extender 1, on planar (or back-
     plane) 1, in drawer 4, in rack 0.  Present for all hardware entities
     in the device-tree. Cache nodes are an exception, having an FRU but no loc-code.  
     Globally unique and persistent.	
     Format: 
     	4 Chars: Machine Type 
     	.
     	3 Chars: Model number
     	.
     	7 Chars: Serial Number
     
Z0 and Z7 Note:  These must be stored as HEX
Z0: All fields starting with 'Z' are device specific. In this case, Z0 is first 8 bytes
     of the standard SCSI Inquiry result, hex-encoded. This provides lots of
     useful information about the device, like the type of SCSI device (disk,
     CD-ROM, tape, enclosure, . . . ), number of address and data bits, . . .
Z7: Worldwide ID (WWID) of the disk. AIX lsvpd doesn't show this informa-
     tion, but it is useful for persistent device naming, so has been included in
     the Linux version.


 

/* -------------------------------------------------------------------------
* Enclosure LSVPD:
* ---------------------------------------------------------------------------*/     

	
YK: Unique identifier, required if a master enclosure has the same SE and TM values as 
	another enclosure.  Each YK for secondary enclosures must be the same as their 
	master enclosure.



        
/* -------------------------------------------------------------------------
* PCI 2.1 VPD Labels:
* ---------------------------------------------------------------------------*/
PN:	
FN:
EC:
MN:
SN:
LI:
RL:
RM:
NA:
DD:
DG:
LL:
VI:
FU:
SI:
ZO - ZZ


/* -------------------------------------------------------------------------
* Reserved for Product Specific Use:
* ---------------------------------------------------------------------------*/     	
UO-UZ: User specific
NO-NF: Reserved for use by the MRPD software
VO-VF: Reserved for use by the MRPD software
YO-YZ: System Information Specific
ZO-ZZ: Product Specific

Some pre-defined space holders:
N5 aaa...aaa [56]: Processor CoD Capacity Card Info
N6 aaa...aaa [56]: Memory CoD Capacity Card Info
U? aaa...aaa [128]: User data
YO aaa...aaa [64]: Board repair actions (many sub-fields)
Y1 aaa...aaa [24]: Error Descriptor
Y2 aaa...aaa [24]: Only in system VPD EEPROM
YK:a...a [4]: Ties together multiple enclosures that share the same combined SE and TM.
YL [255]: Hardware location code
Z?  aaa...aaa [255]: Product specific information: may be keyword oriented and , delimited

/* -------------------------------------------------------------------------
* Optional Fields:
* ---------------------------------------------------------------------------*/     	
A1 aaa...aaa: Storage facility image MTMS - Logical ID
AC aaa...aaa: Account Name
AD aaa...aaa: Addressing Field
AP aaa...aaa: Asset protection key password
AS aaa...aaa: Indicates the start of an AS/400 unique 128 byte data area
AT: Reserved - used for MicroChannel Architecture VPD
AX aaa...aaa: AIX Name
BC aaa...aaa: Bar Code
BH aa: BatcH code - used for vintage if no serial number
..... 
...
... Many more - to be included if needed
..
.



/* -------------------------------------------------------------------------
* Notes:
* ---------------------------------------------------------------------------*/     	
	
Planar Location Codes: Formed by appending the label Pn to the location code of the unit
	that contains the planar.  
	
Card Connector location codes: Formed by appending Cn to loc code where docked

Daughter Card Connector location codes: Formed by appending the card location label,
	Cn, of the daughter card to the location o the patent card to which it is attached.
	
Virtual Card Connector location codes: Formed as though tthey were a virtual planar with 
	card slots. 
	
Port location codes: Formed by appending the port location lable Tn, to the loc code of the 
	resource on which the port connector is mounted.
	
	
	
