Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31



Similar documents
ARM* to Intel Atom Microarchitecture - A Migration Study

Intel Platform Controller Hub EG20T

Internal LVDS Dynamic Backlight Brightness Control

Cyber Security Framework: Intel s Implementation Tools & Approach

Developing secure software A practical approach

Using GStreamer for hardware accelerated video decoding on Intel Atom Processor E6xx series

PHYSICAL CORES V. ENHANCED THREADING SOFTWARE: PERFORMANCE EVALUATION WHITEPAPER

Embedded Controller Usage in Low Power Embedded Designs

CT Bus Clock Fallback for Linux Operating Systems

Intel(R) IT Director User's Guide

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Intel Rapid Storage Technology (Intel RST) in Linux*

DDR2 x16 Hardware Implementation Utilizing the Intel EP80579 Integrated Processor Product Line

Processor Reorder Buffer (ROB) Timeout

Open Source Used In Cisco Instant Connect for ios Devices 4.9(1)

Intel Dialogic System Software for PCI Products on Windows

White Paper David Hibler Jr Platform Solutions Engineer Intel Corporation. Considerations for designing an Embedded IA System with DDR3 ECC SO-DIMMs

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Spread-Spectrum Clocking to Reduce EMI

Inside Linux* graphics

Accessing the Real Time Clock Registers and the NMI Enable Bit

Enabling new usage models for Intel Embedded Platforms

Debugging Machine Check Exceptions on Embedded IA Platforms

Device Management API for Windows* and Linux* Operating Systems

Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference

Contents Overview and Product Contents

Xen in Embedded Systems. Ray Kinsella Senior Software Engineer Embedded and Communications Group Intel Corporation

Using Windows* 7/Windows Embedded Standard 7* with Platforms Based on the Intel Atom Processor Z670/Z650 and Intel SM35 Express Chipset

Third Party Software Used In PLEK500 (Utility for Win) v1.x.xx.xxx

Implementing Multiple Displays with IEGD Multi-GPU - Multi-Monitor Mode on Intel Atom Processor with Intel System Controller Hub US15W Chipset

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor

How To Install An Intel System Studio 2015 For Windows* For Free On A Computer Or Mac Or Ipa (For Free)

with PKI Use Case Guide

Azure Multi-Factor Authentication. KEMP LoadMaster and Azure Multi- Factor Authentication. Technical Note

Intel Embedded Virtualization Manager

ANZ TRANSACTIVE MOBILE for ipad

Considerations for Designing an Embedded Intel Architecture System with System Memory Down

Creating Full Screen Applications Across Multiple Displays in Extended Mode

Intel Storage System SSR212CC Enclosure Management Software Installation Guide For Red Hat* Enterprise Linux

Intel vpro Technology Module for Microsoft* Windows PowerShell*

RSA Two Factor Authentication

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

FortiAuthenticator Agent for Microsoft IIS/OWA. Install Guide

Software Solutions for Multi-Display Setups

Intel Desktop Board D945GCPE

GEO Sticky DNS. GEO Sticky DNS. Feature Description

[MD5 Message Digests] derived from the RSA Data Security, Inc. MD5 Message Digest Algorithm

RSA Two Factor Authentication. Feature Description

System Center Virtual Machine Manager 2012 R2 Plug-In. Feature Description

Intel Remote Configuration Certificate Utility Frequently Asked Questions

Intel Desktop Board DG43RK

Hyper V Windows 2012 and 8. Virtual LoadMaster for Microsoft Hyper V on Windows Server 2012, 2012 R2 and Windows 8. Installation Guide

Dell Statistica. Statistica Document Management System (SDMS) Requirements

Microsoft SharePoint

White Paper Amit Aneja Platform Architect Intel Corporation. Xen* Hypervisor Case Study - Designing Embedded Virtualized Intel Architecture Platforms

Intel Desktop Board DQ43AP

