Re: WZC wizard fails to start - Windows CE 5

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hi Paul,

no, the platform I am working on for this project doesn't have CF or PCMCIA controllers, but rather on-board Ethernet chip and USB for external devices to connect.
So, those are not an option.

In your case it is hardware problem ? So you conclude all Microsoft code works.... say as designed, but does not actually work [to make it functional] due to platform hardware problems, it is it correct understanding ?

I'm tired of all that " yeahh it should work, see all software is provided by Windows CE, it works for me" and "the stick doesn't work right" and further if that pop-up window mechanism broke [for whatever reason, doesn't matter] , why God cannot one just go to control panel, right click on that USB80231 icon and do it by hand, from there ? Not a chance.

Sorry for the sad note.

Sergei R


"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT com> wrote in message news:OxdW7660HHA.1208@xxxxxxxxxxxxxxxxxxxxxxx
I'm talking about WZC in general, not just for USB. My hardware doesn't work well with the 5421, either, but I have Compact Flash and PCMCIA as suitable busses to take other supported wireless cards. I'm wondering if one of those, if you have it, would pop up WZC or not.

Paul T.

"Sergei R" <rusakov@xxxxxxxxxxxxxx> wrote in message news:uH6XM160HHA.5152@xxxxxxxxxxxxxxxxxxxxxxx
Hi Paul,

news:eL25nB50HHA.4476@xxxxxxxxxxxxxxxxxxxxxxx
WZC works for other wireless adapters that you have, but not for yours? Or it never works?

As far as I know, for Windows CE 5, there is only one USB WLAN adapter, which is supported by the code in Windows CE 5 itself, and that is U.S.Robotics USR5421. So I have no choice to try. Even with that adaptor there are stories that one may need to customize their usb driver to work correctly with that stick... perhaps QFE for 2006 year end has fixed that.

For dekstop there is a lot more, but no drivers for CE though.

Paul T.


"Sergei R" <rusakov@xxxxxxxxxxxxxx> wrote in message news:us%237Y740HHA.484@xxxxxxxxxxxxxxxxxxxxxxx
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT com> wrote in message news:eVJF9Zv0HHA.1164@xxxxxxxxxxxxxxxxxxxxxxx
Sergei,
I guess that you could try to duplicate what I think the problem code is doing in your own application and see if you also get error 2. Something like:

h = CreateFile( TEXT( "ZCF1:" ),
GENERIC_READ|GENERIC_WRITE,
0x00,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL);
if ( h == INVALID_HANDLE_VALUE )
etc...

oh this works no problem. Further I have looked into source code available and see that in ....\netui\quickconfigui.c a function CreateProperty***() is not being called, which I think it should - that one actually pops up a dialog, when a new wireless card is inserted.

That's why I have asked whether you know a direct method of doing the same, such as
...
LoadLibrary("netui.dll"); ...
get function address(one which launches that dialog in the first place)
call that function (....with last argument bWireless=TRUE explicitly)
...
It looks to me that netui.dll does not export these functions, so I couldn't just launch that as in above metacode. At least seems that Microsoft didn't intend that function to be used outside of the .exe it was intended to work with, but rather be called from device.exe upon some circumstances, which fails to be right in my case.

There were some posts previously about trying to do the same by sending some messages to icon in tray in order to force this to happen or even cloning netui to make a stand alone .exe and call that on user demand, and then change/debug it to adapt to specific platform/card.
If that is the only way, perhaps I will have to put that functionality work again away for a while.

Regards
Sergei R


Paul T.

"Sergei R" <rusakov@xxxxxxxxxxxxxx> wrote in message news:eQXnLUv0HHA.4712@xxxxxxxxxxxxxxxxxxxxxxx
Hi Paul,

and thank you for helping me out.
This investigation is again bringing little yeild, similar to what I got last time and had to put this aside for a while.
Yes, platfrom has ZCF1: ( and WLS1: as well ) as active driver..

"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT com> wrote in message news:OziWLFt0HHA.5160@xxxxxxxxxxxxxxxxxxxxxxx
The original error message from CreateFile, unless MS has significantly changed the WZC code, is being unable to open the ZCF1: device. Any chance that there is more than one program/service/driver trying to do some WZC operations at the same time? I don't know that having that would be a problem but, if the driver appears in the active list, it seems like there must be some reason it can't be opened. It definitely *is* ZCF1:, right?
That's correct and clear..

Not ZCF0: or something like that where a registry entry might be wrong, but where the rest of the entries would still be OK?
All the other registry settings I can think of are ok. Doesn't mean I know them all. Something definitely is not going through.

Side observation, which may help.

In the registry, there is only one network adapter listed active, nds0: . I would expect two of them, since nds0: is the vmini ethernet kitl, and - nds1: should be that usb rndis adapter.

However, in Control Panel--> Dial Up and networking I can see two network adapters listed, vmini1 and usr80231, exactly as expected. Both are described in properties as wired network adapters though.

Perhaps last effort for this work would be trying to launch that pop up dialog directly from an application. It looks like that dialog pops up as a new thread from device.exe, when it loads wzc dll. Since all the dlls, exe's and registry settings are in place, do you know any way how is it possible to call that wzc dll directly or, perhaps, ask device.exe to load that dll upon usr85421 insertion ?

