Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: [RFC][PATCH] orinoco: Handle extended Agere scans available on 9.xx fir: msg#00000

Subject: Re: [RFC][PATCH] orinoco: Handle extended Agere scans available on 9.xx firmwares
Dan Williams wrote:
> On Wed, 2007-11-28 at 00:08 +0000, Dave wrote:
>> This provides more information than the standard Agere scan, including
>> the WPA IE.
>>
>> With the extended scan, we get a separate interrupt for each detected AP 
>> (unlike the hostscan which responds with all APs in a single interrupt). 
>> Scan completion is signalled by a final interrupt with zero sized payload.
>>
>> The extended scan payload is 270 bytes cf 76 for the host scan payloads, and 
>> the structure is completely different.
>>
>> The BSS lists are reused to hold the larger scan payload. This requires 
>> delaying initialisation of the list until we know what firmware support we 
>> have.  The list is cleared down when the scan is initiated, and each 
>> response is added to the list in the interrupt.
> 
> Is you intention that only cards that support the extended scan should
> allocate the extra memory?

That was the idea. Not only do you need a specific chipset, but you also need a 
specific firmware version which has to be downloaded. I reckon that means only 
a small proportion or orinoco users can use the extended scan. Hence the effort 
to save other users a bit of memory.

> It would make the code cleaner to just have
> a union in the BSS record for both the host scan and the extended scan,
> and select where appropriate.  Makes the code cleaner at the cost of
> more allocated memory for all cards, even those that don't need it.  Up
> to you; 128 BSSs * 270 = 34,560 bytes, 128 * 76 = 9,728 bytes.
> 
>> Separate functions process the extended payload.
>>
>> Patch includes some general cleanup of the scan parsing routine.
> 
> I also just posted a patch to linux-wireless that incorporates your
> comments to my previous patch for scan aging; it'll stomp on (but
> incorporates) your changes to orinoco_process_scan_results().

Yep. Saw that. I've updated my tree, and will resend this patch after I've made 
sure it's still working.

> Also, can either of the scan commands (either host_scan or extended
> scan) take SSID, BSSID, channel list, or scan type as inputs?  Those
> aren't currently implemented, though the iw_scan_ext structure can pass
> those through in the SIWSCAN handler.

For Agere firmwares, the patch at 
<http://marc.info/?l=orinoco-devel&m=119602622106895&w=4> enables SSID specific 
scanning for both hostscan and extended scan types. I don't know if Intersil or 
Symbol support it.

It looks like both the Agere extended scan and Intersil firmware can take a 
channel list as input, but I'd need to play around with it a bit. In particular 
I need to find a userspace command to pass a channel list. And I've only an 
Agere card so can't test the Intersil.

Wrt BSSID, I haven't seen anything which indicates any of the cards are capable 
of it.

> All in all, looks like a good cleanup to me from my readthrough; haven't
> tested the patch though.

Thanks for the input,

Dave.

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php


<Prev in Thread] Current Thread [Next in Thread>