summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xamttool27
-rw-r--r--amttool.man30
2 files changed, 47 insertions, 10 deletions
diff --git a/amttool b/amttool
index b47d3fe..0c8c3fb 100755
--- a/amttool
+++ b/amttool
@@ -28,6 +28,18 @@ my %rcc = (
"powercycle" => "19",
);
+my %rccs = (
+ "nop" => "0",
+ "pxe" => "1",
+ "hd" => "2",
+ "hdsafe" => "3",
+ "diag" => "4",
+ "cd" => "5",
+);
+my %rccs_oem = (
+ "bios" => 0xc1,
+);
+
# incomplete list
my %pt_status = (
0x0 => "success",
@@ -267,8 +279,9 @@ sub print_network_info() {
}
}
-sub remote_control($) {
+sub remote_control($$) {
my $command = shift;
+ my $special = shift;
my @args;
my $hostname = $nas->GetHostName()->paramsout;
@@ -279,10 +292,14 @@ sub remote_control($) {
printf "execute: %s\n", $command;
push (@args, SOAP::Data->name('Command' => $rcc{$command}));
push (@args, SOAP::Data->name('IanaOemNumber' => 343));
- if (defined($amt_arg) && $amt_arg eq 'bios') {
+ if (defined($special) && defined($rccs{$special})) {
+ push (@args, SOAP::Data->name('SpecialCommand'
+ => $rccs{$special} ));
+ }
+ if (defined($special) && defined($rccs_oem{$special})) {
push (@args, SOAP::Data->name('OEMparameters' => 1 ));
- push (@args, SOAP::Data->name('SpecialCommand' => 0xC1 ));
- push (@args, SOAP::Data->name('SpecialCommandParameter' => 0));
+ push (@args, SOAP::Data->name('SpecialCommand'
+ => $rccs_oem{$special} ));
}
do_soap($rcs, "RemoteControl", @args);
} else {
@@ -374,7 +391,7 @@ if ($amt_command eq "info") {
check_amt_version(2,5);
configure_network(@ARGV);
} elsif ($amt_command =~ m/^(reset|powerup|powerdown|powercycle)$/) {
- remote_control($amt_command);
+ remote_control($amt_command, $amt_arg);
} else {
print "unknown command: $amt_command\n";
}
diff --git a/amttool.man b/amttool.man
index 5521e10..1e6aa20 100644
--- a/amttool.man
+++ b/amttool.man
@@ -24,17 +24,16 @@ For more inforamtions on Intel AMT check amt-howto(7).
.B info
gather information (default).
.TP
-.B reset [ bios ]
-reset machine. Optional bios argument asks for the BIOS boot
-messages being redirected to serial-over-lan.
+.B reset [ special ]
+reset machine, with optional special command (see section below).
.TP
-.B powerup [ bios ]
+.B powerup [ special ]
turn on machine.
.TP
.B powerdown
turn off machine.
.TP
-.B powercycle [ bios ]
+.B powercycle [ special ]
powercycle machine.
.TP
.B netinfo
@@ -60,6 +59,27 @@ are the DNS Servers. If no IP configuration is specified the tool
tries to configure the machine in shared mac address mode with dhcp,
otherwise in separate mac address mode with static IP address.
Default for dns1 is the gateway address, for dns2 it is 0.0.0.0.
+.SH SPECIAL COMMANDS
+Special commands can optionally be specified for reset, powerup and
+powercycle. They change the default boot behavior of the machine.
+.TP
+.B bios
+Asks for the BIOS boot messages being redirected to serial-over-lan.
+.TP
+.B pxe
+Network boot via PXE.
+.TP
+.B hd
+Boot from local disk.
+.TP
+.B hdsafe
+Fixme.
+.TP
+.B diag
+Fixme.
+.TP
+.B cd
+Boot from CD/DVD.
.SH ENVIRONMENT
.TP
.B AMT_PASSWORD