Bug in opennetcf.net with hx4700?

  • Thread starter Eric Guevremont
  • Start date
E

Eric Guevremont

There seems to be a problem with retrieving adapter information in
openNETCF. I can retrieve all the adapters correctly using
Networking.getAdapters, but it does not recognize my wifi adapter as
being wireless: adapter.IsWireless returns false, when it should be
returning true. It is correctly recognized as an Ethernet adapter though.

The wireless adapter's name is TIACXWLN1 on an ipaq hx4700 (Windows
Mobile 2003). I am using the latest opennetcf source.

Has anyone seen this problem before? Is there a way to fix it?

Thanks,

Eric
 
P

Paul G. Tobey [eMVP]

Unless the adapter returns proper information to NDIS indicating that it's a
wireless adapter, it will be treated as an Ethernet adapter (because that's
pretty much what it is; only the transmission medium is different). Do you
use the Windows Zero Config dialogs to configure and control the wireless
adapter settings or is there a separate Control Panel applet or application
to set SSID, etc.? If the latter, I'd say that it's behaving perfectly
as-is.

Paul T.
 
E

Eric Guevremont

I looked into it, and I do believe that there is a bug in IsWireless (in
Adapter). IsWireless is defined as follows:

get {return ( (Type == AdapterType.Ethernet) &&
(SignalStrengthInDecibels != 0) ); }

I have found that on my device (hx4700), SignalStrengthInDecibels
returns 0 or a negative number, even though the wireless connection is
working: I first detect an access point, and then I check if the device
is wireless.

By the way, I checked and the registry information for the adapter does
specify that it is a wireless adapter.

Eric
 
P

Paul G. Tobey [eMVP]

I don't see anything wrong with that. If your adapter returns that it is
Ethernet, which all of the 802.11 adapters I've seen do, and if it returns
anything other than 0 for signal strength, it should be classed as a
wireless adapter. When/if your adapter returns 0, it might temporarily be
treated as not a wireless adapter, true, but there is no well-defined way,
as the comment indicates, to tell that a given adapter is wireless. The
registry does not indicate this in any standard way that I've seen. What
are you looking at there?

Paul T.
 
E

Eric Guevremont

I was looking at \HKLM\Comm\tiacxwln1\Wireless.
That key has a value of 1.

I am just confused as to why the adapter's signal strenght (in decibels)
would be 0 *after* having already detected some access points.

In the end, I am just looking for a consistent way to detect that my
device has a wireless adapter.

Any ideas?
 
P

Paul G. Tobey [eMVP]

OK, that's *not* a key set by any other wireless card that I've seen.

You'd have to trace execution of the code and see where the zero comes from.
There are several errors that might occur during the processing of the data
to come up with a signal strength. Depending on which one occurs, you might
be able to figure out what the driver is doing and account for it.

I'll take another look and see if there's a reliable way to identify that...

Paul T.
 
P

Paul G. Tobey [eMVP]

I've made a change to the latest source which I think may be somewhat more
reliable than the old way. At least in my test system, running it on an
unassociated adapter returns the right answer for IsWireless. There are
still cases, a Cisco adapter driven by the *Cisco*, rather than the
Microsoft, driver, for example, where the adapter will appear to be a simple
Ethernet adapter. I don't see a solution for that case, however.

You should be able to get Adapter.cs from the OpenNETCF.Net project here:

http://vault.netcf.tv/VaultService/VaultWeb/login.aspx

username: guest
password: guest

Paul T.
 
E

Eric Guevremont

Thanks Paul for all the help.
My adapter is now recognized as wireless.

Cheers,

Eric
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top