How do I determine specific BIOS settings with dmidecode and lshw commands with HP servers?

Solution 1:

You're using the wrong tools.
All you'll need are HP's purpose-built utilities for this.

Look for hpasmcli:

[root@Packed ~]# hpasmcli -s "SHOW HT;SHOW ASR"

Processor hyper-threading is currently enabled.

ASR timeout is 5 minutes.
ASR is currently enabled.

other options

 SHOW ASR
 SHOW BOOT
 SHOW DIMM [ SPD ]
 SHOW F1
 SHOW FANS
 SHOW HT
 SHOW IML
 SHOW IPL
 SHOW NAME
 SHOW PORTMAP
 SHOW POWERMETER
 SHOW POWERSUPPLY
 SHOW PXE
 SHOW SERIAL [ BIOS | EMBEDDED | VIRTUAL ]
 SHOW SERVER
 SHOW TEMP
 SHOW TPM
 SHOW UID
 SHOW WOL

Solution 2:

Regarding setting 1: Check the output of lscpu | grep "Thread(s) per core".

Regarding setting 2: Not sure about this, and got no HP server to test. Maybe this is exposed via IPMI.

Edit 1: Not a solution using dmidecode or lshw, but if you're fine with installing software from HP: They're providing a repository for rpm and deb based distros. For details have a look here.

In short: Add the repository to your sources, via e.g. echo deb http://downloads.linux.hpe.com/SDR/repo/mcp dist/project_ver non-free >> /etc/apt/sources.list.d/hp-mcp.list where dist/project_ver is one of:

dist             trusty, precise, jessie, squeeze, wheezy
project_ver      current, 9.50, 9.40, 9.25, 9.10

After this, run apt-get update and apt-get install hp-health. This will install hpasmcli, which, when called, gives you an interactive prompt. To get the status of asr, run

hpasmcli> show asr