[Prism54-devel] [PATCH/RFC] set_rates support for prism54

Denis Vlasenko vda at port.imtp.ilyichevsk.odessa.ua
Sat Aug 14 22:18:30 UTC 2004


Hi all,

This patch adds new private ioctl:

iwpriv <iface> set_rate "1,2,5,11 11p,24d"

Similar ioctl is already added to acx100 driver.
With these ioctl, I managed to connect acx100
STA to prism54 AP using only ofdm modulation.

Syntax: two space delimited lists.
First one defines basic rate set, second one
lists additional usable rates and is optional.

Syntax of lists: comma separated list of
rates in Mbit/s, rounded down to integer value
(translation: 5 == 5.5Mbit/s), optionally suffixed
by modulation. Currently valid suffixes are:
c: cck
d: cckofdm
o: ofdm
p: pbcc
more will be added as new standards emerge.

When suffix is omitted, it defaults to "natural" modulation
for given rate. Here are default and currently
allowed alternative modulations, default is listed first:
1,2:(no suffixes allowed)
5:cck pbcc
11:cck pbcc
22:pbcc
33:pbcc
other rates:ofdm

Driver will refuse ioctl if it cannot satisfy it precisely.

Examples:

iwpriv wlan0 set_rate 11
    fixed rate, 11Mbit/s (cck) basic rate
iwpriv wlan0 set_rate 22
    fixed rate, 22Mbit/s (pbcc) basic rate
iwpriv wlan0 set_rate 5,11
    auto rate, both 5.5 and 11Mbit/s (cck) are basic rates
iwpriv wlan0 set_rate "5 11,22"
    auto rate, 5.5 is basic rate, 11 (cck) and 22(pbcc) extended rates
iwpriv wlan0 set_rate "5 11p,22"
    auto rate, 5.5 is basic rate, 11 (pbcc) and 22(pbcc) extended rates
iwpriv wlan0 set_rate "1,2,5,11 6,9,12,18,24,36,48,54"
    auto rate, 1,2,5.5,11 are basic, everything else
    are extended rates, using ofdm
iwpriv wlan0 set_rate "6 9,12,18,24,36,48,54"
    6 (ofdm) basic rate, 9,12,18,24,36,48,54 (ofdm) extended
    it is an '11g-only' setup: use only 11g-rates with ofdm,
    will interfere with 11b equipment
iwpriv wlan0 set_rate "6d 9d,12d,18d,24d,36d,48d,54d"
    6 (cckofdm) basic rate, g-rates (cckofdm) extended
    '11g 11b-compatible' setup: use only g-rates with cckofdm,
    11b stations in the area can detect signal and avoid collisions
    (am I right here?)

Notes:
* ioctl takes ASCIIZ string as a parameter. This is intentional.
  I think that in this case, ASCII format is more flexible and future-proof
  than binary, while not being too hard to parse.
* setrates.c (contains parser) compiles down to 1k of code+data.
  Jean, do you see any problems with moving it into wireless.c in the future?
* whitespace is made consistent with rest of the driver
* leak fixed
* rate settings will survive reset now

Comments?
--
vda
-------------- next part --------------
A non-text attachment was scrubbed...
Name: prism54-n.1.setrate.patch
Type: text/x-diff
Size: 10219 bytes
Desc: not available
Url : http://prism54.org/pipermail/prism54-devel/attachments/20040815/16f53574/prism54-n.1.setrate-0001.bin


More information about the Prism54-devel mailing list