Talking directly to Wireless card

  • Thread starter Thread starter Adam
  • Start date Start date
A

Adam

I'm building a project which I would like to be able to talk directly
to a wireless card to retreive the SSIDs of in-range access points.
I've searched prety extensively for theis information using Google, but
I have not had any luck.

My project is in C#, but I can translate from any programming language.

If any of you good folks could point me in the right direction, I would
appreciate it very much.

My kindest regards,

Adam
 
Chris, I am actually using OpenNETCF to build my project, but the
Adapter class does not work correctly for me, so I was hoping to
discover the cause, fix it and contibute my solution back to the
project. I'm not sure that there is enough information in the Adapter
source code for me to be able to fix it, so I am hoping that someone
who knows about the low-level interaction with these devices can
provide more info.

For what it is worth, my hardware is a Dell Axim 5 running PocketPC
4.20 with a Symbol CF 802.11b card. Of course, I am hoping that my
application will work on all PPC/wireless card combos.

Adam
 
"does not work correctly for me" is pretty useless information. What
happens? Have you single-stepped through to see where whatever is happening
is happening? Are you using the latest code? There have been many changes
rolled in over time.

Paul T.
 
Sorry that I didn't provide a core dump. I was planning to try to
figure out the cause of the problem myself, thus my original request
for information about the adapters themselves.

Yes, I have stepped through the code as it executes.

My wireless CF card is found as an Adapter.
IsWireless returns false. Inside SignalStrengthInDecibels,
retval = NDISUIOPInvokes.DeviceIoControl... returns false.

Ignoring that (as I know it is a wireless adapter), I call
NearbyAccessPoints.
Inside RefreshList, whether it is being called by the constructor or
being called from my code, again the NDISUIOPInvokes.DeviceIoControl
call returns false.

That call is perfectly opaque to me right now, but if someone call
point me to some info about it, I might be able to work this out.
 
And you have the latest code from the Vault? If IsWireless returns false,
then the wireless card driver is not set up to use the Windows Zero Config
API/UI in Windows CE. The code asks WZC for information on the indicated
adapter name and, if something is returned, it's wireless; if an error comes
back, it's not, as far as WZC is concerned. The only way to make that work
if this is returning an error would be to get a driver for your 'card' which
*is* designed to work with WZC.

If the WZC UI *is* used to configure the wireless 'card' (the standard
Windows CE dialog showing nearby access points pops up for configuration of
the card, as opposed to configuring it via a Control Panel applet or
external application), then we'll need to debug into the source for the
Adapter class to track the problem down. Debug into IsWireless() first, as
that's central to having anything else that has to do with wireless work.
Double-check the adapter name and make sure that it matches the name of the
adapter shown in the Network & DialUp Connections applet on the device. If
it doesn't there is a problem. If it does match and the call to
WZCQueryInterface() still returns an error, then the driver doesn't support
WZC and no minor changes to Adapter are going to make it work.

Paul T.
 
I believe that I have version 1.2. I don't see any WZC calls inthe
version of Adapter.cs that I have.
 
Then it's pretty old. IsWireless() makes that WZC call as part of its
function.

You can get the source for 1.3 from Vault. The instructions for getting the
latest code can be found at:

www.opennetcf.org/sdf

There's little point in working with what you have that I can think of,
except for experience value, maybe. There have been so many additions and
fixes that, even if we found a problem and fixed it in your version of the
code, that might not help us with the latest version.

Paul T.

Adam said:
I believe that I have version 1.2. I don't see any WZC calls inthe
version of Adapter.cs that I have.
And you have the latest code from the Vault? If IsWireless returns false,
then the wireless card driver is not set up to use the Windows Zero Config
API/UI in Windows CE. The code asks WZC for information on the indicated
adapter name and, if something is returned, it's wireless; if an error comes
back, it's not, as far as WZC is concerned. The only way to make that work
if this is returning an error would be to get a driver for your 'card' which
*is* designed to work with WZC.

If the WZC UI *is* used to configure the wireless 'card' (the standard
Windows CE dialog showing nearby access points pops up for configuration of
the card, as opposed to configuring it via a Control Panel applet or
external application), then we'll need to debug into the source for the
Adapter class to track the problem down. Debug into IsWireless() first, as
that's central to having anything else that has to do with wireless work.
Double-check the adapter name and make sure that it matches the name of the
adapter shown in the Network & DialUp Connections applet on the device. If
it doesn't there is a problem. If it does match and the call to
WZCQueryInterface() still returns an error, then the driver doesn't support
WZC and no minor changes to Adapter are going to make it work.

Paul T.

Adam said:
Sorry that I didn't provide a core dump. I was planning to try to
figure out the cause of the problem myself, thus my original request
for information about the adapters themselves.

Yes, I have stepped through the code as it executes.

My wireless CF card is found as an Adapter.
IsWireless returns false. Inside SignalStrengthInDecibels,
retval = NDISUIOPInvokes.DeviceIoControl... returns false.

Ignoring that (as I know it is a wireless adapter), I call
NearbyAccessPoints.
Inside RefreshList, whether it is being called by the constructor or
being called from my code, again the NDISUIOPInvokes.DeviceIoControl
call returns false.

That call is perfectly opaque to me right now, but if someone call
point me to some info about it, I might be able to work this out.

Paul G. Tobey [eMVP] wrote:
"does not work correctly for me" is pretty useless information. What

happens? Have you single-stepped through to see where whatever is
happening
is happening? Are you using the latest code? There have been many
changes
rolled in over time.

Paul T.

