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\openssl-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\cttunim\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

--
Message posted via http://www.pocketpcjunkies.com

Re: Load NDIS51 IM Driver on VerizonWireless XV6700 PDA at Boot Time by tommyclee

tommyclee
Tue Jul 15 12:46:02 CDT 2008

The following are the the certificate-relevant project properties I have
configured:

....
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 comment is
extremely welcome.

Tommy

tommyclee wrote:
>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\openssl-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\cttunim\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

--
Message posted via PocketPCJunkies.com
http://www.pocketpcjunkies.com/Uwe/Forums.aspx/pocketpc-prog/200807/1


Re: Load NDIS51 IM Driver on VerizonWireless XV6700 PDA at Boot Time by tommyclee

tommyclee
Wed Jul 16 14:33:44 CDT 2008

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


tommyclee wrote:
>The following are the the certificate-relevant project properties I have
>configured:
>
>.....
>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 comment is
>extremely welcome.
>
>Tommy
>
>>Hi,
>>
>[quoted text clipped - 91 lines]
>>
>>Tommy

--
Message posted via PocketPCJunkies.com
http://www.pocketpcjunkies.com/Uwe/Forums.aspx/pocketpc-prog/200807/1