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
|