Best regards
Sergei R

Paul T.

"Sergei R" <rusakov@xxxxxxxxxxxxxx> wrote in message news:%23qb5jFL0HHA.5644@xxxxxxxxxxxxxxxxxxxxxxx
Hi Dan,

thank you for your reply.

My reginit.ini has both the
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ZeroConfig]
and
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ethman]
sections in it as you described.

ZCF1: device is shown in the list of active devices.

Both environment variables SYSGEN_CONNMC and SYSGEN_ETHERNET and set to be equal to 1.
However, I don't see this one __SYSGEN_ETHMAN being set.

You mention (NETUIQC: Unable to open key) statement, but that key is different from reginit.ini key. See
reginit.ini defines [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ethman] key
but NETUIQC wants [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ethman\Log] key
Do you know is supposed to create that second key, which you think causes a problem for Netuiqc ?

Still wzc config dialog does not pop up either at bootup with usr5421 inserted or when insreted at run time.

Anything else you can think of ?

Reagrds,

SergeirR

"Dan McCarty" <dmccarty@xxxxxxxxx> wrote in message news:1185574435.048625.152050@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Jul 27, 4:34 pm, "Sergei R" <rusa...@xxxxxxxxxxxxxx> wrote:
Hi Dan,

[skip]

"Dan McCarty" <dmcca...@xxxxxxxxx> wrote in message

news:1185569017.793982.22810@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

> I assume you have SYSGEN_ETH_80211 and SYSGEN_USBFN_ETHERNET > set in
> your platform? Also check your flatreleasedir for wzcsapi.dll > and
> wzcsvc.dll.

These environment variables are probably set, since I am using Platform
Builder IDE, it is a drag and drop of catalog items, arther than setting of
environment variables.

Regarding the files in flatrelease folder, one can see there
wzcsapi.dll
wzcsvc.dll
wzctool.exe

> If all those check out, try setting full debug zones on wzcsapi > and
> wzcsvc and see what the log tells you; you should at least get > an
> error code for why createfile() is failing with "system can't > find the
> file".

With his one : when enabled WZCSAPI debug zones, only a little more
information came out
.....
125172 PID:5af904a6 TID:9acbf6ce 0x9abf7000: NETUIQC: Unable to open key
[Drivers\BuiltIn\Ethman\Log]
125239 PID:5af904a6 TID:9acbf6ce 0x9abf7000: WZCSAPI:: +++ QueryInterface()
for pIntfEntry[0x499974]
125239 PID:5af904a6 TID:9acbf6ce 0x9abf7000: WZCSAPI:: CreateFile()
failed..
125239 PID:5af904a6 TID:9acbf6ce 0x9abf7000: WZCSAPI:: QueryInterface()..
Err[0x2]
125239 PID:5af904a6 TID:9acbf6ce 0x9abf7000: WZCSAPI:: ---
QueryInterface(): result [0x2] [0x499974]
125239 PID:5af904a6 TID:9acbf6ce 0x9abf7000: !WZCUI: WZCQueryInterfaceEx
failed 0x2
125239 PID:5af904a6 TID:9acbf6ce 0x9abf7000: NETUIQC: Warning - failed to
get wireless info
125342 PID:5af904a6 TID:9acbf6ce 0x9abf7000: WZCSAPI:: CreateFile()
failed..
125342 PID:5af904a6 TID:9acbf6ce 0x9abf7000: WZCSAPI:: ---
WZCQueryContext(): result [0x2]
125342 PID:5af904a6 TID:9acbf6ce 0x9abf7000: NETUIQC: WZCQueryContext
failed 0x2
125464 PID:5af904a6 TID:3acbf2ae 0x9ac5b000: RNDISMP: Query for
OID_GEN_MAC_OPT not supported by device
...

Thanks,

Sergei R



> -Dan.

Check your %_flatreleasedir%\reginit.ini. Do you have a section for
Drivers\BuiltIn\Ethman? If not then that should tell you something.
You should also have these sections:

; @CESYSGEN IF CE_MODULES_WZCSVC
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ZeroConfig]
"Prefix"="ZCF"
"Dll"="WZCSVC.dll"
"Index"=dword:1
; NDISUIO must be started before WZCSVC
"Order"=dword:4
; @CESYSGEN ENDIF

; @CESYSGEN IF CE_MODULES_ETHMAN
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ethman]
"Prefix"="ETM"
"Dll"="ethman.dll"
"Index"=dword:1
; WZCSVC must be started before ethman
"Order"=dword:5
; @CESYSGEN ENDIF

If ethman, an app that interfaces between NETUIO and the shell
(taskbar), isn't present then I'd expect that the log is correct
(NETUIQC: Unable to open key) and you won't see the WZC popup dialog
when it recognizes a wireless interface.

(Looking through winceos.bat you can see ethman is set when:
if "%SYSGEN_CONNMC%"=="1" if "%SYSGEN_ETHERNET%"=="1" set
__SYSGEN_ETHMAN=1
Check to see if you have CONNMC and ETHERNET set.)

Hope this helps,
Dan.














.


Quantcast