Storage Informer
Storage Informer

Getting Started

by on Jun.15, 2009, under Storage

Working with Intel AMT: Getting Started

In last week&aposs post, I talked about the Overview training, which covers the basic concepts of Intel AMT. Before you jump into the second web-based training, it&aposs important that you understand these concepts. Here&aposs my explanation:

  • Think of CIM objects as containers.
  • Inside of each container is information about the system.
  • Each container is labeled based on the information it contains.
    • A container labeled "Processor" has information about the processor (speed, manufacturer, etc).
  • WS-Management allows you to work with these containers.
  • The WS-Management Get function returns a specific container.
  • To get information about the system&aposs processor, you would use Get(typeof(CIM_ProcessorType)).
  • This will return the container labeled "Processor."
  • The WS-Management Enumerate function returns a list of all containers matching certain criteria (known as selectors).
    • Since the system may have more than one memory module, you would use Enumerate(typeof(CIM_PhysicalMemoryType)) to get information about the system&aposs physical memory.
    • This will return all containers labeled "PhysicalMemory."
  • With an understanding of these basic concepts, you should be ready to start the second web-based training, How to Develop Applications for Intel AMT. The training walks you through developing a simple AMT application in C# and C++ (I use C#).

    In the training application code, you&aposll notice that the GetEndpointReference function is used before the Get function. Alternatively, you can use the Enumerate function, going through each CIM_SoftwareIdentityType instance until you find one whose InstanceID is "AMT FW Core Version." The GetEndpointReference function does this for you, using selectors to return the location of the "container." The Get function then returns the actual CIM object. Both methods will work. The code below shows how to get the AMT Version using the Enumerate function as described above.

    WSManClient client = new WSManClient("ip", "username", "password", false);
    ArrayList enum_softwareIdentity = client.Enumerate(typeof(CIM_SoftwareIdentityType));
    for (IEnumerator enumObj = enum_softwareIdentity.GetEnumerator(); enumObj.MoveNext(); )
    CIM_SoftwareIdentityType softwareIdentity = (CIM_SoftwareIdentityType)(enumObj.Current);
    if (softwareIdentity.InstanceID == "AMT FW Core Version")
    Console.WriteLine("AMT Version: {0}", softwareIdentity.VersionString);

    You should now be able to write a simple application for Intel AMT! Remember to set up the client PC before testing your code (this video explains how). If you&aposre having trouble up to this point, please leave a comment/question and I&aposll do my best to help. I&aposll also be posting some sample code in the near future, so be sure to check my blog posts regularly.


    :, , , , , , , , ,

    Leave a Reply

    Powered by WP Hashcash

    Looking for something?

    Use the form below to search the site:

    Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

    Visit our friends!

    A few highly recommended friends...