Re: Mainstone II BSP PC Card Driver

From: Brian Kuebert (bkuebert_at_xtremex3.com)
Date: 11/09/04


Date: Mon, 8 Nov 2004 20:33:03 -0500

That's right. The reason I was looking into that was the Order registry
entry for pcc_serv.dll is 0 while the Order registry entry for the
pcc_mainstoneii.dll is 2 so I would expect pcc_serv.dll to be loaded first.
However, pcc_serv.dll is having the same problem loading (call to
ActivateDeviceEx returning NULL). Below is output from BusEnum.dll (note I
added debug messages for each call to ActivateDeviceEx and for if it returns
NULL). Dummy is a driver I added just to be sure the process does indeed
work for a driver (the DUM::DUM_Init() print is from that driver's init
function).

CardBus.DLL DLL_PROCESS_ATTACH
BusEnum::BusEnum (ActivateRegPath=Drivers\Active\01)
ActivateChild: Template reg path is Drivers\BuiltIn\Dummy
ActivateChild: Template reg path is Drivers\BuiltIn\Serial
ActivateChild: Template reg path is Drivers\BuiltIn\PCC_MAINSTONEII0
ActivateChild: Template reg path is Drivers\BuiltIn\PCC_MAINSTONEII1
ActivateChild: Template reg path is Drivers\BuiltIn\PCCARD
 BusEnum::ActivateChild load device driver at order 0
 BusEnum::Calling LoadDevice
DeviceFolder::LoadDevice!Loading driver from device key
Drivers\BuiltIn\Serial
DeviceFolder::LoadDevice!Calling ActivateDeviceEx
DeviceFolder::LoadDevice!ERROR - call to ActivateDeviceEx returned NULL
 BusEnum::Calling LoadDevice
DeviceFolder::LoadDevice!Loading driver from device key
Drivers\BuiltIn\PCCARD
DeviceFolder::LoadDevice!Calling ActivateDeviceEx
DeviceFolder::LoadDevice!ERROR - call to ActivateDeviceEx returned NULL
 BusEnum::ActivateChild load device driver at order 2
 BusEnum::Calling LoadDevice
DeviceFolder::LoadDevice!Loading driver from device key
Drivers\BuiltIn\PCC_MAINSTONEII0
DeviceFolder::LoadDevice!Calling ActivateDeviceEx
DeviceFolder::LoadDevice!ERROR - call to ActivateDeviceEx returned NULL
 BusEnum::Calling LoadDevice
DeviceFolder::LoadDevice!Loading driver from device key
Drivers\BuiltIn\PCC_MAINSTONEII1
DeviceFolder::LoadDevice!Calling ActivateDeviceEx
DeviceFolder::LoadDevice!ERROR - call to ActivateDeviceEx returned NULL
 BusEnum::ActivateChild load device driver at order -2
 BusEnum::Calling LoadDevice
DeviceFolder::LoadDevice!Loading driver from device key
Drivers\BuiltIn\Dummy
DeviceFolder::LoadDevice!Calling ActivateDeviceEx
DUM:: DUM_Init()..

>This is nothing to do with your mainstoneII pccard driver.

>The MSDN is talking about the PC Card MDD code (it used to call Card

>Service). The code you are developing is PDD code (It used to called Socket

>Service).

>The code you are looking is under PC Card MDD (service code. it named as

>pcc_serv.dll).

>Please post your message to newsgroup.

>David Liao

