I am using Platform Builder 5.0 for Windows CE 5.0 to create an image
for a WinSystems EBC-C3PLUS single board computer. This SBC uses the
Intel 82559ER Ethernet driver for both Ethernet ports. The 2nd
instance of the Ethernet port (E100CE2) is set correctly, but the
first instance (E100CE1) is not, and is instead set to the static
address 1.2.3.4. Nowhere in my specified .reg and .bib files have I
declared any settings to use this address. I have tried multiple
suggestions on google and from co-workers that are using different
SBCs to no result.

The question is then, where does this address come from? And how can
I bypass this to use my requested IP addresses? Also, why is the 2nd
instance of my Ethernet port successful where the 1st fails?

--------------------------------
Config.bib
--------------------------------

MEMORY

#if defined IMGRAM16
; 16 MB of RAM (note: AUTOSIZE will adjust boundary)
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 00400000 RAM
#elif defined IMGRAM32
; 32 MB of RAM (note: AUTOSIZE will adjust boundary)
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 01400000 RAM
#elif defined IMGRAM64
; 64 MB of RAM (note: AUTOSIZE will adjust boundary)
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 03400000 RAM
#elif defined IMGRAM128
; 128 MB of RAM (note: AUTOSIZE will adjust boundary)
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 07100000 RAM
#elif defined IMGRAM256
; 256 MB of RAM (note: AUTOSIZE will adjust boundary)
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 0EB00000 RAM
#elif defined IMGRAM512
; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 1E000000 RAM
#else
; 28 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
; This value will cause the RAM auto-detect feature to trigger
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 01000000 RAM
#endif

; Hard reset the system on a software reboot?
;
IF BSP_HARDRESET
pdwHardReset 00000000 1 FIXUPVAR
ELSE
pdwHardReset 00000000 0 FIXUPVAR
ENDIF

EPKTBUF 801DC000 00011F80 RESERVED ; Intel 82559ER Ethernet
EPKTBUF 801EDF80 00011F80 RESERVED ; Intel 82559ER Ethernet(2)
BOOTARGS 801FFF00 00000100 RESERVED ; Boot arguments
EDBG_DMA 80200000 00020000 RESERVED ; EDBG DMA buffer

CONFIG
AUTOSIZE=ON

; @CESYSGEN IF !NK_NKNOCOMP
COMPRESSION=ON
; @CESYSGEN ENDIF !NK_NKNOCOMP
; @CESYSGEN IF NK_NKNOCOMP
COMPRESSION=OFF
; @CESYSGEN ENDIF NK_NKNOCOMP

IF IMGPROFILER
PROFILE=ON
ELSE
PROFILE=OFF
ENDIF

KERNELFIXUPS=ON

;
; ROMFLAGS is a bitmask of options for the kernel
; ROMFLAGS 0x0001 Disallow Paging
; ROMFLAGS 0x0002 Not all KMode
; ROMFLAGS 0x0010 Trust Module only
;
IF IMGTRUSTROMONLY
IF IMGNOTALLKMODE
ROMFLAGS=12
ELSE
ROMFLAGS=10
ENDIF
ELSE
IF IMGNOTALLKMODE
ROMFLAGS=2
ELSE
ROMFLAGS=0
ENDIF
ENDIF


IF _TGTCPUFAMILY=x86
ROMOFFSET=80000000
ENDIF



--------------------------------
Platform.reg
---------------------------------
;<<snip non Ethernet related entries>>

IF CEPC_INTELFE_PCI
; Generic adapter configuration/description
[HKEY_LOCAL_MACHINE\Comm\E100CE]
"DisplayName"="Intel(R) Fast Ethernet Controller"
"Group"="NDIS"
"ImagePath"="e100ce.dll"
[HKEY_LOCAL_MACHINE\Comm\E100CE\Linkage]
"Route"=multi_sz:"E100CE1","E100CE2"
; Specific configuration for an adapter instance
[HKEY_LOCAL_MACHINE\Comm\E100CE1]
"DisplayName"="Intel(R) Fast Ethernet Controller"
"Group"="NDIS"
"ImagePath"="e100ce.dll"
[HKEY_LOCAL_MACHINE\Comm\E100CE1\Parms]
"BusNumber"=dword:0
"BusType"=dword:5
"BusTypeLocal"=dword:5
; Shared packet buffer storage, must match reserved memory range
"CE_PhysAddr"=dword:801DC000
; Other adapter-specific Registry parameters may be inserted here
"SlotNumber"=dword:a
"ScanMethod"=dword:2
; Settings for DHCP, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\Comm\E100CE1\Parms\TcpIp]
"EnableDHCP"=dword:1
"DefaultGateway"=""
"UseZeroBroadcast"=dword:0
"IpAddress"="0.0.0.0"
"Subnetmask"="0.0.0.0"
ENDIF

; Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE\Comm\E100CE1\Parms\TcpIp]
"EnableDHCP"=dword:0
"DefaultGateway"="172.16.0.1"
"UseZeroBroadcast"=dword:0
"IpAddress"="172.16.0.1"
"Subnetmask"="255.255.255.0"
ENDIF

; Specific configuration for a network interface instance
[HKEY_LOCAL_MACHINE\Comm\E100CE2]
"DisplayName"="Intel(R) Fast Ethernet Controller"
"Group"="NDIS"
"ImagePath"="e100ce.dll"

[HKEY_LOCAL_MACHINE\Comm\E100CE2\Parms]
"BusNumber"=dword:0
"BusType"=dword:5
"BusTypeLocal"=dword:5
; Shared packet buffer storage, must match reserved memory range
"CE_PhysAddr"=dword:801EDF80
; Other adapter-specific Registry parameters may be inserted here
"SlotNumber"=dword:b
"ScanMethod"=dword:2
; Settings for DHCP, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\Comm\E100CE2\Parms\TcpIp]
"EnableDHCP"=dword:1
"DefaultGateway"=""
"UseZeroBroadcast"=dword:0
"IpAddress"="0.0.0.0"
"Subnetmask"="0.0.0.0"
ENDIF
; Settings for static IP configuration, if enabled

IF STATIC_IP
[HKEY_LOCAL_MACHINE\Comm\E100CE2\Parms\TcpIp]
"EnableDHCP"=dword:0
"DefaultGateway"="172.16.1.1"
"UseZeroBroadcast"=dword:0
"IpAddress"="172.16.1.1"
"Subnetmask"="255.255.255.0"
ENDIF

; Link between adapter and protocol stack
[HKEY_LOCAL_MACHINE\Comm\Tcpip\Linkage]
; This should be MULTI_SZ
; This is the list of llip drivers to load
"Bind"=multi_sz:"e100ce1","e100ce2"
ENDIF

Re: Setting up dual Static IP addresses by Paul

Paul
Tue Mar 25 10:12:21 PDT 2008

What type of OS build is booting? Might it be that it's a DEBUG build and
that KITL over Ethernet is being used to connect to the Platform Builder
machine?

Paul T.