Chris, I am actually using OpenNETCF to build my project, but the
Adapter class does not work correctly for me, so I was hoping to
discover the cause, fix it and contibute my solution back to the
project. I'm not sure that there is enough information in the
Adapter
source code for me to be able to fix it, so I am hoping that
someone
who knows about the low-level interaction with these devices can
provide more info.

For what it is worth, my hardware is a Dell Axim 5 running PocketPC
4.20 with a Symbol CF 802.11b card. Of course, I am hoping that my
application will work on all PPC/wireless card combos.

Adam

Chris Tacke, eMVP wrote:
The Adapter class in the SDF provides this.

www.opennetcf.org/sdf


--
Chris Tacke
Co-founder
OpenNETCF.org
Has OpenNETCF helped you? Consider donating to support us!
http://www.opennetcf.org/donate


I'm building a project which I would like to be able to talk
directly
to a wireless card to retreive the SSIDs of in-range access
points.
I've searched prety extensively for theis information using
Google,
but
I have not had any luck.

My project is in C#, but I can translate from any programming
language.

If any of you good folks could point me in the right direction,
I
would
appreciate it very much.

My kindest regards,

Adam
 
v1.3 is now available - www.opennetcf.org/sdf/

There have been a number of improvements and fixes in the OpenNETCF.Net
assembly so I'd recommend checking out this latest version

Peter

--
Peter Foot
Windows Embedded MVP
www.inthehand.com | www.peterfoot.net | www.opennetcf.org

Adam said:
I believe that I have version 1.2. I don't see any WZC calls inthe
version of Adapter.cs that I have.
And you have the latest code from the Vault? If IsWireless returns false,
then the wireless card driver is not set up to use the Windows Zero Config
API/UI in Windows CE. The code asks WZC for information on the indicated
adapter name and, if something is returned, it's wireless; if an error comes
back, it's not, as far as WZC is concerned. The only way to make that work
if this is returning an error would be to get a driver for your 'card' which
*is* designed to work with WZC.

If the WZC UI *is* used to configure the wireless 'card' (the standard
Windows CE dialog showing nearby access points pops up for configuration of
the card, as opposed to configuring it via a Control Panel applet or
external application), then we'll need to debug into the source for the
Adapter class to track the problem down. Debug into IsWireless() first, as
that's central to having anything else that has to do with wireless work.
Double-check the adapter name and make sure that it matches the name of the
adapter shown in the Network & DialUp Connections applet on the device. If
it doesn't there is a problem. If it does match and the call to
WZCQueryInterface() still returns an error, then the driver doesn't support
WZC and no minor changes to Adapter are going to make it work.

Paul T.

Adam said:
Sorry that I didn't provide a core dump. I was planning to try to
figure out the cause of the problem myself, thus my original request
for information about the adapters themselves.

Yes, I have stepped through the code as it executes.

My wireless CF card is found as an Adapter.
IsWireless returns false. Inside SignalStrengthInDecibels,
retval = NDISUIOPInvokes.DeviceIoControl... returns false.

Ignoring that (as I know it is a wireless adapter), I call
NearbyAccessPoints.
Inside RefreshList, whether it is being called by the constructor or
being called from my code, again the NDISUIOPInvokes.DeviceIoControl
call returns false.

That call is perfectly opaque to me right now, but if someone call
point me to some info about it, I might be able to work this out.

Paul G. Tobey [eMVP] wrote:
"does not work correctly for me" is pretty useless information. What

happens? Have you single-stepped through to see where whatever is
happening
is happening? Are you using the latest code? There have been many
changes
rolled in over time.

Paul T.

Chris, I am actually using OpenNETCF to build my project, but the
Adapter class does not work correctly for me, so I was hoping to
discover the cause, fix it and contibute my solution back to the
project. I'm not sure that there is enough information in the
Adapter
source code for me to be able to fix it, so I am hoping that
someone
who knows about the low-level interaction with these devices can
provide more info.

For what it is worth, my hardware is a Dell Axim 5 running PocketPC
4.20 with a Symbol CF 802.11b card. Of course, I am hoping that my
application will work on all PPC/wireless card combos.

Adam

Chris Tacke, eMVP wrote:
The Adapter class in the SDF provides this.

www.opennetcf.org/sdf


--
Chris Tacke
Co-founder
OpenNETCF.org
Has OpenNETCF helped you? Consider donating to support us!
http://www.opennetcf.org/donate


I'm building a project which I would like to be able to talk
directly
to a wireless card to retreive the SSIDs of in-range access
points.
I've searched prety extensively for theis information using
Google,
but
I have not had any luck.

My project is in C#, but I can translate from any programming
language.

If any of you good folks could point me in the right direction,
I
would
appreciate it very much.

My kindest regards,

Adam
 
Thanks, Paul and Peter, I'll check out the latest version and see if
that gives me better results.

I am a little worried that my Symbol CF card isn't WZC-compatible, as I
had to install Symbol's special Wireless Networker application to get
it to work, but that's another battle.

Regards,

Adam
 
Symbol is not WZC compatible, no. If there's an API for it, I don't know
about it, either. Symbol seems to be trying very hard to get out of the
wireless card business, probably concentrating on chipsets for wireless
support in their own handhelds, etc.

Paul T.
 
I've been able to use the Symbol CF Spectrum 24 cards with WZC as long as
the Symbole driver hasn't been installed. Once installed, it hijacks the
WZC.

--
Chris Tacke
Co-founder
OpenNETCF.org
Has OpenNETCF helped you? Consider donating to support us!
http://www.opennetcf.org/donate
 
Chris,

What driver did you use? Any special limitations or registry requirements?

Paul T.
 
Back
Top