2009-10-06 12:19:27

by Holger Schurig

[permalink] [raw]
Subject: question about cfg80211_inform_bss()

Hi !

I did implement the cfg80211 scan command in libertas. Now I'm
about to submit the results back to cfg80211. AFAIK I have to
use cfg80211_inform_bss() for this.

There's just one subtle problem here:

I tell the firmware of libertas card to scan on some channels,
e.g. on 4 channels at a time. The firmware does this, and then
sends me back a scan response. This scan response may contain
any number of APs, from different channels. I don't know which
BSS entry belongs to which channel --- unless I parse the
also-supplied IE.

However, cfg80211_inform_bss() want's a channel. And it wants the
IEs as well. A presume it scans those IEs, too. So do we need to
parse the IEs twice?

--
http://www.holgerschurig.de


2009-10-06 17:43:24

by Dave Kilroy

[permalink] [raw]
Subject: Re: question about cfg80211_inform_bss()

Holger Schurig wrote:
> However, cfg80211_inform_bss() want's a channel. And it wants the
> IEs as well. A presume it scans those IEs, too. So do we need to
> parse the IEs twice?

That is what orinoco does.

It's slightly worse for non-WPA firmware on orinoco. They supply ssid
and supported rates in a structure, and don't give access to the
original IEs - so the driver has to reconstruct the approporiate IE as
best it can, so cfg80211 can export them (all in orinoco/scan.c).



Dave.