"Ajd223" <ajd223@gmail.com> wrote in message
news:734b2d4a-e1bd-4ccb-89f5-28a2ee0162da@z38g2000hsc.googlegroups.com...
>I am using Platform Builder 5.0 for Windows CE 5.0 to create an image
> for a WinSystems EBC-C3PLUS single board computer. This SBC uses the
> Intel 82559ER Ethernet driver for both Ethernet ports. The 2nd
> instance of the Ethernet port (E100CE2) is set correctly, but the
> first instance (E100CE1) is not, and is instead set to the static
> address 1.2.3.4. Nowhere in my specified .reg and .bib files have I
> declared any settings to use this address. I have tried multiple
> suggestions on google and from co-workers that are using different
> SBCs to no result.
>
> The question is then, where does this address come from? And how can
> I bypass this to use my requested IP addresses? Also, why is the 2nd
> instance of my Ethernet port successful where the 1st fails?
>
> --------------------------------
> Config.bib
> --------------------------------
>
> MEMORY
>
> #if defined IMGRAM16
> ; 16 MB of RAM (note: AUTOSIZE will adjust boundary)
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 00400000 RAM
> #elif defined IMGRAM32
> ; 32 MB of RAM (note: AUTOSIZE will adjust boundary)
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 01400000 RAM
> #elif defined IMGRAM64
> ; 64 MB of RAM (note: AUTOSIZE will adjust boundary)
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 03400000 RAM
> #elif defined IMGRAM128
> ; 128 MB of RAM (note: AUTOSIZE will adjust boundary)
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 07100000 RAM
> #elif defined IMGRAM256
> ; 256 MB of RAM (note: AUTOSIZE will adjust boundary)
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 0EB00000 RAM
> #elif defined IMGRAM512
> ; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 1E000000 RAM
> #else
> ; 28 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
> ; This value will cause the RAM auto-detect feature to trigger
> NK 80220000 009E0000 RAMIMAGE
> RAM 80C00000 01000000 RAM
> #endif
>
> ; Hard reset the system on a software reboot?
> ;
> IF BSP_HARDRESET
> pdwHardReset 00000000 1 FIXUPVAR
> ELSE
> pdwHardReset 00000000 0 FIXUPVAR
> ENDIF
>
> EPKTBUF 801DC000 00011F80 RESERVED ; Intel 82559ER Ethernet
> EPKTBUF 801EDF80 00011F80 RESERVED ; Intel 82559ER Ethernet(2)
> BOOTARGS 801FFF00 00000100 RESERVED ; Boot arguments
> EDBG_DMA 80200000 00020000 RESERVED ; EDBG DMA buffer
>
> CONFIG
> AUTOSIZE=ON
>
> ; @CESYSGEN IF !NK_NKNOCOMP
> COMPRESSION=ON
> ; @CESYSGEN ENDIF !NK_NKNOCOMP
> ; @CESYSGEN IF NK_NKNOCOMP
> COMPRESSION=OFF
> ; @CESYSGEN ENDIF NK_NKNOCOMP
>
> IF IMGPROFILER
> PROFILE=ON
> ELSE
> PROFILE=OFF
> ENDIF
>
> KERNELFIXUPS=ON
>
> ;
> ; ROMFLAGS is a bitmask of options for the kernel
> ; ROMFLAGS 0x0001 Disallow Paging
> ; ROMFLAGS 0x0002 Not all KMode
> ; ROMFLAGS 0x0010 Trust Module only
> ;
> IF IMGTRUSTROMONLY
> IF IMGNOTALLKMODE
> ROMFLAGS=12
> ELSE
> ROMFLAGS=10
> ENDIF
> ELSE
> IF IMGNOTALLKMODE
> ROMFLAGS=2
> ELSE
> ROMFLAGS=0
> ENDIF
> ENDIF
>
>
> IF _TGTCPUFAMILY=x86
> ROMOFFSET=80000000
> ENDIF
>
>
>
> --------------------------------
> Platform.reg
> ---------------------------------
> ;<<snip non Ethernet related entries>>
>
> IF CEPC_INTELFE_PCI
> ; Generic adapter configuration/description
> [HKEY_LOCAL_MACHINE\Comm\E100CE]
> "DisplayName"="Intel(R) Fast Ethernet Controller"
> "Group"="NDIS"
> "ImagePath"="e100ce.dll"
> [HKEY_LOCAL_MACHINE\Comm\E100CE\Linkage]
> "Route"=multi_sz:"E100CE1","E100CE2"
> ; Specific configuration for an adapter instance
> [HKEY_LOCAL_MACHINE\Comm\E100CE1]
> "DisplayName"="Intel(R) Fast Ethernet Controller"
> "Group"="NDIS"
> "ImagePath"="e100ce.dll"
> [HKEY_LOCAL_MACHINE\Comm\E100CE1\Parms]
> "BusNumber"=dword:0
> "BusType"=dword:5
> "BusTypeLocal"=dword:5
> ; Shared packet buffer storage, must match reserved memory range
> "CE_PhysAddr"=dword:801DC000
> ; Other adapter-specific Registry parameters may be inserted here
> "SlotNumber"=dword:a
> "ScanMethod"=dword:2
> ; Settings for DHCP, if enabled
> IF DHCP
> [HKEY_LOCAL_MACHINE\Comm\E100CE1\Parms\TcpIp]
> "EnableDHCP"=dword:1
> "DefaultGateway"=""
> "UseZeroBroadcast"=dword:0
> "IpAddress"="0.0.0.0"
> "Subnetmask"="0.0.0.0"
> ENDIF
>
> ; Settings for static IP configuration, if enabled
> IF STATIC_IP
> [HKEY_LOCAL_MACHINE\Comm\E100CE1\Parms\TcpIp]
> "EnableDHCP"=dword:0
> "DefaultGateway"="172.16.0.1"
> "UseZeroBroadcast"=dword:0
> "IpAddress"="172.16.0.1"
> "Subnetmask"="255.255.255.0"
> ENDIF
>
> ; Specific configuration for a network interface instance
> [HKEY_LOCAL_MACHINE\Comm\E100CE2]
> "DisplayName"="Intel(R) Fast Ethernet Controller"
> "Group"="NDIS"
> "ImagePath"="e100ce.dll"
>
> [HKEY_LOCAL_MACHINE\Comm\E100CE2\Parms]
> "BusNumber"=dword:0
> "BusType"=dword:5
> "BusTypeLocal"=dword:5
> ; Shared packet buffer storage, must match reserved memory range
> "CE_PhysAddr"=dword:801EDF80
> ; Other adapter-specific Registry parameters may be inserted here
> "SlotNumber"=dword:b
> "ScanMethod"=dword:2
> ; Settings for DHCP, if enabled
> IF DHCP
> [HKEY_LOCAL_MACHINE\Comm\E100CE2\Parms\TcpIp]
> "EnableDHCP"=dword:1
> "DefaultGateway"=""
> "UseZeroBroadcast"=dword:0
> "IpAddress"="0.0.0.0"
> "Subnetmask"="0.0.0.0"
> ENDIF
> ; Settings for static IP configuration, if enabled
>
> IF STATIC_IP
> [HKEY_LOCAL_MACHINE\Comm\E100CE2\Parms\TcpIp]
> "EnableDHCP"=dword:0
> "DefaultGateway"="172.16.1.1"
> "UseZeroBroadcast"=dword:0
> "IpAddress"="172.16.1.1"
> "Subnetmask"="255.255.255.0"
> ENDIF
>
> ; Link between adapter and protocol stack
> [HKEY_LOCAL_MACHINE\Comm\Tcpip\Linkage]
> ; This should be MULTI_SZ
> ; This is the list of llip drivers to load
> "Bind"=multi_sz:"e100ce1","e100ce2"
> ENDIF



