|
|
LinkBack | Thread Tools | Display Modes |
|
||||
Loading NDIS51 IM driver on VerizonWireless XV6700 PDA at Boot Time
Hi,
In the VS2005/WM5SDKPPC IDE, I try to use the WM5SDKPPC privileged SDKSamplePrivDeveloper certificate to load my NDIS51 IM driver (DLL) on the VierzonWireless XV6700 PDA at its boot time. Last week I install SdkCerts.cab on the XV6700 PDA. But I discovered that this certificate is not in the XV6700 PDA certificate store. I notice that the \Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDK\Tools folder has three SDKSamplePrivDeveloper certificate files in it as below: SDKSamplePrivDeveloper.cer SDKSamplePrivDeveloper.pvk SDKSamplePrivDeveloper.pfx According to the "sign code" procedures mentioned in the http://www.codeproject.com/KB/mobile/signcode.aspx web page, the cer and pvk files are created by the makecert.exe tool; the pfx file is created by the pvk2pfx.exe tool. These two tools are in the VS2005 package. The required ten steps of using the the SDKSamplePrivDeveloper certificate for loading our driver are: 1. Use the openssl.exe tool to find out the ash1 and base64 values of the SDKSamplePrivDeveloper certificate. The openssl.exe tool is archived under \tommyclee\0711085\cvs\identiprise\ThirdParty\open ssl-0.9.8g\out32dll folder. 2. Create a _setup.xml file with the ash1 and based64 values of the SDKSamplePrivDeveloper certificate. 3. Use the makecab.exe tool to create the SDKSamplePrivDeveloper.cab file. The makecab.exe tool is archived under the \Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools folder. 4. Hardware reset the XV6700 PDA. 5. Connect XV6700 PDA to the SecuredMobile network to make sure that its WiFi adapter functions. 6. With the ActiveSync connection, install SDKSamplePrivDeveloper.cab on the XV6700 PDA. 7. In the VS2005/WM5SDKPPC IDE, select SDKSamplePrivDeveloper.pfx as the Project->Properties->Authenticaode Signing->->Certificate value of the VS2005/WM5SDKPPC driver. 8. Rebuild driver and deploy it to the \Windows folder of the XV6700 PDA. 9. Use VS2005 Remote Registry Editor tool to create the [...\Comm\cttunim] and [...\Drivers\BuiltIn] Registry settings. Those settings are: 10 . Reboot the XV6700. The Registry settings are: [.....Comm\cttunim] group=ndis imagepath=cttunim.dll nodevicecreate=1 ..... [.....Driver\BuiltIn\ctt] prefix=CTT dll=cttunim.dll iclass={A32942B7-920C-486b-B0E6-92A702A99B35} index=1 order=5 Doing this work, I did not experience any problems at all. For example, the SDKSamplePrivDeveloper.cab installation completed with the "SDKSamplePrivDeveloper.cab was successfully installed on your device...." message; the VS2005/WM5SDKPPC driver building and deployment processes ended up with the following message: 1>Authenticode signing project output... 1>Successfully signed: c:\tommyclee\cvs\identiprise\client\tunnel\cttunim \cttuni m\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Debug\cttunim.dll 1>Build log was saved at "file://c:\tommyclee\cvs\identiprise\client\tunnel\cttu nim\cttunim\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Debug\BuildLog.htm" 1>cttunim - 0 error(s), 2 warning(s) ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== 1>------ Deploy started: Project: cttunim, Configuration: Debug Windows Mobile 5 .0 Pocket PC SDK (ARMV4I) ------ 1>c:\tommyclee\cvs\identiprise\client\tunnel\cttu n im\cttunim\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Debug\cttunim.dll ========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ========== ========== Deploy: 1 succeeded, 0 failed, 0 skipped ========== But, unfortunately, my driver still cannot be loaded by the XV6700 Device Manager (device.exe) at the boot time. I will use the VS2005/WM5SDKPPC Rapi tools to try to find out the cause of this failure. The other direction of research is in "HTC Apache Kitchen" which is good for customization and upgrading the XV6700 PDA firmware or OS image. I will be very much grateful to have you comment on this work. Tommy |
|
||||
Re: Loading NDIS51 IM driver on VerizonWireless XV6700 PDA at Boot Time
Thanks for your comment.
If my Step 7, listed below, is not the action of including SDKSamplePrivDeveloper.pfx into my driver project, I need to figure out how to include this pfx in the VS2005/WM5SDKPPC IDE. ..... 7. In the VS2005/WM5SDKPPC IDE, select SDKSamplePrivDeveloper.pfx as the Project->Properties->Authenticaode Signing->->Certificate value of the VS2005/WM5SDKPPC driver. ..... FYI, all the pfx-relevant project properties I have configured are: ..... Debugging->Remote Executable - %CSIDL_PROGRAM_FILES%\cttunim\cttunim.dll Deployment->Deployment Device - Windows Mobile 5.0 Pocket PC Device Deployment->Remote Directory - \Windows ..... Build Events - all three events are empty now ..... Authenticode Signature - Yes Certificate - SHA-1 Hash=1049B790EDA3C369E9C206B44AF16B2657CC1555 Provision Device - Privileged Certificate Store Are there any other project properties I need to configure? Your further comment is extremely welcome. Tommy |
|
||||
Re: Loading NDIS51 IM driver on VerizonWireless XV6700 PDA at Boot Time
I just added "$(InputDir)\cttunim.def" to the Project Configuration->Linker->Module Definition File field. The cttunim.def file lists all the CTT_*() entry points for the Power Manager and other system components to communicate with my driver. I also replaced "Not Set" with "MachineTHUMB (/MACHINE:THUMB)" on the Project Configuration->Linker->Target Machine field. I notice that MachineARM is goof for the ARMV4 platform and MachineTHUMB should be used for the ARMV4I platform.
With these two adjustments, my driver cannot be loaded at the Xv6700 boot time. I am still looking for solution now.
Tommy |
|
|
|