Intel® Business Client Software Development
Support for Intel® vPro™ software development and technologies associated with Intel vPro platforms.

Not able to boot to redirected ISO file using the program developed using HLAPI 12.0.0.10

Sarfraz__Mohammed
775 Views

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

0 Kudos
2 Replies
Joseph_O_Intel1
Employee
775 Views

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

 

0 Kudos
Sarfraz__Mohammed
775 Views

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

0 Kudos
Reply