Search Linux Wireless

Re: [PATCH 01/19] orinoco: Add ESSID specific scanning for Agere fw

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

 



On Tue, 2008-08-05 at 18:48 -0400, Pavel Roskin wrote:
> On Tue, 2008-08-05 at 17:55 -0400, Dan Williams wrote:
> > On Tue, 2008-08-05 at 17:15 -0400, Pavel Roskin wrote:
> 
> > > If I use 32-bit kernel with 32-bit userspace, essid filtering works, but
> > > only to a degree.  Old scan results are cached somewhere, so if I scan
> > > with essid and then without essid, I get filtered results.  Likewise, If
> > > I don't use filtering the first time, but use it the second time, I get
> > > unfiltered results.
> > 
> > Scanning for a specific SSID never has "filtered" the results, nor
> > should it.  It just probe-scans the requested SSID and return any new
> > results in with the cached ones.  You requested an SSID scan, thus you
> > must know the SSID, thus you can do the filtering yourself?
> 
> Perhaps I used a wrong word.  If requesting a scan, I expect to get
> results from a scan with the parameters I supplied.  If the scan results
> are from a scan with different parameters, I don't want them.  I'd
> rather see the driver return EAGAIN than results of a scan with
> different parameters.

I'm not quite sure what you mean here.  You mean to say that if you
request a specific SSID scan, and the driver does not find that SSID,
that it should return EAGAIN?  I think that would be overloading EAGAIN
too much, since for scans EAGAIN means "I'm not done with your scan
request yet".

> The userspace is welcome to keep a pool of all APs found by any scans,
> but I don't think drivers should do it.

Drivers need to keep a reasonably complete list of APs internally for
association anyway.  You don't want to have to do a full scan just to
associate if you have results from 10 seconds ago that are still valid.
Furthermore, drivers need to keep cached results so that two processes
can request results of a scan after the scan is complete.  The previous
situation where the driver would clear the scan list whenever GIWSCAN
was called just sucked because then two processes would race for the
results after an IWSCAN event and one would get nothing.

A scan is a global result, not a result specific to the request.  Thus,
since any process can read the results, and since only one process is
privy to the details of how the scan was performed with WEXT, you have
to return a complete list of results for each call to GIWSCAN.

Honestly, I don't think it's that much of a problem for the userspace
process that actually requested the scan to keep it's scan parameters
around and filter the results that come back using those parameters.

Dan

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux