Jump to content

Intel MEI Driver: PCI Simple Communications Controller


Recommended Posts

A common situation with Windows 2000 on newer Intel motherboards is its incompatibility with Intel’s Management Engine software, and the related Problem Device listing.  I would like to share a possible solution.

 

You install W2k Pro on the Z77 platform, for instance, and have a problem-free Device Manager except for a yellow question mark over the listing “PCI Simple Communications Controller.”  No motherboard manufacturer offered the MEI for W2k Pro from the Z77 (maybe Z68) onward.

 

One way around this on the Z77 is the method used by member AnX, who “modified the .inf of the MEI driver so it runs on Win2K.  I copied the XP hardware IDs to Win2k section.”  However, that solution may be unavailable to those who lack the expertise, or from the Z87 on because no motherboard manufacturer offered the MEI for Windows XP from the Z87 on.

 

In a sense this is not really a problem, because the Intel Management Engine is worthless.  Still, there’s the matter of that yellow question mark, and how to be rid of it. 

 

I came across a zip file download by this name:

 

             Intel_C20x_MEI_NULL_HECI_VER1232002

 

Once extracted, I used Device Manager to direct the “PCI Simple Communications Controller” to the “All” folder therein, where it found just one needed file to de-list the problem device.  For Biostar motherboards on both the Z77 and Z87 platforms, that file is called “pantHECI.”  For an MSI motherboard on the Z97 platform, the file selected is called “lxlpHECI.”  And once that file is identified, you can ditch the rest of the extract -- that one file is all that is needed to satisfy Device Manager.  And the file works with either Windows 2000 or Windows XP.

 

My question is, is this some sort of generic MEI driver package?  I see that it’s worked on multiple platforms, multiple manufacturers, both W2k Pro and XP.  How broad might its application be?  If anyone needs it and finds the opportunity to try it, I would appreciate it if you would let us know:

 

             -did it work

             -on what motherboard

             -which specific file did Device Manager choose

 

Here is one link where the zip file is available for download:

 

     http://www.driversguru.com/driverdetail/948226-1.2.3.2002.html

 

Thank you.

Edited by bluebolt
Link to comment
Share on other sites


For what it's worth, the meaning of the inf names is the following:

 

wellHECI.inf => Wellsburg (X99)

patsHECI.inf => Patsburg (X79)

pantHECI.inf => Panther Point (Z77, etc.)

lynxHECI.inf => Lynx Point (Z87, eyc.)

lxlpHECI.inf => Wildcat Point (Z97, eyc.)

cougHECI.inf => Cougar Point (Z68, etc.)

 

For more info, check the list of Intel Chipsets on Wikipedia.

 

Great find, bluebolt! :thumbup

Link to comment
Share on other sites

Nice. :)

It seems a driver/package coming from ASUS and actually the direct download link:
http://dlcdnet.asus.com/pub/ASUS/mb/socket1155/P8B-C/Driver/Intel_C20x_MEI_NULL_HECI_VER1232002.zip
is on ASUS servers.

The corresponding page is here:
http://www.asus.com/Commercial_Servers_Workstations/P8BC4L/HelpDesk_Download/
choose "Windows XP" as OS and then click on "Chipset" the file has this "Description":

-Intel C20x MEI NULL HECI
-Intel C20x MEI NULL HECI Windows WHQL Driver V1.2.3.2002 for Windows XP 32/64 bit,Windows Server 2003 32/64 bit,Windows Vista 32/64 bit,Windows Server 2008 32/64 bit,Windows 7 32/64 bit,Windows Server 2008 R2 64 bit,Windows 8 32/64 bit,Windows Server 2012 64 bit.

 

 

jaclaz

Link to comment
Share on other sites

Thanks for the information, dencorso and jaclaz.

 

Based on dencorso’s post, I’m probably mistaken about the specific file used by the Biostar Z87 (i.e. maybe it was lynxHECI).  That setup is long gone, so I have no way to check.  Sorry about that.