Enterprise Manager to Enterprise Console upgrade guide. Sophos Enterprise Manager version 4.7 Sophos Enterprise Console version 4.7.

Portions derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.

Intel Desktop Board D945GCPE Specification Update

Intel EP80579 Software for IP Telephony Applications on Intel QuickAssist Technology

Platform LSF Version 9 Release 1.2. Migrating on Windows SC

Intel Desktop Board DG41TY

SyAM Software* Server Monitor Local/Central* on a Microsoft* Windows* Operating System

Customizing Boot Media for Linux* Direct Boot

Quest vworkspace Virtual Desktop Extensions for Linux

Dell Migration Manager for Enterprise Social What Can and Cannot Be Migrated

Intel Desktop Board DG41BI

White Paper Amy Chong Yew Ee Online Sales Account Manager APAC Online Sales Center Intel Corporation. BOM Cost Reduction by Removing S3 State

Intel NetStructure Host Media Processing Release 2.0 for Windows

BES10 Self-Service. Version: User Guide

Fuse MQ Enterprise Broker Administration Tutorials

An Architecture to Deliver a Healthcare Dial-tone

Intel Cyber Security Briefing: Trends, Solutions, and Opportunities. Matthew Rosenquist, Cyber Security Strategist, Intel Corp

Spotlight Management Pack for SCOM

Intel System Event Log (SEL) Viewer Utility

Intel Management Engine BIOS Extension (Intel MEBX) User s Guide

The Tor VM Project. Installing the Build Environment & Building Tor VM. Copyright The Tor Project, Inc. Authors: Martin Peck and Kyle Williams

Virtual LoadMaster for Microsoft Hyper-V

BMC Remedy Action Request System 7.0 Open Source License Agreements

Release Notes for CounterPath X-Lite 4 for Windows Version 4.8

Intel Desktop Board DG41WV

Adobe DNG Flat Field Plug-in (1.0) Software Notices and/or Additional Terms and Conditions

Intel Desktop Board DG31PR

Dell One Identity Cloud Access Manager How to Configure Microsoft Office 365

Intel Media SDK Library Distribution and Dispatching Process

Port Following. Port Following. Feature Description

CPU Monitoring With DTS/PECI

Intel Desktop Board DQ35JO

These TERMS AND CONDICTIONS (this Agreement ) are agreed to between InfluencersAtWork,

Installing on Windows

Intel Desktop Board D945GCL

Dell InTrust Preparing for Auditing Cisco PIX Firewall

Intel Media SDK Features in Microsoft Windows 7* Multi- Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms

Pulse Redundancy. User Guide

New Features and Enhancements

Transcription:

White Paper Zerene Sangma Platform Application Engineer Intel Corporation Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31 For Intel Q45 and Intel GM45 based embedded platforms June 2010 323961

Contents Introduction... 3 Supported Hardware... 4 Important Legal Notice... 4 Implementation... 6 Applying the patches... 6 Always backup the source tree before applying any of the patches.... 6 HECI 5.0.0.30 patch... 6 LMS 5.0.0.30 patch... 7 Power Management patch... 7 Building and Installing... 8 Verifying the Drivers... 8 Resources... 8 2

