Tuesday, November 20, 2007

Static IP address for KITL (VMINI)

When you want to connect to your Windows CE device using KITL over Ethernet and having the network support enable, you have to select the following components and settings in your OSDesign :
  • TCP/IP
  • Wired Local Area Network (802.3, 802.5)
  • KITL support in you OSDesign settings
At this time the VIMINI driver is mounted on your system to provide access to the network API and support even if your physical network interface is already handled by KITL. This Virtual network interface (Virtual Mini Adapter) requires an IP address like another network interface.
If your network have a DHCP server enable, this interface will get an IP Address automatically. If it's not the case, you will have a default IP address (169.254.50.67) associated to this network interface and unfortunately this interface cannot be used as is. You must provide a valid IP address to this VMINI network driver through the registry.
; Enable static IP address for VMINI1
[HKEY_LOCAL_MACHINE\Comm\VMINI1\Parms\Tcpip]
"EnableDHCP"=dword:0 ; Disable the DHCP/ enable static IP
"IPAddress"="192.168.1.3"
"SubnetMask"="255.255.255.0"
Note : VMINI1 is the correct key path to point to the registry settings used by this driver.
Those settings must be added to your project.reg as those settings are specific to your current OSDesign and not linked to the BSP.
Using the same technique you can set a Static IP address to other network interfaces available on your device.

In the case of the usage of the Emulator BSP, the network interface used in this case is not VMINI1 but the NE20001 driver provided by Microsoft, emulating the access to your real network interface. In this particular case the registry settings will be :
; Enable static IP address
[HKEY_LOCAL_MACHINE\Comm\NE20001\Parms\Tcpip]
"EnableDHCP"=dword:0 ; Disable the DHCP/ enable static IP
"IPAddress"="192.168.1.3"
"SubnetMask"="255.255.255.0"

- Nicolas

1 comment:

Anonymous said...

Thanks this hint saved me after hours of trying to get ping working from my device.