From 92dac1df8b45b7d9ed079abd104163eabf1542ea Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Tue, 24 May 2022 14:37:48 -0700 Subject: [PATCH] Added AMT on, off, reset power commands to meshctrl.js, #4038 --- amtmanager.js | 1 + meshctrl.js | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/amtmanager.js b/amtmanager.js index eb6e56ad..34d95781 100644 --- a/amtmanager.js +++ b/amtmanager.js @@ -955,6 +955,7 @@ module.exports.CreateAmtManager = function (parent) { // If not LMS, has a AMT stack present and is in connected state, perform power operation. if ((dev.connType != 2) && (dev.state == 1) && (dev.amtstack != null)) { // Action: 2 = Power on, 8 = Power down, 10 = reset + parent.debug('amt', dev.name, "performPowerAction", action); dev.powerAction = action; try { dev.amtstack.RequestPowerStateChange(action, performPowerActionResponse); } catch (ex) { } } diff --git a/meshctrl.js b/meshctrl.js index cbc900fd..5f068888 100644 --- a/meshctrl.js +++ b/meshctrl.js @@ -839,6 +839,9 @@ if (args['_'].length == 0) { console.log(" --reset - Attempt to remote the remote device."); console.log(" --sleep - Attempt to place the remote device in low power mode."); console.log(" --off - Attempt to power off the remote device."); + console.log(" --amtoff - Attempt to power off the remote device using Intel AMT."); + console.log(" --amton - Attempt to power on the remote device using Intel AMT."); + console.log(" --amtreset - Attempt to reset the remote device using Intel AMT."); break; } case 'devicesharing': { @@ -1520,6 +1523,15 @@ function serverConnect() { } else if (args.sleep) { // Sleep operation ws.send(JSON.stringify({ action: 'poweraction', nodeids: nodes, actiontype: 4, responseid: 'meshctrl' })); + } else if (args.amton) { + // Intel AMT Power on operation + ws.send(JSON.stringify({ action: 'poweraction', nodeids: nodes, actiontype: 302, responseid: 'meshctrl' })); + } else if (args.amtoff) { + // Intel AMT Power off operation + ws.send(JSON.stringify({ action: 'poweraction', nodeids: nodes, actiontype: 308, responseid: 'meshctrl' })); + } else if (args.amtreset) { + // Intel AMT Power reset operation + ws.send(JSON.stringify({ action: 'poweraction', nodeids: nodes, actiontype: 310, responseid: 'meshctrl' })); } else { console.log('No power operation specified.'); process.exit(1);