Link to comment
Share on other sites

  • 1 month later...

Usually, MEI and DPTF will install together. They need user mode kernel framework with wdf1000.sys v1.11. (win8). Although wdf update 1.9 is possible on w2k, xp, and server 2003 (installs wdf1000.sys v1.9. (win7)), MEI and DPTF will not work with this.

I examined the dependencies of wdf win8 and the following functions have to be added to ntoskrnl 2k3 for usability:

EtwRegister

EtwUnregister

EtwWrite

PoGetSystemWake

PoSetSystemWake

 

For W2k x86, unfortunally the list is much longer:

ExAquireFastMutex

ExQueryDepthSList

ExReleaseFastMutex

ExpInterlockedPopEntrySList

ExpInterlockedPushEntrySList

IoWMIDeviceObjectIoProviderID

KeAquireInterruptSpinLock

KeAquireSpinLockRaiseToDpc

KeLowerIrql

KeReleaseInterruptSpinLock

KeReleaseSpinLock

KfRaiseIRQL

WmiQueryTraceInformation

WmiTraceMessageVa

_C_Specific_handler

 

plus the above functions which are not present in XP / Server kernel.

 

Since I am newbee, I do not know which amount it would be or if it would be even possible to add this functions into exkernel, I only know from WmiQueryTraceInformation that this is very much work (usbvideo.sys will not work without this).

 

I also looked at the difference between w7 and w8 wdf01000.sys (kb2685811):

  • Support for System-mode Direct Memory Access (DMA)
  • Support for passive-level interrupts
  • Adds functional power states for multiple components in a single deviceAdds functionality to dispatch I/O Request Packets (IRPs) to I/O queues
  • Adds the following methods:
    • WdfDeviceConfigureWdmIrpDispatchCallback
    • WdfDeviceInitSetReleaseHardwareOrderOnFailure
    • WdfDeviceInitSetRemoveLockOptions
    • WdfDeviceWdmDispatchIrp
    • WdfDmaEnablerConfigureSystemProfile
    • WdfDmaTransactionAllocateResources
    • WdfDmaTransactionCancel
    • WdfDmaTransactionFreeResources
    • WdfDmaTransactionGetTransferInfo
    • WdfDmaTransactionInitializeUsingOffset
    • WdfDmaTransactionSetChannelConfigurationCallback
    • WdfDmaTransactionSetDeviceAddressOffset
    • WdfDmaTransactionSetImmediateExecution
    • WdfDmaTransactionSetTransferCompleteCallback
    • WdfDmaTransactionWdmGetTransferContext
    • WdfInterruptQueueWorkItemForIsr
    • WdfInterruptReportActive
    • WdfInterruptReportInactive
    • WdfInterruptTryToAcquireLock
    • WdfIoQueueStopAndPurge
    • WdfIoQueueStopAndPurgeSynchronously
    • WdfIoTargetPurge
    • WdfUsbTargetDeviceCreateIsochUrb
    • WdfUsbTargetDeviceCreateUrb
    • WdfUsbTargetDeviceCreateWithParameters
    • WdfUsbTargetDeviceQueryUsbCapability
  • Adds the EvtDeviceUsageNotificationEx function.
  • Adds the IdleTimeoutType and ExcludeD3Cold members to the WDF_DEVICE_POWER_POLICY_IDLE_settings.
  • Adds the ReportInactiveOnPowerDown member to the WDF_INTERRUPT_configuration.
  • Adds the WdfIoTargetPurged value to the WDF_IO_TARGET_state.
  • Adds the WdfSpecialFileBoot value to the WDF_SPECIAL_FILE_type.
  • Adds the DbgWaitForSignalTimeoutInSec value to registry values for debugging framework-based drivers.
  • Adds InstallWdf, MultiComp, and SingleComp samples

I wonder if these improvements could be done without touching ntoskrnl, so that mei and dptf will work properly on w2k / server 2003.

 

Greetings

Edited by JosefReisinger
Link to comment
Share on other sites

  • 5 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...