tsmbios icon indicating copy to clipboard operation
tsmbios copied to clipboard

SMBIOS UUID Does not Match WMI UUID - Appears Inaccurate

Open thinlaunch opened this issue 7 years ago • 2 comments

If I issue wmic csproduct get uuid (WMI get SMBIOS UUID) it returns the following string: 81462904-7B5D-E111-ADCD-2C27D725B21D

Delphi uSMBIOS returns: 042946815D7B11E1ADCD2C27D725B21D

The last 16 bytes are always the same but the first 16 and different.

For example: 814629047B5DE111-ADCD2C27D725B21D 042946815D7B11E1-ADCD2C27D725B21D

Can you please assist? Is this a bug?

thinlaunch avatar Jan 27 '18 08:01 thinlaunch

It appears the first (3) fields are encoded in little-endian for SMBIOS Ver >=2.6. Here is the info from the document and a suggested order:

Although RFC4122 recommends network byte order for all fields, the PC industry (including the ACPI, UEFI, and Microsoft specifications) has consistently used little-endian byte encoding for the first three fields: time_low, time_mid, time_hi_and_version. The same encoding, also known as wire format, should also be used for the SMBIOS representation of the UUID. The UUID {00112233-4455-6677-8899-AABBCCDDEEFF} would thus be represented as: 33 22 11 00 55 44 77 66 88 99 AA BB CC DD EE FF. If the value is all FFh, the ID is not currently present in the system, but it can be set. If the value is all 00h, the ID is not present in the system.

The array order would be: first 8 bytes: p[3], p[2], p[1], p[0], p[5], p[4], p[7], p[6], last 8 bytes:p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]

I will work on a patch for the PAS file.

thinlaunch avatar Jan 28 '18 21:01 thinlaunch

I will work on a patch for the PAS file.

Still WIP?

GitStorageOne avatar Oct 02 '19 15:10 GitStorageOne