***********WOOOOO HOOOO!!!!!!!!!!!!!!!!**************
I did it! I've found the problem with the network card driver corruption AND REPAIRED IT!!!!
I was right. The corruption is in the PPP/TCP layer of the NDIS abstract, but NOT in the registry.
30 minutes ago my Lucent/Orinoco wireless card did it, yet again - it lost it's driver registration. I vowed right then and there that I wouldn't stand this anymore! So I started looking around. I looked at files in \Windows to see if they disappeared - they did not. NE2000, WVLAN46...they seemed all there.
So I went into the registry and looked around. All the values seems proper except an entry in HKLM\Ports\WVLAN46 - I thought the Route value was supposed to be multi rather than string. I changed it - nope, didn't work.
So I dumped the registry, brought it over to the WinXP machine, and did an FC. The differences didn't look important...so I examined the entire dump by hand. The HKLM values were, pretty much, correct.
Well...
Thanks to this web site, a little FAQ, I finally figured out what is wrong.
It is the CE SP1 pack.
I was looking for the PPP DLL and couldn't find it. It is registered in the hive but it's missing in \Windows. So I researched it.
http://www.hpcfactor.com/downloads/official_updates.asp
Note that your FAQ lists "ROM".
That's the secret!!
After reinstalling the SP1 pack it still didn't work, after telling me it's already installed. I have tried removing it in the past to be told I can't - it's a OS component.
Here's what I think is happening:
If you look on your FAQ you see that 2 NDIS files, PPP.DLL and TCPSTK.DLL, get "updated" even though they are invisible in \Windows. What happens is that those files are hidden from the user, either executed from ROM or hidden by the OS in \Windows. The SP1 pack installs new versions into \Windows but the OS still hides the files.
What is happening is that one of the SP1 files goes corrupt, and I think it could very well be the SP1 DLL or DAT file
(which I found, and is the key to all this, but I'm getting ahead of myself
). The OS then breaks the NDIS system and can't handle NIC cards because of it.
If you
(try
) to reinstall SP1 the OS "tells" you it's already installed...and although it replaces the files it still doesn't work; the NIC card can't load because the PPP/TCP stack is still broken.
The solution to all this is in \Windows\AppMgr. 2 files:
Microsoft Handheld PC 2.0 SP 1.DAT
Microsoft Handheld PC 2.0 SP 1.DLL
apparently tell the OS how to handle the patched NDIS DLL files
(and I assume the single IFS file as well
).
Delete those 2 files and soft reboot the unit. The OS now has no link to the SP1 files.
Rerun the SP1 pack and install, then soft reboot. You will find that the NIC card can now be discovered!!
Now, for me, although my NIC card was discovered it still didn't work, not getting a DHCP - it looked like the NDIS link between the HAL and the TCP stack was broken. So I uninstalled both the NSP and the drivers, then soft rebooted. I went into the registry and blew away the WaveLAN-applicable entries in:
HKLM\Ports
HKLM\Drivers\PCMCIA
(that is, the 2 entries in \Ports for the Wvlan46* and the 3 entries in \PCMCIA for a WaveLAN wireless card
)
then soft rebooted and reinstalled both NSP and the drivers. Re-setup the network via the Control Panels and BINGO!, Bob's-your-uncle and I'm back on line!!
How do I do this so fast? I keep the 3 .CAB files - the SP1, the NSP and the drivers - on a CF card. I copy / paste a copy of the .CAB into the same directory then run the cab - CE deletes the cab after the install and by making a copy I always keep the original copy, to be used again and again.
That, and Tascal's RegEdit makes this all possible
(you probably could do it without Tascal but this way I'm sure it's done right
).
I was getting **really* pissed off about CE's NIC card problem, thinking that I would have to flush and restore the entire unit after every crash. That makes this thing - the entire machine - of questionable use because the whole point is to travel with it. You can't do a restore when you travel. But now I know I can fix it on the road, and it's all cool again!