"Brian Kuebert" <bkuebert@xtremex3.com> wrote in message
news:%23ozwoefxEHA.2192@TK2MSFTNGP14.phx.gbl...
> Thanks for the input. I added a dummy driver just to see that one could
>
> be loaded and it loaded fine. The driver is in the image as are the
>
> dependencies.
>
> On one of the MSDN pages about the PC Card driver I see the following:
>
> "The auto-enabler is the default handler for PC Card configuration, if
>
> the enabler is not disabled in the registry. PC Card card services is
>
> initialized only once. It is then ready to accept platform dependent
>
> driver (PDD) binding and PC Card card services from the client driver."
>
> I searched for more info on the "auto-enabler" but couldn't find any.
>
> Perhaps it's not enabled in the registry. Any idea how I can check
>
> (what Key)?
>
> Thanks,
>
> Brian
>
> "David Liao (MS)" <davli@online.microsoft.com> wrote in message
> news:uxCALYexEHA.2676@TK2MSFTNGP12.phx.gbl...
>> Anything specified in drivers\Builtin should be loaded.
>> If the Init is never called, it could be following problem.
>> 1.There is no default bus driver to load any driver under
>> drivers\builtin, Make sure at least one driver is loaded under
>> Drivers\Builtin.
>> 2. Make sure all dependent DLL is included as well. It at least depends
>> on CEDDK.DLL and COREDLL.DLL.
>> 3. make sure the you pccard driver is inside your image. (NK.BIN)
>> David Liao
>>
>> "Brian Kuebert" <bkuebert@xtremex3.com> wrote in message
>> news:%23KjAcMcxEHA.2676@TK2MSFTNGP12.phx.gbl...
>>> Hi David, Thanks for the reply.
>>>
>>> I should have mentioned that the system only has one serial port (and no
>>> ethernet) so I can't run the debugger. I added a debug print statement
>>> as the very first thing in both Init and DllEntry and never see either
>>> one. The pcc_mainstoneii.dll is in the image but it doesn't appear that
>>> init is ever being called. While we work on getting something working so
>>> we can use the debugger, any other ideas? It doesn't look like ANY of
>>> the BSP drivers are loading correctly, however, some of our own drivers
>>> do load correctly using this process. It's as if there is some setting
>>> necessary to load the BSP drivers that come with PB that I'm missing.
>>>
>>> Any help greatly appreciated,
>>>
>>> Brian
>>>
>>> "David Liao (MS)" <davli@online.microsoft.com> wrote in message
>>> news:%23tbanEcxEHA.2568@TK2MSFTNGP11.phx.gbl...
>>>> Make sure the DLL is in your image. ( I believe mainstoneII is using
>>>> pcc_mainstoneii.dll).
>>>> then set break point at begin of Init(I believe it is located at
>>>> platform\mainstoneII\src\drivers\pccard\init.cpp) function to find out
>>>> why it fails.
>>>>
>>>> David Liao
>>>> "Brian Kuebert" <bkuebert@xtremex3.com> wrote in message
>>>> news:eXZOTNbxEHA.1300@TK2MSFTNGP14.phx.gbl...
>>>>> Folks-
>>>>>
>>>>> I'm trying to bring up PC Card drivers in a system using an Intel
>>>>> 80200. Since the system is so similar to the Mainstone II board I used
>>>>> its PC Card drivers as the starting point for my development. The
>>>>> problem I'm having is that I can't seem to get the driver to ever
>>>>> start. I tracked the problem through the bus enumerator and it's
>>>>> seeing the keys in the registry and running LoadDevice(). Within
>>>>> LoadDevice() the call to ActivateDeviceEx is returning NULL. I turned
>>>>> on the debugging hooks in BusEnum and all of the PCC_MAINSTONEII code
>>>>> but never see any messages from the PCC_MAINSTONEII driver DLL entry
>>>>> function saying it's initializing. Any ideas?
>>>>>
>>>>> Thanks,
>>>>> Brian Kuebert
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Relevant Pages

  • Re: What is the driver API call to register a device
    ... What I thought was that ActivateDeviceEx creates the Active key then calls ... ActivateDevice loads the driver into the Device Manager ... ActivateDeviceEx to work as expected (i.e. to load the driver and add the ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Missing PCMCIA card insertion event (WinCE5)
    ... PCMCIA Driver is activated through ActivateDeviceEx by PCMCIA. ... the Activation Key is passed in by ActivateDeviceEx into XXX_Init ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Stream Device Driver
    ... you should not put your reg entry in ... the first prm of ActivateDeviceEx is not the path of your ... driver, but the registry base key that contain your driver's settings. ... with Dumpbin /exports mydriver.dll I see every entry point. ...
    (microsoft.public.windowsce.platbuilder)

Loading