Re: NetworkManager and IPW2100



Ryan,

What's worse, the driver doesn't return quality data for scanned access 
points:

ieee80211_wx.c:ipw2100_translate_scan()

#if 0
	/* Add quality statistics */
	/* TODO: Fix these values... */
	iwe.cmd = IWEVQUAL;
	iwe.u.qual.qual = network->stats.signal;
	iwe.u.qual.level = network->stats.rssi;
	iwe.u.qual.noise = network->stats.noise;
	iwe.u.qual.updated = network->stats.mask & 
IEEE80211_STATMASK_WEMASK;

	start = iwe_stream_add_event(start, stop, &iwe, IW_EV_QUAL_LEN);
#endif

There's your answer :)

Dan

On Sun, 24 Oct 2004, Dan Williams wrote:

> 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
> _______________________________________________
> NetworkManager-list mailing list
> NetworkManager-list gnome org
> http://mail.gnome.org/mailman/listinfo/networkmanager-list
> 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]