locked
Load NDIS IM Driver on VerizonWireless XV6700 PDA at Boot Time RRS feed

  • Question

  •  Hi all,

     

    I am working on the loading of my NDIS51 IM driver DLL onto my WM5 based VerizonWireless XV6700 PDA. My driver works on the WINCE421 based iPAQhx2410 Pocket PC 2003 PDA. At the moment I can build my driver in the VS2005/WM5SDKPPC IDE. My project properties settings relevant to this loading process are:

     

  • Debugging->Remote Executable - %CSIDL_PROGRAM_FILES%\cttunim\cttunim.dll
  • Deployment->Deployment Device - Windows Mobile 5.0 Pocket PC Device
  • Deployment->Remote Directory - \Windows
  • ......
  • Linker->system->SubSystem - WindowsCE (/SUBSYSTEM:WINDOWSCE)
  • Linker->System->Driver - Driver (/DRIVER)
  • Linker->Advanced->Target Machine - MachineTHUMB (/MACHINE:THUMB)
  • ......
  • Authenticode Signing->Authenticode Signature - Yes
  • Authenticode Signing->Certificate - SHA-1 Hash=1049B790EDA3C369E9C206B44AF16B2657CC1555
  • Authenticode Signing->Provision Device - None

     

    The certificate associated with the above SHA-1 Hash value is the WM5SDKPPC SdkSamplePrivDeveloper.pfx under the \Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Tools folder. According to the "sign code" procedures listed in http://www.codeproject.com/KB/mobile/signcode.aspx, the SdkSamplePrivDeveloper.cer and SdkSamplePrivDeveloper.pvk files have been created by the makecert.exe tool; the SdkSamplePrivDeveloper.pfx file was created by the pvk2pfx.exe tool. 

     

    I did the following four steps and installed the SdkSamplePrivDeveloper.pfx on the XV6700 PDA:

     

    Step 1 - Use the openssl.exe tool to find out the cert_sha1 and cert_base64 values:

    openssl.exe sha1 SDKSamplePrivDeveloper.cer
    openssl.exe base64 -in SDKSamplePrivDeveloper.cer

     

    Step 2 - Create the _setup.xml file with the above two values.

     

    Step 3 - Use the makecab.exe tool to create the SDKSamplePrivDeveloper.cab file.
    makecab.exe _setup.xml SDKSamplePrivDeveloper.cab

     

    Step 4 - After the hardware-reset on the XV6700 PDA, I copied this CAB file to the XV6700 device. I double-ckicked this CAB file, the XV6700 PDA prompted me for security check on this CAB file. In response to my presse of "Yes", the XV6700 PDA showed "SDKSamplePrivDeveloper.cab was successfully installed on your device...." on its screen.

     

    The "RapiConfig /p CertStoreQuery.xml" command can confirm the success of this installation.

     

    Then I used the VS2005 Remote Registry Editor and added the following Registry settings, which used to make the device.exe load my driver on the WINCE421 based iPAQhx2410 PDA:

    • [.....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

    Before I rebooted my XV6700 PDA, I checked the XV6700 security configuration as 00001001=1 (default 2), 00001005=16, 0000101a=1 and 000101b=0.

     

    In the VS2005/WM5SDKPPC IDE, I rebuilt my driver and deployed it to the \Windows folder of the XV6700 PDA. I did not encounter any problems of doing these works. But the reboot cannot make the XV6700 device.exe load my driver while the underlying WiFi adapter (tiacxwln.dll) is loaded.

     

    This is pretty much detailed about my work. I hope you would tell me what else I need to add or what I need to adjust to succeed in the driver loading process. I will be happy to release more information of my work if you need it.

     

    Thanks,

    Tommy 

     

     

     

     

     

  •  

  •  

  •  

    I am glad to know that you successfully load your driver. I notice that your certificate is different from mine (SDKSamplePrivDeveloper.pfx). I also used the VS2005 Authenticode Signing->Certificate tool to try to set it to SDKSamplePrivDeveloper.cer. But I am allowed to set it. There are quite a few documents suggesting the use of the .pfx certificate. I am wondering how do you successfully set the .cer certificate.

     

    In addition, I hope you would tell me the other differences between your and mine works, in terms of the VS2005 project properties settings and settings on the WM5 PDA.

     

    I will be very much grateful to have you comment on my work.

     

    Tommy

     

Friday, July 18, 2008 5:57 PM