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 21:42:06 -0400 (EDT)
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]