Introduction The Intel Active Management Technology (Intel AMT) is a hardware based solution that provides Out of Band (OOB) remote manageability functions independent of the system s power and operating system (OS) state. The following versions of Intel AMT apply to this document: Intel AMT 5.0 Intel AMT 4.2 Intel Q45 Express Chipset Intel GM45 Express Chipset The two components of Intel AMT that allow interaction between the Intel AMT client and the OS are the Manageability Engine Interface (MEI) device driver and the Local Manageability Service (LMS). The MEI driver, also known as the Host Embedded Controller Interface (HECI) allows applications to access the Intel AMT firmware via a host interface (rather than a network interface). The LMS allows applications to access the Intel AMT firmware via the local MEI interface. This document outlines the steps to upgrade the Intel AMT 5.0 MEI and LMS drivers to build and run on Linux kernel 2.6.31. It also includes a patch of MEI 5.0.0.30 and LMS 5.0.0.30 to enable compilation of the MEI driver and LMS on kernel 2.6.31 respectively. The MEI and LMS 5.0.0.30 drivers can be downloaded from the SourceForge website. This document also includes a patch that enables the power management feature in the MEI 5.0.0.30. This patch is optional and can be applied on systems where the driver fails to save the state of PCI configuration before going into standby (S3) or hibernate (S4) system states, resulting in loss of local functionality on the Intel AMT client such as general info, storage, agent presence after resuming from S3 or S4 system states. The MEI and LMS 5.0.0.30 drivers have also been validated with the Intel Management Engine (ME) Firmware version 4.2.10 based on the Embedded Intel GM45 Express Chipset. Note: The document assumes that the user is familiar with Intel Active Management Technology MEI and LMS drivers to support local OS access to Intel hardware manageability features. Refer to http://www.openamt.org/ for more information. Caution: Disclaimer: Intel AMT over wireless is currently not supported on GM45 and Q45 based embedded platforms. 3

