Intel PCI Gigabit Ethernet Connections for Microsoft Windows CE 6.x
===================================================================

January 25, 2007



Summary
=======

The configuration files provided with the Windows* CE driver enable support 
for single or multiple network interfaces based on the following Intel network devices:
- Intel 82540EM Gigabit Ethernet Controller
- Intel 82541EI Gigabit Ethernet Controller
- Intel 82541ER Gigabit Ethernet Controller
- Intel 82541GI Gigabit Ethernet Controller
- Intel 82541PI Gigabit Ethernet Controller
- Intel 82545GM Gigabit Ethernet Controller
- Intel 82546GB Gigabit Ethernet Controller
- Intel 82547EI Gigabit Ethernet Controller
- Intel 82547GI Gigabit Ethernet Controller


This technical note provides information on installation and configuration. A specific 
example is shown for a 2-port scenario in a single system.



Package Contents
================

e1000ce6.bib - Binary Image Builder Information File for e1000ce6.dll driver
e1000ce6.dll - Windows CE 5.0 driver for Intel PCI Gigabit Ethernet Controllers
e1000ce6.reg - Registry merge file for e1000ce6.dll driver
e1000ce6.rel - Release file for e1000ce6.dll driver
e1000ce6.txt - This support file


Single Network Interface Configuration
======================================

Use an ASCII text editor to read and modify the contents of the e1000ce6.REG 
file, and merge the content into the platform registry definition file 
PLATFORM.REG. The protocol information should be modified (e.g., different IP 
address or gateway) to correspond to your application.

Bindings, routes, and linkages are now handled by the operating system as 
well, eliminating the need to set the linkage and route by hand.  

Set the Platform environment variable CEPB_INTELGBE_PCI to value 1 to ensure
that the registry section for the new INTEL networking devices is built into 
the registry in the final platform image.


Multiple Network Interface Configuration
========================================

The only things that may need to be modified are the subnet mask, default 
gateway, and IP address, in the case of static IP usage.


Example Configuration for Two Network Interfaces
------------------------------------------------

<PLATFORM.REG>

IF CEPB_INTELGBE_PCI

;Create registry information for Intel(R) Miniport Driver

[HKEY_LOCAL_MACHINE\Comm\E1000CE5]
   "DisplayName"="Intel(R) Gigabit Ethernet Controller"
   "Group"="NDIS"
   "ImagePath"="e1000ce6.dll"


;Create registry information for template (will be copied to ALL instances of
;adapters using the Intel Miniport Driver

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E1000CE5]
;PCI Bus Enumeration Information
   "Class"=dword:02
   "SubClass"=dword:00
   "ProgIF"=dword:0
   "VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086"
   "DeviceID"=multi_sz:"100E","100F","1010","100D","1008","1019","100C","1013","1076","1078","1079","1026","1075"
   "Dll"="NDIS.dll"
;   "Entry"="NdisPCIBusDeviceInit"
   "Prefix"="NDS"
;Installable ISR Handler Information
   "IsrDll"="giisr.dll"
   "IsrHandler"="ISRHandler"
   "PortIsIO"=dword:0
   "PortOffset"=dword:C0
   "PortSize"=dword:4
   "PortMask"=dword:00FF
   "UseMaskReg"=dword:1
   "MaskOffset"=dword:D0

[HKEY_LOCAL_MACHINE\COMM\PCI\E1000CE51\PARMS]
   "DeviceNumber"=dword:1

[HKEY_LOCAL_MACHINE\COMM\PCI\E1000CE52\PARMS]
   "DeviceNumber"=dword:2

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E1000CE5\TCPIP]
   "EnableDHCP"=dword:1
   ; This should be MULTI_SZ
   "DefaultGateway"=""
   ; Use zero for broadcast address? (or 255.255.255.255)
   "UseZeroBroadcast"=dword:0
   ; This should be MULTI_SZ, the IP address list
   "IpAddress"="0.0.0.0"
   ; This should be MULTI_SZ, the subnet masks for the above IP addresses
   "Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE\COMM\PCI\E1000CE51]
   "EnableDHCP"=dword:0
   ; This should be MULTI_SZ
   "DefaultGateway"="1.2.3.0"
   ; Use zero for broadcast address? (or 255.255.255.255)
   "UseZeroBroadcast"=dword:0
   ; This should be MULTI_SZ, the IP address list
   "IpAddress"="1.2.3.4"
   ; This should be MULTI_SZ, the subnet masks for the above IP addresses
   "Subnetmask"="255.0.0.0"

[HKEY_LOCAL_MACHINE\COMM\PCI\E1000CE52]
   "EnableDHCP"=dword:0
   ; This should be MULTI_SZ
   "DefaultGateway"="1.2.3.0"
   ; Use zero for broadcast address? (or 255.255.255.255)
   "UseZeroBroadcast"=dword:0
   ; This should be MULTI_SZ, the IP address list
   "IpAddress"="1.2.3.5"
   ; This should be MULTI_SZ, the subnet masks for the above IP addresses
   "Subnetmask"="255.0.0.0"

ENDIF ;//Static IP
ENDIF ;//Intel(R) miniport registry additions



Duplicate Display Naming
========================

When the Display Name ("Intel(R) Gigabit Ethernet Controller") is used for more 
than one network interface, changes cannot be made once the Windows CE image 
is loaded. This behavior is due to a limitation in the OS. Windows CE treats 
adapter settings with identical Display Names as the same. When a change is 
made in the Network Configuration (Control Panel) to one network interface, 
it affects all the others with the same Display Name. When a static IP 
address is used in the Windows CE build, all network interfaces with the same 
Display Name will list the same IP address. The Registry settings will have 
the correct values. This limitation does not apply in a PC development 
platform due to the ability to remove and re-insert a network adapter for the 
changes to take effect.



Legal / Disclaimers
===================

Copyright (C) 2007, Intel Corporation.  All rights reserved.

This file as well as the software described in it is furnished under license 
and may only be used or copied in accordance with the terms of the license. 
The information in this manual is furnished for informational use only, is 
subject to change without notice, and should not be construed as a commitment 
by Intel Corporation. Intel Corporation assumes no responsibility or 
liability for any errors or inaccuracies that may appear in this document or 
any software that may be provided in association with this document. 

Except as permitted by such license, no part of this document may be 
reproduced, stored in a retrieval system, or transmitted in any form or by 
any means without the express written consent of Intel Corporation. 

Information in this document is provided in connection with Intel products. 
No license, express or implied, by estoppels or otherwise, to any intellectual 
property rights is granted by this document. Except as provided in Intel's 
Terms and Conditions of Sale for such products, Intel assumes no liability 
whatsoever, and Intel disclaims any express or implied warranty, relating to 
sale and/or use of Intel products including liability or warranties relating 
to fitness for a particular purpose, merchantability, or infringement of any 
patent, copyright or other intellectual property right. Intel products are 
not intended for use in medical, life saving, or life sustaining 
applications.

Intel Corporation assumes no responsibility for errors or omissions in this 
document. Nor does Intel make any commitment to update the information 
contained herein.