Re: Setting up dual Static IP addresses by Ajd223

Ajd223
Tue Mar 25 11:46:50 PDT 2008

The full release build is booting, as I am writing it to a flash card
and booting that on the device. The Platform Builder is at no point
connected to the target.

On Mar 25, 1:12 pm, "Paul G. Tobey [eMVP]" <p space tobey no spam AT
no instrument no spam DOT com> wrote:
> What type of OS build is booting? Might it be that it's a DEBUG build and
> that KITL over Ethernet is being used to connect to the Platform Builder
> machine?
>
> Paul T.
>
> "Ajd223" <ajd...@gmail.com> wrote in message
>
> news:734b2d4a-e1bd-4ccb-89f5-28a2ee0162da@z38g2000hsc.googlegroups.com...
>
> >I am using Platform Builder 5.0 for Windows CE 5.0 to create an image
> > for a WinSystems EBC-C3PLUS single board computer. This SBC uses the
> > Intel 82559ER Ethernet driver for both Ethernet ports. The 2nd
> > instance of the Ethernet port (E100CE2) is set correctly, but the
> > first instance (E100CE1) is not, and is instead set to the static
> > address 1.2.3.4. Nowhere in my specified .reg and .bib files have I
> > declared any settings to use this address. I have tried multiple
> > suggestions on google and from co-workers that are using different
> > SBCs to no result.
>
> > The question is then, where does this address come from? And how can
> > I bypass this to use my requested IP addresses? Also, why is the 2nd
> > instance of my Ethernet port successful where the 1st fails?
>


Re: Setting up dual Static IP addresses by Paul

Paul
Tue Mar 25 12:21:46 PDT 2008

If you can enable debug messages via serial and do a DEBUG build without
kernel debugging, that might indicate where/when that address is getting
assigned. You've examined the code itself for the device driver and
verified that the 82559 doesn't have that address hard-coded in it somewhere
for some reason, right?

Are we correct in reading your original message to say that you *have* put
some other static IP address in the registry for this instance of the driver
and that the entries are being ignored? It would be worthwhile to verify
somehow that you are not, by chance, using some old registry file, that you
haven't overridden your project.reg settings with some other settings in
platform.reg or a project reg file (see reginit.ini for the final registry
entry list; last in the file is highest priority, if there's more than one
entry for the same value/key).

Paul T.

"Ajd223" <ajd223@gmail.com> wrote in message
news:6fcd8d8b-c8b6-4e67-b29b-621068c656ee@n58g2000hsf.googlegroups.com...
> The full release build is booting, as I am writing it to a flash card
> and booting that on the device. The Platform Builder is at no point
> connected to the target.
>
> On Mar 25, 1:12 pm, "Paul G. Tobey [eMVP]" <p space tobey no spam AT
> no instrument no spam DOT com&g