PPCGeeks Forums HTC Arrive HTC HD2 HTC Thunderbolt HTC Touch Pro 2 HTC Evo 4G HTC Evo 3D Samsung Galaxy S II Motorola Droid X Apple iPhone Blackberry
Go Back   PPCGeeks > Windows Mobile > WM HTC Devices > HTC Apache
Register Community Search

Notices


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 07-14-2008, 07:23 PM
tommyclee's Avatar
Lurker
Offline
Pocket PC: htcappache (vx6700)
 
Join Date: Jun 2008
Posts: 7
Reputation: 0
tommyclee is a n00b
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
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
Reply With Quote
  #2 (permalink)  
Old 07-15-2008, 06:29 AM
TechnoHippie's Avatar
PPCGeeks Regular
Offline
Pocket PC: HTC Fuze
Carrier: ATT
 
Join Date: Dec 2006
Posts: 237
Reputation: 95
TechnoHippie is becoming a great contributor
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Re: Loading NDIS51 IM driver on VerizonWireless XV6700 PDA at Boot Time

sounds to me like the .pfx file isn't included in your project? It will still compile without it but ya gotta add it the the project and re-deloy. If thats not it I dunno I'd have to take a closer look at it...
Reply With Quote
  #3 (permalink)  
Old 07-15-2008, 01:36 PM
tommyclee's Avatar
Lurker
Offline
Pocket PC: htcappache (vx6700)
Threadstarter
 
Join Date: Jun 2008
Posts: 7
Reputation: 0
tommyclee is a n00b
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
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
Reply With Quote
  #4 (permalink)  
Old 07-16-2008, 03:50 PM
tommyclee's Avatar
Lurker
Offline
Pocket PC: htcappache (vx6700)
Threadstarter
 
Join Date: Jun 2008
Posts: 7
Reputation: 0
tommyclee is a n00b
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
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
Reply With Quote
Reply

  PPCGeeks > Windows Mobile > WM HTC Devices > HTC Apache


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -4. The time now is 03:32 AM.


Powered by vBulletin® ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
©2012 - PPCGeeks.com