Re: NetworkManager and IPW2100
- From: Dan Williams <dcbw redhat com>
- To: Ryan Skadberg <skadz1 gmail com>
- Cc: networkmanager-list gnome org
- Subject: Re: NetworkManager and IPW2100
- Date: Sun, 24 Oct 2004 20:36:13 -0400 (EDT)
On Sun, 24 Oct 2004, Ryan Skadberg wrote:
> My assumption is that it is an IPW2100 issue, but I wanted to make
> sure no one else has this working first.
> 
> The next question would be, how is NetworkManager checking signal
> strength?  And then, what does it expect to get?  I'd like to go to
> the IPW2100 developers and see if I can get them to fix this ASAP.
Ryan,
NetworkManager uses the iw_get_stats/iw_get_range combo, like most other 
applications that do signal strength for the current connection (old GNOME 
wireless applet, netapplet).
	has_range = (iw_get_range_info (iwlib_socket, nm_device_get_iface 
(dev), &range) >= 0);
	if (iw_get_stats (iwlib_socket, nm_device_get_iface (dev), &stats, 
&range, has_range) == 0)
	{
		/* Update our max quality while we're at it */
		dev->options.wireless.max_quality = range.max_qual.level;
		dev->options.wireless.noise = stats.qual.noise;
		percent = nm_wireless_qual_to_percent (dev, 
&(stats.qual));
	}
What your problem appears to be is that the ipw2100 drivers _dont_ 
_support_ the SIOCGIWSTATS ioctl(), which NetworkManager really wants.  I 
appears there is fallback code in iwlib (from wireless-tools) to read from 
/proc, but that' won't necessarily do the right thing.  The driver should 
really support SIOCGIWSTATS, not just SIOCGIWRANGE.
ipw2100.c:
static iw_handler ipw2100_wx_handlers[] = 
{
...
        NULL,                     /* SIOCGIWSTATS */
...
};
In any case, can you do 'cat /proc/net/wireless' and post the results to 
the list here?
Thanks!
Dan
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]