- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have written a C# program to redirect the bootable ISO file to the Intel AMT supported client and boot the client from the redirected bootable ISO file.It is not working as expected and I am seeing message "Can't find Boot Device by Boot Option!!" in the client after the system reset operation in the code. Below is the code I have used. Looking for help to resolve this issue.
using System;
using Intel.Manageability;
using Intel.Manageability.Exceptions;
using Intel.Manageability.BootControl;
using Intel.Manageability.Redirection;
using System.Threading;
namespace IntelAMTApp4
{
class Program
{
static void Main(string[] args)
{
try
{
ConnectionInfoEX connection =
new ConnectionInfoEX(args[0], args[1], args[2], false,
string.Empty, ConnectionInfoEX.AuthMethod.Digest,
null, null, null);
IAMTInstance amt = AMTInstanceFactory.CreateEX(connection);
amt.RedirectionIDER.SetInterfaceState(true);
amt.RedirectionIDER.StartIDERCD("C:\\Temp\\boot.iso");
IDERState w = amt.RedirectionIDER.CurrentSessionState;
Console.WriteLine("Current Set IDER State is: " + w);
IDERStatistics statistics = amt.RedirectionIDER.GetStatistics();
Console.WriteLine("PacketsReceived: " + statistics.PacketsReceived);
BootSource bootSource;
FirmwareVerbosityEnum FWVerbosity;
BootOptionsFlags bootOptionFlags;
amt.BootControl.GetCurrentSettings(out bootSource, out bootOptionFlags, out FWVerbosity);
Console.WriteLine("Current boot Options: " + bootOptionFlags.ToString());
Console.Write("Current boot Source: " + bootSource.Source.ToString());
Console.WriteLine(". index: " + bootSource.Index.ToString());
Console.WriteLine("Current Firmware Verbosity: " + FWVerbosity.ToString());
BootCapabilities bootCapabilities = amt.BootControl.BootCapabilities;
if (bootCapabilities.IDER)
{
Console.WriteLine("Boot capability is " + bootCapabilities.IDER);
bootSource = new BootSource(BootSourceEnum.IDERCD);
}
Thread.Sleep(5000);
bootOptionFlags = BootOptionsFlags.NONE;
if (bootCapabilities.IDER)
bootOptionFlags |= BootOptionsFlags.UseSOL;
FirmwareVerbosityEnum FWverbosity = FirmwareVerbosityEnum.NONE;
if (bootCapabilities.FirmwareVerbosityVerbose)
FWverbosity = FirmwareVerbosityEnum.Verbose;
amt.BootControl.SetNextBoot(bootSource, bootOptionFlags, FWverbosity);
amt.BootControl.GetCurrentSettings(out bootSource, out bootOptionFlags, out FWVerbosity);
Console.WriteLine("Current Set boot Options: " + bootOptionFlags.ToString());
Console.Write("Current Set boot Source: " + bootSource.Source.ToString());
Console.WriteLine(". Set index: " + bootSource.Index.ToString());
Console.WriteLine("Current Set Firmware Verbosity: " + FWVerbosity.ToString());
Console.WriteLine("Current Set IDER State is: " + w);
Thread.Sleep(5000);
amt.Power.Reset();
}
catch (ManageabilityException ex)
{
Console.WriteLine("\n" + ex.Message);
return;
}
finally
{
Console.WriteLine("This is final block");
}
}
}
}
Regards,
Sarfraz
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey Sarfraz
Can you provide a system discovery xml so I can review details of the system.
To do this you get ACUConfig from the SCS download, then from the commandline enter "acuconfig.exe systemdiscovery", this will create a file, please send that file via PM to me.
Joe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank you for your help. I am able to get it work after removing the following lines from the above mentioned code
if (bootCapabilities.IDER) bootOptionFlags |= BootOptionsFlags.UseSOL;
Regards,
Sarfraz
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page