What are these diagnostic tools?
It is a hardware inventory database program designed to re-implement AIX’s (IBM version of UNIX) related commands.
lsvpd lists all the VPD associated with the FRUlscfg list the hardware configurationlsmcode list the microcode and firmware levelslsvio lists virtual I/O adapters and deviceswhile vpdupdate updates the database of VPD
So what is VPD?
Vital Product Data contains information about your hardware or software. They include the configuration such as serial numbers, manufacturers, part numbers, etc.
What is FRU?
Field Replaceable Unit refers to those components of the Circuit board in which any faulty part can be replaced by a technician or non-technician lacking deep knowledge about the hardware.
Installing Linux diagnostic tools
As of now, the tool is not available in the official Ubuntu repository but hey good news! The authors made a *.deb package version for you so you don’t have the headache of compiling it yourself. Head over here and download the package. Then fire up your terminal and cd to the required directory and key in this command –
sudo dpkg -i lsvpd_1.3.3-1_i386.deb
Running the tool
Now let’s run one of the tools: lsvpd; which is a viable one for now. But before that you have to know all the above-mentioned tools require root privileges, then again you have to update the VPD at least once. Alright then –
sudo vpdupdate sudo lsvpd
We have the following field: The one highlighted green stands alone from other fields and the blue arrowed below shows similar output associated with various hardware. Well, that alone is not understandable and the documentation is read as “machine-readable” so here are some of the few terms –
TM stand for Model of the hardwareSE is the serialMF is the manufacturer of the hardware
Passing arguments
If you want more output then you have to pass the “debug” argument to lsvpd this way –
sudo lsvpd -D
If you want output that distinguishes a global VPD (********) and partition private (========) then – sudo lsvpd -m You could also pass hardware serial and type model explicitly to get info about it using -s and -t respectively. However, that is not recommended. And for the nerdy users, you can point your VPD database file to a different directory by passing – path=Database_directory argument.
Running the other ls… tools
Here is a sample running lscfg tool –
sudo lscfg
And a sample screenshot running lsmcode with debugging enabled.
sudo lsmcode -D
Trade-off
Installing and living with the Linux Diagnostic Tools is not pretty though because:
vpdupdate will run at startup. So get ready to delay your boot-up time by 4-6 seconds.you might encounter this error dialog at every boot-up.
And later you’ll have to find a way out of this error while updating VPD using vpdupdate tool. The solution I found out was to archive the VPD database in this way. sudo vpdupdate -a Otherwise, you could also delete all the contents of /var/lib/lsvpd/ and that helps too. Don’t forget to rerun vpdupdate tool again.
Conclusion
This is pretty much about it. In case you wish to learn more about a tool, it’s best you refer to it using man. Otherwise here are the two websites I recommend you to read: lsvpd and lscfg.