Supported Hardware Intel Core vpro processor and Intel Q45 Express chipset Intel Core 2 Duo processor and Intel GM45 Express Chipsets Important Legal Notice Please read the following notice carefully before applying the patches mentioned in this document. Any software source code reprinted in this document is furnished under a software license and may only be used or copied in accordance with the terms of that license. The software license of the source code reprinted in this document is the following: /******************************************************************************* * Copyright (C) 2004-2010 Intel Corp. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * - Neither the name of Intel Corp. nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4

* ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ 5

Implementation Applying the patches Always backup the source tree before applying any of the patches. HECI 5.0.0.30 patch The following is the patch of HECI 5.0.0.30 to upgrade to kernel 2.6.31. To apply the patch; copy and paste the code from this document to a text file and use patch p1 < filename> or manually make the changes. diff -Naur HECI-5.0.0.30/src/heci_main.c HECI- 5.0.0.30_modified/src/heci_main.c --- HECI-5.0.0.30/src/heci_main.c 2008-07-08 10:50:17.000000000 +0000 +++ HECI-5.0.0.30_modified/src/heci_main.c 2010-04-16 14:26:07.000000000 +0000 @@ -98,7 +98,7 @@ static struct pci_dev *heci_device; struct class *heci_class; -struct class_device *heci_class_dev; +struct device *heci_class_dev; /* heci_pci_tbl - PCI Device ID Table */ @@ -276,7 +276,7 @@ goto err_out; } - heci_class_dev = class_device_create(heci_class, NULL, + heci_class_dev = device_create(heci_class, NULL, heci_cdev.dev, NULL, HECI_DEV_NAME); @@ -293,7 +293,7 @@ static void heci_sysfs_device_remove(void) { if (heci_class_dev) - class_device_unregister(heci_class_dev); + device_destroy(heci_class,heci_cdev.dev); } /** 6

LMS 5.0.0.30 patch The following is a patch of LMS 5.0.0.30 to compile the LMS on kernel 2.6.31. To apply the patch; copy and paste the code from the document to a text file and use patch p1 < filename> or manually make the changes. diff -Naur LMS-5.0.0.30/src/tools/ATNetworkTool.cpp LMS- 5.0.0.30_modified/src/tools/ATNetworkTool.cpp --- LMS-5.0.0.30/src/tools/ATNetworkTool.cpp 2008-07-08 10:50:24.000000000 +0000 +++ LMS-5.0.0.30_modified/src/tools/ATNetworkTool.cpp 2010-04-16 14:38:20.000000000 +0000 @@ -44,7 +44,7 @@ bool ATNetworkTool::GetHostNameDomain(const char *name, std::string &domain) { - char *domp = strchr(name, '.'); + const char *domp = strchr(name, '.'); if (domp) { domp++; if (*domp) { Power Management patch As mentioned earlier, the following patch of HECI 5.0.0.30 may be required to turn on power management features in the MEI driver. To apply the patch; copy and paste the code from the document to a text file and use patch p1 < filename> or manually make the changes. diff -Naur HECI-5.0.0.30/src/heci_init.c HECI- 5.0.0.30_modified/src/heci_init.c --- HECI-5.0.0.30/src/heci_init.c 2008-07-08 10:50:17.000000000 +0000 +++ HECI-5.0.0.30_modified/src/heci_init.c 2010-04-17 14:57:53.000000000 +0000 @@ -600,7 +600,7 @@ */ static int host_enum_clients_message(struct iamt_heci_device *dev) { - long timeout = 5; /*5 second */ + long timeout = 15; /* 15 second */ struct heci_msg_hdr *heci_hdr; struct hbm_host_enum_request *host_enum_req; int err = 0; diff -Naur HECI-5.0.0.30/src/Makefile HECI- 5.0.0.30_modified/src/Makefile --- HECI-5.0.0.30/src/Makefile 2008-07-08 10:50:16.000000000 +0000 +++ HECI-5.0.0.30_modified/src/Makefile 2010-04-17 14:58:43.000000000 +0000 @@ -147,6 +147,9 @@ EXTRA_CFLAGS += $(CFLAGS_EXTRA) 7

+# power management +EXTRA_CFLAGS += -DCONFIG_PM + RHC := $(KSRC)/include/linux/rhconfig.h ifneq (,$(wildcard $(RHC))) # 7.3 typo in rhconfig.h Building and Installing In order to build and install the MEI driver, run make install from the source directory. Load the MEI driver using modprobe heci. To build and install the LMS driver, at the driver source directory call./configure and then make install. This also ensures that the driver will load upon startup. Verifying the Drivers There are many ways to verify the functionality of the drivers. In this document, we will use the Intel General Info Interface which is a sample application provided in Intel Software Development Kit (SDK). LMS uses General Info Interface to expose standard AMT functionality on local or remote Intel AMT clients by retrieving information about the client. Download the Intel SDK and run the application using make command from the General Info source directory. Make sure the Intel AMT client is activated and the drivers are loaded on the client. Use the following command to retrieve information about the client:./generalinfo http://localhost:16992/generalinfoservice -user <user> -pass <pwd> where user and pwd are username and password for the Intel AMT client Management Engine BIOS Extension setup(mebx). Confirm information on the client is displayed. Refer to the resources section of this document for more information on Intel SDK and General Info Interface. Resources 1. Intel AMT Open Source Drivers and Tools: http://www.openamt.org/ 2. Driver downloads: http://sourceforge.net/projects/openamt/files/ 3. Intel SDK: http://software.intel.com/en-us/articles/download-thelatest-intel-amt-software-development-kit-sdk/ 8

4. Forums and Blogs on Intel AMT: http://software.intel.com/enus/manageability/ The Intel Embedded Design Center provides qualified developers with webbased access to technical resources. Access Intel Confidential design materials, step-by step guidance, application reference solutions, training, Intel s tool loaner program, and connect with an e-help desk and the embedded community. Design Fast. Design Smart. Get started today. http://intel.com/embedded/edc. Authors Zerene Sangma is a job title with Embedded and Communications Group at Intel Corporation. 9

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. This paper is for informational purposes only. THIS DOCUMENT IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Intel disclaims all liability, including liability for infringement of any proprietary rights, relating to use of information in this specification. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted herein. BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Core Inside, i960, Intel, the Intel logo, Intel AppUp, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, the Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash, Intel Viiv, Intel vpro, Intel XScale, InTru, the InTru logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Moblin, Pentium, Pentium Inside, skoool, the skoool logo, Sound Mark, The Journey Inside, vpro Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Copyright 2010 Intel Corporation. All rights reserved. 10