PCIe Ethernet Cards not Detected with WinCE V2.0Beta4

Did an update to the latest (downloadable) WinCE 2013 2.0Beta4 on an Apalis T30 module and while in 2.0Beta2 additional PCIe network cards are detected, with 2.0Beta4 it seems it doesn’t work anymore.
I saw this behaviour in 2.0Beta1. Is this a new bug or an old bug that has sneaked into the release?

Tried a network card with Intel i210, which worked under 2.0Beta2.

And you are sure it is an i210 card with disabled firmware EEPROM?

Yes, it’s a Intel i210 card (Vendor ID: 0x8086, Device ID: 0x1533). It’s a EMPL-G201 card.
Tried a second Ethernet card (MPCIE-DLAN-R10) with the same result.

I have to apologize, I’ve made a mess in the versions. Not 2.0Beta2 but 2.0Beta3 works and 2.0Beta4 no longer works. (and in Beta2 it din’t worked either)

Steps to reproduce:
Take a new Apalis T30 V1.1 out of the shelf, new Ixora board V1.0A. Flash the module with WinCE 2.0Beta3. Add a mini PCIe network card and boot.

ipconfig gives me:

Windows IP configuration 

 Ethernet adapter [PCI\E1Q1]:
	 Media State . . . . . . . . . . . : Media disconnected

 Ethernet adapter [PCI\E1Q3]:
	 Media State . . . . . . . . . . . : Media disconnected

 Ethernet adapter [PCI\E1Q2]:
	 Media State . . . . . . . . . . . : Media disconnected

 Loopback Adapter [Loopback Pseudo-Interface 1]:
	 IPv6 Address. . . . . . . . . . . : ::1
	 IPv4 Address. . . . . . . . . . . : 127.0.0.1 (Preferred)
	 Subnet Mask . . . . . . . . . . . : 255.0.0.0
	 Default Gateway . . . . . . . . . : 0.0.0.0

Now I’ve downloaded the 2.0Beta4 image and Updatetool v6.0.9.3546, did an update on the module and booted again. ipconfig gives me:

Windows IP configuration

 Ethernet adapter [PCI\E1Q1]:
	 Media State . . . . . . . . . . . : Media disconnected

 Loopback Adapter [Loopback Pseudo-Interface 1]:
	 IPv6 Address. . . . . . . . . . . : ::1
	 IPv4 Address. . . . . . . . . . . : 127.0.0.1 (Preferred)
	 Subnet Mask . . . . . . . . . . . : 255.0.0.0
	 Default Gateway . . . . . . . . . : 0.0.0.0

No mini PCIe network card detected anymore. I think it has to do with bug #20314 “PCIe does not enumerate”, which was fixed in Beta3. Looks like the bug came back?

@TriUrs: We have been able to reproduce the situation and will check what is going wrong. Thanks for the hint. We give you an update as soon as we have more information ready.

Thank you very much.

Btw: Beta3 I’ve flashed over USB (NVDIA USB Boot-recovery) and Beta4 I’ve used the latest UpdateTool. Don’t know if this make a difference.

Thanks for reporting this. We found the reason for this behaviour. In 2.0beta 4 we introduced the possibility to modify the GPIO configuration in the bootloader (gpio.bootconf). We pulled one pin into the wrong direction which prevents the external PCIe to work. To fix that, replace the existing gpio.bootconf setting with the following two commands:

set gpio.bootconf="[gpio_146] pull=none [gpio_147] pull=up [gpio_148] pull=up [gpio_149] pull=up [gpio_150] pull=up [gpio_151] pull=up [gpio_170] pull=up [gpio_171] pull=up [gpio_186] outmode=tristate pull=none [gpio_187] outmode=tristate [gpio_231] pull=up [gpio_237] pull=up [gpio_238] pull=down [gpio_69] outmode=tristate [gpio_71] outmode=tristate [gpio_224] pull=none [gpio_146] outmode=tristate"
save gpio

That should do the job and the external PCIe works again.

We will fix this in 2.0 final release. Please let me know if you still see any issue after that.