Added SMBIOS field 131 as AMT verification fallback if 130 is undefined

Bryan Roe committed Sep 15, 2022 at 01:21 UTC 5ba4636b9eaf3af8e23672cb861ccc7015a796b0
2 files changed +28 -6
agents/modules_meshcmd/smbios.js
+14 -3
@@ -269,15 +269,18 @@ function SMBiosTables()
269 this.amtInfo = function amtInfo(data) {
270 if (!data) { throw ('no data'); }
271 var retVal = { AMT: false };
272 - if (data[130] && data[130].peek().slice(0, 4).toString() == '$AMT') {
272 + if (data[130] && data[130].peek().slice(0, 4).toString() == '$AMT')
273 + {
274 var amt = data[130].peek();
275 retVal.AMT = amt[4] ? true : false;
275 - if (retVal.AMT) {
276 + if (retVal.AMT)
277 + {
278 retVal.enabled = amt[5] ? true : false;
279 retVal.storageRedirection = amt[6] ? true : false;
280 retVal.serialOverLan = amt[7] ? true : false;
281 retVal.kvm = amt[14] ? true : false;
280 - if (data[131].peek() && data[131].peek().slice(52, 56).toString() == 'vPro') {
282 + if (data[131].peek() && data[131].peek().slice(52, 56).toString() == 'vPro')
283 + {
284 var settings = data[131].peek();
285 if (settings[0] & 0x04) { retVal.TXT = (settings[0] & 0x08) ? true : false; }
286 if (settings[0] & 0x10) { retVal.VMX = (settings[0] & 0x20) ? true : false; }
@@ -295,6 +298,14 @@ function SMBiosTables()
298 }
299 }
300 }
301 + if (!retVal.AMT)
302 + {
303 + if (data[131].peek() && data[131].peek().slice(52, 56).toString() == 'vPro')
304 + {
305 + var settings = data[131].peek();
306 + if ((settings[20] & 0x08) == 0x08) { retVal.AMT = true; }
307 + }
308 + }
309 return (retVal);
310 };
311 this.smTableTypes = {
agents/modules_meshcore/smbios.js
+14 -3
@@ -269,15 +269,18 @@ function SMBiosTables()
269 this.amtInfo = function amtInfo(data) {
270 if (!data) { throw ('no data'); }
271 var retVal = { AMT: false };
272 - if (data[130] && data[130].peek().slice(0, 4).toString() == '$AMT') {
272 + if (data[130] && data[130].peek().slice(0, 4).toString() == '$AMT')
273 + {
274 var amt = data[130].peek();
275 retVal.AMT = amt[4] ? true : false;
275 - if (retVal.AMT) {
276 + if (retVal.AMT)
277 + {
278 retVal.enabled = amt[5] ? true : false;
279 retVal.storageRedirection = amt[6] ? true : false;
280 retVal.serialOverLan = amt[7] ? true : false;
281 retVal.kvm = amt[14] ? true : false;
280 - if (data[131].peek() && data[131].peek().slice(52, 56).toString() == 'vPro') {
282 + if (data[131].peek() && data[131].peek().slice(52, 56).toString() == 'vPro')
283 + {
284 var settings = data[131].peek();
285 if (settings[0] & 0x04) { retVal.TXT = (settings[0] & 0x08) ? true : false; }
286 if (settings[0] & 0x10) { retVal.VMX = (settings[0] & 0x20) ? true : false; }
@@ -295,6 +298,14 @@ function SMBiosTables()
298 }
299 }
300 }
301 + if (!retVal.AMT)
302 + {
303 + if (data[131].peek() && data[131].peek().slice(52, 56).toString() == 'vPro')
304 + {
305 + var settings = data[131].peek();
306 + if ((settings[20] & 0x08) == 0x08) { retVal.AMT = true; }
307 + }
308 + }
309 return (retVal);
310 };
311 this.smTableTypes = {