From: Denis V. <vd...@po...> - 2004-08-14 22:18:42
|
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. =46irst 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 =3D=3D 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 =A0 =A0 fixed rate, 11Mbit/s (cck) basic rate iwpriv wlan0 set_rate 22 =A0 =A0 fixed rate, 22Mbit/s (pbcc) basic rate iwpriv wlan0 set_rate 5,11 =A0 =A0 auto rate, both 5.5 and 11Mbit/s (cck) are basic rates iwpriv wlan0 set_rate "5 11,22" =A0 =A0 auto rate, 5.5 is basic rate, 11 (cck) and 22(pbcc) extended rates iwpriv wlan0 set_rate "5 11p,22" =A0 =A0 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" =A0 =A0 auto rate, 1,2,5.5,11 are basic, everything else =A0 =A0 are extended rates, using ofdm iwpriv wlan0 set_rate "6 9,12,18,24,36,48,54" =A0 =A0 6 (ofdm) basic rate, 9,12,18,24,36,48,54 (ofdm) extended =A0 =A0 it is an '11g-only' setup: use only 11g-rates with ofdm, =A0 =A0 will interfere with 11b equipment iwpriv wlan0 set_rate "6d 9d,12d,18d,24d,36d,48d,54d" =A0 =A0 6 (cckofdm) basic rate, g-rates (cckofdm) extended =A0 =A0 '11g 11b-compatible' setup: use only g-rates with cckofdm, =A0 =A0 11b stations in the area can detect signal and avoid collisions =A0 =A0 (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 futur= e? * whitespace is made consistent with rest of the driver * leak fixed * rate settings will survive reset now Comments? =2D- vda |