On Wed, 2009-06-03 at 15:03 +0300, Paulius Zaleckas wrote:
> Hi all,
> 
> Currently WiMAX op_nap_scan supports scanning for NAP only
> by NAP channel info. Fujitsu devices also supports scanning
> by Mobile WiMAX RF profiles and also can scan whole supported
> frequency ranges. Actually later version of Fujitsu chip does
> not support scanning by a single frequency!

Since the stack was developed against a single implementation (nobody
else was developing Linux drivers or stuff at the time) the current
stack reflects the best guesses of the Intel guys about what other
hardware can do.  So it's not surprising that stuff would need to be
extended later.  Scanning was specifically part of the API that was
*under* specified because nobody was quite sure what other chips could
do.

> It is not a problem for me to add something like op_nap_scan_all
> and op_nap_scan_rf_profiles. However there are some open questions:

I was pretty sure the Intel parts could do a "wide" scan, scanning all
frequencies they supported too.  Or something like that.

> 1. IMO it would be better/cleaner to not define functions just
>    returning -EOPNOTSUPP in driver. WiMAX core could just check if
>    function is not defined and return -EOPNOTSUPP ?
>    This should also make it easier to add more functions later,
>    since you won't have to update all drivers.
> 
> 2. Connection manager needs to know which scanning methods are
>    supported (instead of calling each and checking if it returns
>    -EOPNOTSUPP). Should we extend capability flags?

Yes.  Connection managers need some way of figuring out what
capabilities hardware supports so they can make intelligent decisions
about what to do.  Lets be careful about adding too many scan methods
though...

For example, if you can scan an RF profile, how is the connection
manager supposed to figure out *which* RF profiles the card supports, so
that it can tell the card to scan a particular RF profile based on what
country the user is in, for example?  In the end that's basically
frequency ranges anyway.

So maybe just allowing scans based on frequency ranges would be easier?
The connection manager is easier to update, and more frequently updated,
and thus it might make sense to put the logic of RF profiles in the
connection manager (or the wimax network service) and have it translate
profile -> frequency range, instead of encoding the logic about RF
profiles in the user <-> kernel ABI.

Not sure, thoughts?  Experience has shown that stuff like RF profiles
and frequency ranges tend to grow over time, become re-specified and
changed pretty frequently, and get quite complicated 3 years down the
road.  Even with licensed spectrum.

> 3. I guess we will need to implement netlink interface for
>    connection manager to get supported frequencies, FFT sizes,
>    bandwidths, RF profiles and etc. Do you agree?

Yes.  If the connection manager can't figure out the capabilities of the
device, it can't make intelligent decisions about the device, and it
can't make things easier for the user.  I for one really want to be able
to get supported frequencies out of the device.  If I'm a connection
manager, and I know the user is in Europe, I don't want to even try
scanning on 2.6 GHz.  But unless the card exposes what frequencies it
supports, I either have to (a) hardcode VID/PID/driver <-> frequency
ranges, or (b) risk regulatory problems/take a long time to scan.

Dan


_______________________________________________
wimax mailing list
[email protected]
http://lists.linuxwimax.org/listinfo/wimax

Reply via email to