external/wireless-tools
Revisión | 41b8e9b1157054ddcb90e68f1b12707811c90361 (tree) |
---|---|
Tiempo | 2019-06-11 19:01:36 |
Autor | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Update to v30-pre9
@@ -5,9 +5,9 @@ | ||
5 | 5 | # when udev runs (i.e. on boot partition). |
6 | 6 | |
7 | 7 | # Enable this rule to test with udevtest. |
8 | -#ENV{UDEV_LOG}=="6", SUBSYSTEM=="net", ACTION=="add", IMPORT="/sbin/ifrename -D -V -u -i %k", NAME:="%k" | |
8 | +#ENV{UDEV_LOG}=="6", SUBSYSTEM=="net", ACTION=="add", IMPORT="/sbin/ifrename -D -V -u -i %k", NAME:="$env{INTERFACE}" | |
9 | 9 | |
10 | 10 | # Main ifrename rule. |
11 | 11 | # If interface is found in /etc/iftab, subsequent rename rules are bypassed. |
12 | 12 | # If interface is not found in /etc/iftab, subsequent rename rules applies. |
13 | -SUBSYSTEM=="net", ACTION=="add", IMPORT="/sbin/ifrename -u -i %k", NAME:="%k" | |
13 | +SUBSYSTEM=="net", ACTION=="add", IMPORT="/sbin/ifrename -u -i %k", NAME:="$env{INTERFACE}" |
@@ -740,6 +740,60 @@ | ||
740 | 740 | * --- |
741 | 741 | * (Bug reported by Florent Daignière) |
742 | 742 | * o Don't look for "fixed" out of array in set_txpower_info() [iwconfig] |
743 | + * | |
744 | + * wireless 30 : | |
745 | + * ----------- | |
746 | + * (Suggested by Johannes Berg <johannes@sipsolutions.net>) | |
747 | + * o Display non-ASCII char in ESSID using escape sequence [iwlib] | |
748 | + * o Allow input of non-ASCII char in ESSID using escape sequence [iwlib] | |
749 | + * --- | |
750 | + * o Fix probing to not probe wildcards (left over '%d'->'*') [ifrename] | |
751 | + * o Output number of mapping matched (display + exit status) [ifrename] | |
752 | + * (Bug reported by Ben Hutchings) | |
753 | + * o Don't load mapping file if using options '-n' + '-i' [ifrename] | |
754 | + * --- | |
755 | + * o When using takeover, redo probing in case eth0 was in use [ifrename] | |
756 | + * o Update Hotplug documentation, add uDev bits [HOTPLUG-UDEV.txt] | |
757 | + * o Add ESSID bug patches and documentation [ESSID-BUG.txt] | |
758 | + * o Make wireless.21.h LGPL as promised a long time ago [wireless.21.h] | |
759 | + * --- | |
760 | + * (Bug reported by Shaddy Baddah) | |
761 | + * o Fix unaligned access on SPARC in the 64->32 bit workaround [iwlib.c] | |
762 | + * --- | |
763 | + * (From Maxime Charpenne <maxime.charpenne@free.fr>) | |
764 | + * o Mise à jour de la traduction en francais des pages manuel [fr/*] | |
765 | + * --- | |
766 | + * o Use wireless.22.h, make it LGPL [iwlib.h/wireless.22.h] | |
767 | + * o Show Scanning Capabilities in "iwlist event" [iwlist] | |
768 | + * (Bug reported by Nikita Zhernosenko) | |
769 | + * o Fix parsing of retry/power when modifier is used [iwconfig] | |
770 | + * (Bug reported by Alexis Phoenix) | |
771 | + * o Remove trailing '/' in INSTALL_* that fooled checkinstall [Makefile] | |
772 | + * (From Dan Williams <dcbw@redhat.com>) | |
773 | + * o Scan capabilities in struct iw_range [wireless.h] | |
774 | + * (From Guus Sliepen <guus@debian.org>) | |
775 | + * o Install localised man page [Makefile] | |
776 | + * --- | |
777 | + * o Fix #define that broke 32->64 bit workaround [wireless.22.h] | |
778 | + * o Workaround kernel bug when getting ESSID [iwlib/iwconfig/iwgetid] | |
779 | + * (From Gerald Pfeifer <gerald@pfeifer.com>) | |
780 | + * o Fix gramar in man page, add about hidden networks [iwlist.8] | |
781 | + * --- | |
782 | + * (From Reinette Chatre <reinette.chatre@intel.com>) | |
783 | + * o Enable scan buffer to grow up to 65535 instead of 32768 [iwlist] | |
784 | + * o Return a proper error if scan result exceed buffer max [iwlist] | |
785 | + * (From Jean Tourrilhes) | |
786 | + * o Do above two fixes for the simple scan API [iwlib] | |
787 | + * (From Claudio Ferronato <claiudio@libero.it>) | |
788 | + * o Spelling and typos in [iwconfig.8] | |
789 | + * --- | |
790 | + * o Create iwlib-private.h to minimise namespace pollution [iwlib] | |
791 | + * o More fix to the 64->32bit band-aid for encode [iwlib] | |
792 | + * o Update udev rule to remove a warning [19-udev-ifrename.rules] | |
793 | + * (from Ritesh Raj Sarraf <rrs@researchut.com> and Guus Sliepen) | |
794 | + * o Propagate error codes out of main for get [iwconfig/iwlist/iwspy] | |
795 | + * (From Guus Sliepen <guus@debian.org>) | |
796 | + * o Remove spurious commands from Czech iwconfig manpage. | |
743 | 797 | */ |
744 | 798 | |
745 | 799 | /* ----------------------------- TODO ----------------------------- */ |
@@ -750,7 +804,6 @@ | ||
750 | 804 | * -------- |
751 | 805 | * Make disable a per encryption key modifier if some hardware |
752 | 806 | * requires it. |
753 | - * IW_QUAL_RCPI | |
754 | 807 | * |
755 | 808 | * iwspy : |
756 | 809 | * ----- |
@@ -764,6 +817,7 @@ | ||
764 | 817 | * ifrename : |
765 | 818 | * -------- |
766 | 819 | * Link Type should use readable form instead of numeric value |
820 | + * When using -p with -n, only the new name should be probed. | |
767 | 821 | * |
768 | 822 | * Doc & man pages : |
769 | 823 | * --------------- |
@@ -177,8 +177,8 @@ Debian Sarge, in the 'ifscheme' package. | ||
177 | 177 | The MAC address based mapping mentioned above is deprecated, |
178 | 178 | you should use 'ifrename' to assign a consistent interface name to |
179 | 179 | each of your network interface. This is documented in |
180 | -HOTPLUG.txt. This enable the combination of MAC address identification | |
181 | -of interfaces with scheme multi-configuration. | |
180 | +HOTPLUG-UDEV.txt. This enable the combination of MAC address | |
181 | +identification of interfaces with scheme multi-configuration. | |
182 | 182 | |
183 | 183 | ----- |
184 | 184 |
@@ -0,0 +1,38 @@ | ||
1 | + The ESSID bug | |
2 | + ------------- | |
3 | + | |
4 | + The latest Linux kernels have a bug in the handling of the | |
5 | +ESSID. The Linux kernel maintainers seems reluctant to fix this | |
6 | +bug. But, I've managed to find a way to workaround it in Wireless | |
7 | +Tools 30.pre7. | |
8 | + | |
9 | +Symptoms : | |
10 | +-------- | |
11 | + 1) There is a trailing '\x00' in the ESSID. | |
12 | + 2) If a ESSID with 32 character is set, it can not be read again. | |
13 | + http://madwifi.org/ticket/930 | |
14 | + 3) You can not set an ESSID with a trailing '\x00' | |
15 | + | |
16 | +Resolution : | |
17 | +---------- | |
18 | + The patch provided in the Wireless Tools package should fix | |
19 | +this problem. This patch remove a backward compatibility hack, and it | |
20 | +is safe as it simplify the code. | |
21 | + The patch need to be applied to the kernel, the kernel | |
22 | +recompiled and reinstalled. | |
23 | + If you have kernel 2.6.19 to 2.6.21 : | |
24 | + use iw261_restore_full_essid.diff | |
25 | + If you have kernel 2.6.22 or later : | |
26 | + use iw262_restore_full_essid.diff | |
27 | + I won't give detailed instructions because only people | |
28 | +confortable with kernel rebuild should attempt this. | |
29 | + | |
30 | +Workaround : | |
31 | +---------- | |
32 | + Using Wireless Tools 30.pre7 or later will cure syptoms (1) and (2). | |
33 | + Using Wireless Tools 29 or earlier will hide the trailing '\x00' | |
34 | +character (first symptom), but not the second and third symptoms. | |
35 | + | |
36 | + Good luck... | |
37 | + | |
38 | + Jean |
@@ -1,5 +1,5 @@ | ||
1 | - Sane network interface management with Hotplug | |
2 | - ---------------------------------------------- | |
1 | + Sane network interface management with Hotplug or uDev | |
2 | + ------------------------------------------------------ | |
3 | 3 | |
4 | 4 | INTRODUCTION |
5 | 5 | ------------ |
@@ -11,13 +11,15 @@ Pcmcia subsystem for PCI and USB, it was decided to create the much | ||
11 | 11 | simpler Hotplug system. |
12 | 12 | The USB subsystem already uses Hotplug. The Pcmcia subsystem |
13 | 13 | is migrating to it : CardBus cards (32 bits) already use Hotplug, |
14 | -whereas Pcmcia cards (16 bits) still use the old Pcmcia scripts. | |
15 | - The Hotplug system is still in its infancy, but already shows | |
16 | -some good promise. Most users are disappointed at first by its | |
17 | -apparent lack of features compared to the Pcmcia scripts. In this | |
18 | -document, we will show how to fully exploit the Hotplug system and try | |
19 | -to implement the equivalent of all the functionality of the Pcmcia | |
20 | -scripts. | |
14 | +whereas Pcmcia cards (16 bits) often still use the old Pcmcia scripts. | |
15 | + The Hotplug system is now very mature. Most users comming from | |
16 | +the old Pcmcia scripts are disappointed at first by its apparent lack | |
17 | +of features, however it is very flexible and powerful. The new uDev | |
18 | +system depend on Hotplug and integrates tightly with it. | |
19 | + In this document, we will show how to fully exploit the | |
20 | +Hotplug system and try to implement the equivalent of all the | |
21 | +functionality of the Pcmcia scripts. | |
22 | + | |
21 | 23 | |
22 | 24 | ASSUMPTIONS |
23 | 25 | ----------- |
@@ -30,6 +32,7 @@ configuration described in DISTRIBUTIONS.txt. | ||
30 | 32 | but we will to talk about network interface management in general, so |
31 | 33 | this should apply also to built-in Ethernet cards. |
32 | 34 | |
35 | + | |
33 | 36 | PROBLEM STATEMENT |
34 | 37 | ----------------- |
35 | 38 | Let's assume a Linux system and two or more network devices, |
@@ -53,6 +56,7 @@ interface names (starting at "eth0" and going up). I call that the | ||
53 | 56 | to a single fixed configuration in the configuration |
54 | 57 | database. Clearly, this won't satisfy our requirements. |
55 | 58 | |
59 | + | |
56 | 60 | EXAMPLE SYSTEM |
57 | 61 | -------------- |
58 | 62 | The distribution I use is Debian 3.0, and some parts of what I |
@@ -76,6 +80,7 @@ to this document. | ||
76 | 80 | has enough interfaces to make it interesting. All the examples I |
77 | 81 | present in this document are extracted from this system. |
78 | 82 | |
83 | + | |
79 | 84 | BASIC CONCEPTS |
80 | 85 | -------------- |
81 | 86 | Most of the concept and tricks presented here are not really |
@@ -86,25 +91,28 @@ new. The main contribution is to integrate them. | ||
86 | 91 | always present in this system and available at boot time (Pcmcia cards |
87 | 92 | were not made to be soldered in the Pcmcia slot). Therefore Hotplug is |
88 | 93 | the way to go. |
89 | - 2) Built-in PCI and ISA cards are managed by the init scripts, | |
94 | + 2) The Hotplug system can use either the original Hotplug | |
95 | +scripts or the uDev daemon with the uDev scripts. | |
96 | + 3) Built-in PCI and ISA cards are managed by the init scripts, | |
90 | 97 | as they have always been. The ISA subsystem will never have Hotplug |
91 | 98 | support, and hotplug is not necessary for PCI cards. |
92 | - 3) Built-in devices that are disable most of the time should | |
99 | + 4) Built-in devices that are disable most of the time should | |
93 | 100 | be enabled manually by the user. Therefore both Hotplug and the init |
94 | 101 | scripts should ignore those devices by default. |
95 | - 4) (1), (2) and (3) must be compatible on the same system and | |
102 | + 5) (1), (3) and (4) must be compatible on the same system and | |
96 | 103 | play nice with each other. |
97 | 104 | |
98 | - 5) A well defined and consistent network interface name is | |
105 | + 6) A well defined and consistent network interface name is | |
99 | 106 | assigned to each network hardware interface using 'ifrename'. Device A |
100 | 107 | is always named 'ethA' (or whatever name you like such as |
101 | 108 | 'mynetworkcard'). |
102 | - 6) No interface is called 'eth0' (or 'wlan0'). Any unknown | |
109 | + 7) No interface is called 'eth0' (or 'wlan0'). Any unknown | |
103 | 110 | device would be 'eth0', so known devices should be called something |
104 | -else. | |
105 | - 7) Multiple configurations for a single interface (schemes) | |
111 | +else. There are also other issues with using 'eth0'. | |
112 | + 8) Multiple configurations for a single interface (schemes) | |
106 | 113 | are managed by the ifup/ifdown subsystem. |
107 | 114 | |
115 | + | |
108 | 116 | CONFIGURATION FROM INIT SCRIPTS |
109 | 117 | ------------------------------- |
110 | 118 | It may seem paradoxical, but before setting up Hotplug, we |
@@ -145,8 +153,9 @@ can skip directly to the next section. | ||
145 | 153 | There are 3 alternatives to manage device drivers as |
146 | 154 | modules. |
147 | 155 | 1) Some distributions have an explicit list of modules |
148 | -that are loaded at boot time. If you want to use that feature you need | |
149 | -to check the documentation of your distribution. | |
156 | +that are loaded at boot time, usuall in /etc/modules. If you want to | |
157 | +use that feature you need to check the documentation of your | |
158 | +distribution. | |
150 | 159 | 2) Some system, such as Hotplug, Discover or Kudzu, |
151 | 160 | can scan the various buses of the PC and load the appropriate |
152 | 161 | drivers. This is mostly configuration-free, but may not support all |
@@ -188,27 +197,50 @@ obviously you don't want to touch that. | ||
188 | 197 | have (we'll fix that in a minute). Note that for modern PCI cards this |
189 | 198 | is much more straightforward than for old ISA cards. |
190 | 199 | |
200 | + When loading modules on-demand, you usually can not use the | |
201 | +name 'eth0' or other 'ethX' with a low number for your interfaces, as | |
202 | +on-demand module may fail to load them. If there is a unknown | |
203 | +interface or an interface not yet renamed on the system, it will be | |
204 | +eth0, and the system will assume the module for eth0 is already loaded | |
205 | +and will fail to load the proper module. | |
206 | + To test on-demand loading of module, you can do : | |
207 | +-------------------------- | |
208 | +> /sbin/modprobe -r eth2 | |
209 | +> /sbin/modprobe eth2 | |
210 | +-------------------------- | |
211 | + | |
191 | 212 | 3) Installing 'ifrename' |
192 | 213 | ------------------------ |
193 | 214 | You will need to install ifrename on your system. 'ifrename' |
194 | 215 | is part of the Wireless Tools package (version 27 and later) and is a |
195 | 216 | complete rewrite of the now obsolete 'nameif'. |
196 | - Some distributions, such as Debian Sarge, offer a separate | |
217 | + Some distributions, such as Debian 3.1/4.0, offer a separate | |
197 | 218 | package for 'ifrename', and in this case you should just install this |
198 | 219 | package. Other distributions may include ifrename as part of their |
199 | 220 | 'wireless-tools' package (this should be the case for Gentoo, Fedora |
200 | -and Mandrake). Other distributions, such as Debian 3.0, don't include | |
201 | -ifrename at all, so you should compile yourself a recent version of | |
202 | -Wireless Tools (v27 or later) and install it. | |
221 | +and Mandrake). Other distributions, such as Debian 3.0 and Unbuntu | |
222 | +7.10, don't include ifrename at all, so you should compile yourself a | |
223 | +recent version of Wireless Tools (v29 or later) and install it. | |
224 | + The installation of Wireless Tools is described in the INSTALL | |
225 | +file of the Wireless Tools package. If you plan to only use ifrename, | |
226 | +a good option is to compile a static version of Wireless Tools and | |
227 | +only copy the resulting ifrename executable. | |
203 | 228 | |
204 | 229 | In any case, you should verify that 'ifrename' is properly |
205 | 230 | installed and check the path needed to call it : |
206 | 231 | -------------------------- |
207 | 232 | > which ifrename |
208 | 233 | /sbin/ifrename |
234 | +> whereis ifrename | |
235 | +ifrename: /sbin/ifrename /usr/man/man8/ifrename.8 /usr/share/man/man8/ifrename.8.gz | |
209 | 236 | -------------------------- |
210 | - Most distributions will install 'ifrename' in '/sbin', while if | |
211 | -you compile your own wireless tools, it will be in '/usr/local/sbin'. | |
237 | + Most distributions will install 'ifrename' in '/sbin', while | |
238 | +if you compile your own wireless tools, by default it will be in | |
239 | +'/usr/local/sbin' (see Makefile on how to change that). | |
240 | + If you are upgrading ifrename from a previous version, you | |
241 | +should make sure that the new version of ifrename is either installed | |
242 | +in the same location (overwrite old version) or in a place earlier in | |
243 | +the PATH (check with whereis). | |
212 | 244 | |
213 | 245 | 4) Making the boot scripts call 'ifrename' |
214 | 246 | ------------------------------------------ |
@@ -219,9 +251,12 @@ to look into your own init files, or ask people familiar with your | ||
219 | 251 | distribution. It will need to run just before the call to 'ifup' or |
220 | 252 | 'ifconfig' command. |
221 | 253 | |
222 | - In Debian 3.0 and Debian Sarge, it needs to be run from | |
223 | -/etc/init.d/networking, which is not the default. The necessary patch | |
224 | -is below : | |
254 | + In Debian 4.0 (Etch) and later, the 'ifrename' package adds it | |
255 | +own init script at the right place, called /etc/init.d/ifrename. You | |
256 | +don't have to do anything. | |
257 | + In Debian 3.0 (Woody) and Debian 3.1 (Sarge), ifrename needs | |
258 | +to be run from /etc/init.d/networking, which is not the default. The | |
259 | +necessary patch to the init script is below : | |
225 | 260 | |
226 | 261 | ---------------------------------------------------------------- |
227 | 262 | --- networking-orig Wed Feb 18 13:56:23 2004 |
@@ -229,7 +264,7 @@ is below : | ||
229 | 264 | @@ -120,6 +120,15 @@ case "$1" in |
230 | 265 | doopt syncookies no |
231 | 266 | doopt ip_forward no |
232 | - | |
267 | + | |
233 | 268 | + # Optionally remap interface names based on MAC address. |
234 | 269 | + # '/sbin/ifrename' is part of wireless-tools package. |
235 | 270 | + # /etc/iftab is currently not created by default. Jean II |
@@ -267,7 +302,7 @@ bit looking around : | ||
267 | 302 | ----------------------------- |
268 | 303 | # modprobe pcnet32 |
269 | 304 | # ifconfig eth0 |
270 | -eth0 Link encap:Ethernet HWaddr 00:10:83:34:BA:E5 | |
305 | +eth0 Link encap:Ethernet HWaddr 00:10:83:34:BA:E5 | |
271 | 306 | [...] |
272 | 307 | ----------------------------- |
273 | 308 |
@@ -292,6 +327,10 @@ you have to manage large number of computers (like a rack of servers | ||
292 | 327 | or clusters), then you may want to look at other selectors offered by |
293 | 328 | 'ifrename'. |
294 | 329 | |
330 | + In this example, we used the MAC address of the card. Using | |
331 | +the MAC address is not always an option, there is a section at the end | |
332 | +of this document dedicated to those cases. | |
333 | + | |
295 | 334 | To test that ifrename works, do the following : |
296 | 335 | o Load all your drivers, see section (2) |
297 | 336 | o Check /proc/net/dev to see which interface exist |
@@ -328,14 +367,264 @@ iface eth2 inet static | ||
328 | 367 | This was the last part. Now, at your next boot, all your |
329 | 368 | interfaces should be assigned the proper name and the proper |
330 | 369 | configuration. |
370 | + If this is not the case, there is a troubleshooting section at | |
371 | +the end of this document. | |
331 | 372 | |
332 | -CONFIGURATION VIA HOTPLUG | |
333 | -------------------------- | |
373 | + | |
374 | +CONFIGURATION VIA UDEV | |
375 | +---------------------- | |
334 | 376 | Dealing with removable interfaces is similar to dealing with |
335 | -built-in interfaces, the main difference is that we will use the | |
336 | -Hotplug scripts instead of the init scripts. Another difference is | |
337 | -that it will likely require more work on your part because most | |
338 | -distributions are not fully ready for it. | |
377 | +built-in interfaces, the main difference is that we will use Hotplug | |
378 | +event with the uDev system instead of the init scripts. This requires | |
379 | +a fairly recent distributions, older distributions don't have uDev or | |
380 | +uDev system not capable enough. | |
381 | + Note that you can also use removable interfaces with the | |
382 | +original Hotplug scripts. This is detailed in the next section. The | |
383 | +installation of uDev changes a lot of things on a system, so may not | |
384 | +be for everybody, however recent version of Gnome and KDE seem to | |
385 | +require it. | |
386 | + | |
387 | + 1) Applicability | |
388 | + ---------------- | |
389 | + The Hotplug configuration method is the best choice for any | |
390 | +removable network interface, such as : | |
391 | + o Pcmcia (16 bits) network cards | |
392 | + o CardBus (32 bits) network cards | |
393 | + o USB network dongles | |
394 | + o Hot-PCI network cards | |
395 | + It may also be used to manage other types of network | |
396 | +interfaces, although it may not be the best choice for them. | |
397 | + | |
398 | + 2) How Hotplug works with the uDev scripts | |
399 | + ------------------------------------------ | |
400 | + When using uDev, the concept is similar to the original | |
401 | +Hotplug scripts, however the implementation is slightly less | |
402 | +transparent. Also, the name of the rules and the location of scripts | |
403 | +vary from distribution from distribution. | |
404 | + | |
405 | + When something interesting happens, the Linux kernel generates | |
406 | +an Hotplug event. The uDev deamon (udevd) receive the event, does some | |
407 | +processing on its own, use the rules in /etc/udev/rules.d/, and | |
408 | +finally run the proper script in /lib/udev/. | |
409 | + There are 3 types of Hotplug events we care about : | |
410 | + o PCI event : a CardBus device is added or removed | |
411 | +from the system. The hotplug rule loads the driver, in my case | |
412 | +/etc/udev/rules.d/z55_hotplug.rules. | |
413 | + o USB event : a USB device is added or removed from | |
414 | +the system. The hotplug rule loads the driver, in my case | |
415 | +/etc/udev/rules.d/z55_hotplug.rules. | |
416 | + o Network event : a network interface is added or | |
417 | +removed from the system. The script /lib/udev/net.agent is run. | |
418 | + | |
419 | + If we insert a CardBus network card in the system, the | |
420 | +following happens : | |
421 | + 1) Kernel detects new CardBus device | |
422 | + 2) Kernel generates PCI Hotplug event | |
423 | + 3) udevd receive the event, runs the Hotplug rule. | |
424 | + 4) The Hotplug rule find the proper driver module and loads it. | |
425 | + 5) Driver module initialises, creates new network device | |
426 | + 6) Kernel detects new network device | |
427 | + 7) Kernel generates Network Hotplug event | |
428 | + 8) /lib/udev/net.agent runs, configures network device | |
429 | + The sequence of events is similar for USB devices and for removals. | |
430 | + | |
431 | + 3) Installing uDev for Debian Lenny | |
432 | + ----------------------------------- | |
433 | + Thanks to the great work of many people, Debian Lenny has all | |
434 | +the necessary packages and complete udev support, and will work mostly | |
435 | +'out of the box'. | |
436 | + You will need to install the following packages : | |
437 | + o udev | |
438 | + o ifrename | |
439 | + | |
440 | + The configuration of Hotplug and uDev is simple. You only have | |
441 | +to modify the file /etc/network/interfaces to enable your interfaces | |
442 | +to be managed with Hotplug and uDev. | |
443 | + By default, ifup ignore all hotplug network events, as it | |
444 | +assume network interfaces are configured using the static init | |
445 | +scripts. To enable ifup to configure specific network interfaces on | |
446 | +hotplug events, you need to list those interface in a "allow-hotplug" | |
447 | +statement. | |
448 | + For example, your /etc/network/interfaces would include : | |
449 | +--------- /etc/network/interfaces ----------- | |
450 | +# Enable Hotplug support (Etch and later) | |
451 | +# | |
452 | +allow-hotplug prism0 acx0 | |
453 | +--------------------------------------------- | |
454 | + | |
455 | + 4) Installing uDev for Debian Etch (4.0) | |
456 | + ---------------------------------------- | |
457 | + The uDev system provided with Debian Etch (4.0) is fully | |
458 | +functional, except for one missing feature. This version of uDev can | |
459 | +not integrate with ifrename. The version of ifrename provided also | |
460 | +lacks uDev support. | |
461 | + If you want to use uDev with Debian Etch (4.0), there are two | |
462 | +possibilities. The first solution is use the uDev system to rename | |
463 | +interfaces, loosing some of the power of ifrename. The second solution | |
464 | +is to upgrade both udevd and ifrename. | |
465 | + | |
466 | + This is the procedure I personally use to upgrade udevd on | |
467 | +Debian Etch (4.0) : | |
468 | + o Get the canonical version of udev 107 from : | |
469 | + http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html | |
470 | + o Compile it with "make". | |
471 | + o Do not "make install" ! | |
472 | + o Run "strip udevd" | |
473 | + o Save a copy of the original udevd "cp /sbin/udevd /sbin/udevd.orig" | |
474 | + o Copy the new udevd with "cp udevd /sbin/udevd". | |
475 | + Note that udevd is an essential component of the OS. This | |
476 | +procedure should be safe, but I do not guarantee it will always be | |
477 | +safe. | |
478 | + | |
479 | + Upgrading ifrename is simple, this is like installing ifrename | |
480 | +and is described above in this document. | |
481 | + | |
482 | + Once those two packages are upgraded, you can go follow the | |
483 | +procedure going back to step (3). | |
484 | + | |
485 | + 5) Installing uDev for Debian Sarge (3.1) | |
486 | + ----------------------------------------- | |
487 | + The uDev system provided with Debian Sarge (3.1) is a very old | |
488 | +version of uDev that is not integrated with the Hotplug scripts. In | |
489 | +other words, if you install uDev with Sarge, you will still need to | |
490 | +use the original Hotplug scripts and configure your system with them. | |
491 | + | |
492 | + 6) Installing uDev on other distributions | |
493 | + -------------------------------------------- | |
494 | + The canonical version of hotplug is available at : | |
495 | + http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html | |
496 | + The mailing list for udev is the Hotplug mailins list : | |
497 | + http://linux-hotplug.sourceforge.net/ | |
498 | + http://marc.theaimsgroup.com/?l=linux-hotplug-devel&r=1&w=2 | |
499 | + | |
500 | + Most distributions have highly customized uDev packages and | |
501 | +most likely the canonical version won't completely work on your | |
502 | +system. The udevd deamon is has usually little changes, however the | |
503 | +rules and scripts are very different. | |
504 | + To be able to use uDev with ifrename, you will need uDev | |
505 | +version 107 and later, which has support for calling ifrename. You | |
506 | +will also need ifrename version 29.pre17 or later (I recommend version | |
507 | +29). Most modern distributions should already have those versions. | |
508 | + If this is the case, you only need to install the uDev and | |
509 | +ifrename package. If there is no ifrename package, it's easy to | |
510 | +compile it from source and install it. | |
511 | + | |
512 | + 7) Making uDev call ifrename | |
513 | + ---------------------------- | |
514 | + We need to make sure that 'ifrename' is run by the uDev | |
515 | +subsystem at the right time. Because of the complex way uDev works, | |
516 | +the smooth integration can only be done one way. Other methods may | |
517 | +leave the uDev system in a confused state, which may be a problem when | |
518 | +the card/interface is removed. | |
519 | + | |
520 | + Most often, the only thing to do it to copy the file | |
521 | +'19-udev-ifrename.rules' from the Wireless Tools package to the | |
522 | +directory "/etc/udev/rules.d/". It should work on most system. | |
523 | + | |
524 | + What follow is a detailed explanation of what this additional | |
525 | +rules does. | |
526 | + uDev needs to call ifrename as an IMPORT rule, and with the | |
527 | +right parameter. As I said, this requires uDev version 107 and later | |
528 | +and ifrename version 29.pre17 or later. | |
529 | + The ifrename rule need to be called *before* the 'persistent' | |
530 | +rules. I also like the ifrename rule to happen after local rules. The | |
531 | +uDev rules are processed in alphabetical orders, which is why the | |
532 | +rules filename start usually with numbers. However, those name vary | |
533 | +betwen distributions. Make sure the ifrename rule has a proper | |
534 | +filename for your distribution. | |
535 | + | |
536 | + The rules we add looks like this : | |
537 | +------ /etc/udev/rules.d/19-udev-ifrename.rules ------ | |
538 | +# Main ifrename rule. | |
539 | +# If interface is found in /etc/iftab, subsequent rename rules are bypassed. | |
540 | +# If interface is not found in /etc/iftab, subsequent rename rules applies. | |
541 | +SUBSYSTEM=="net", ACTION=="add", IMPORT="/sbin/ifrename -u -i %k", NAME:="%k" | |
542 | +------------------------------------------------------ | |
543 | + | |
544 | + Lastly, make sure the rule has the right path for ifrename : | |
545 | +-------------------------- | |
546 | +> which ifrename | |
547 | +/sbin/ifrename | |
548 | +-------------------------- | |
549 | + | |
550 | + 8) Loading driver modules | |
551 | + ------------------------- | |
552 | + Wow ! The most difficult part is done. | |
553 | + In theory, you don't need to do any specific configuration for | |
554 | +the driver modules to be loaded. The uDev system should load the right | |
555 | +driver module for you. | |
556 | + Also, you don't need to define aliases in /etc/modprobe.d/* or | |
557 | +in /etc/modprobe.conf, it's useless and may be counterproductive. | |
558 | + | |
559 | + If you use a driver compiled statically in the kernel, you | |
560 | +also have nothing to do. | |
561 | + | |
562 | + 9) Renaming interfaces | |
563 | + ----------------------- | |
564 | + We still use ifrename to assign names to interfaces. The | |
565 | +configuration of 'ifrename' is the same. To keep the possibility of | |
566 | +having multiple wireless cards (one in each CardBus slot), we use | |
567 | +wildcards in both the MAC address and the name : | |
568 | + | |
569 | +--------- /etc/iftab ----------------------- | |
570 | +# SMC 2835W wireless CardBus card | |
571 | +prism* mac 00:30:B4:* | |
572 | +--------------------------------------------- | |
573 | + | |
574 | + If you insert two cards, they would be named prism0 and | |
575 | +prism1. If you want to control which card get each name, you should | |
576 | +not use wildcards and set a specific line for each card : | |
577 | + | |
578 | +--------- /etc/iftab ----------------------- | |
579 | +# SMC 2835W wireless CardBus card | |
580 | +prism0 mac 00:30:B4:64:27:8B | |
581 | +prism1 mac 00:30:B4:64:27:8D | |
582 | +--------------------------------------------- | |
583 | + | |
584 | + 10) Configuring interfaces | |
585 | + -------------------------- | |
586 | + At this point, configuration of uDev network interfaces is done | |
587 | +just like their built-in counterparts. This part is still distribution | |
588 | +specific, and still already documented in the file DISTRIBUTIONS.txt. | |
589 | + | |
590 | + In Debian, you would need to modify the file | |
591 | +/etc/network/interfaces like this : | |
592 | + | |
593 | +--------- /etc/network/interfaces ----------- | |
594 | +# Enable Hotplug support (Etch and later) | |
595 | +# | |
596 | +allow-hotplug prism0 | |
597 | + | |
598 | +# SMC 2835W wireless CardBus card | |
599 | +iface prism0 inet static | |
600 | + address 10.0.1.2 | |
601 | + netmask 255.255.255.0 | |
602 | + broadcast 10.0.1.255 | |
603 | + wireless-essid THE_ESSID | |
604 | + wireless-mode ad-hoc | |
605 | + wireless-channel 5 | |
606 | +--------------------------------------------- | |
607 | + | |
608 | + Note that you can also use graphical tools such as | |
609 | +NetworkManager to configure interfaces at this point. | |
610 | + | |
611 | + Now, just cross your fingers and plug the card in the slot... | |
612 | + If it does not work, there is a troubleshooting section at the | |
613 | +end of this document. | |
614 | + | |
615 | + | |
616 | +CONFIGURATION VIA THE ORIGINAL HOTPLUG SCRIPTS | |
617 | +---------------------------------------------- | |
618 | + The previous section was dealing with removable interfaces | |
619 | +with Hotplug events and the uDev system. In various cases, or for old | |
620 | +distributions, it's preferable to use the original Hotplug | |
621 | +scripts. The original Hotplug scripts are much less invasive on the | |
622 | +system than uDev. | |
623 | + Using the original Hotplug scripts is similar to using uDev or | |
624 | +dealing with built-in interfaces, the main difference is that the | |
625 | +script used are different. Another difference is that it will likely | |
626 | +require more work on your part because most distributions do not have | |
627 | +all part properly integrated. | |
339 | 628 | |
340 | 629 | 1) Applicability |
341 | 630 | ---------------- |
@@ -348,11 +637,14 @@ removable network interface, such as : | ||
348 | 637 | It may also be used to manage other types of network |
349 | 638 | interfaces, although it may not be the best choice for them. |
350 | 639 | |
351 | - 2) How Hotplug works | |
352 | - -------------------- | |
353 | - Conceptually, Hotplug is very simple. When something | |
354 | -interesting happens, the Linux kernel generates an Hotplug event. This | |
355 | -runs the proper script from the /etc/hotplug directory. | |
640 | + 2) How the original Hotplug scripts works | |
641 | + ----------------------------------------- | |
642 | + Conceptually, Hotplug is very simple, and the Hotplug scripts | |
643 | +are quite easy to follow. | |
644 | + | |
645 | + When something interesting happens, the Linux kernel generates | |
646 | +an Hotplug event. This runs the main Hotplug script, which in turn | |
647 | +runs the appropriate script from the /etc/hotplug directory. | |
356 | 648 | There are 3 types of Hotplug events we care about : |
357 | 649 | o PCI event : a CardBus device is added or removed |
358 | 650 | from the system. The script /etc/hotplug/pci.agent is run. |
@@ -371,11 +663,13 @@ following happens : | ||
371 | 663 | 6) Kernel detects new network device |
372 | 664 | 7) Kernel generates Network Hotplug event |
373 | 665 | 8) /etc/hotplug/net.agent runs, configures network device |
374 | - The sequence of events is similar for removals and USB devices. | |
666 | + The sequence of events is similar for USB devices and for removals. | |
375 | 667 | |
376 | 668 | 3) Make sure ifup does not deadlock |
377 | 669 | ----------------------------------- |
378 | 670 | <Most people should ignore this part> |
671 | + <This applies only to Debian 3.0 and earlier> | |
672 | + | |
379 | 673 | The first problem is that we need to make sure the command |
380 | 674 | 'ifup' does not deadlock by calling itself re-entrantly. If the system |
381 | 675 | has built-in interfaces, the 'ifup' may reenter itself at boot time |
@@ -391,19 +685,46 @@ via Hotplug : | ||
391 | 685 | Note that you can produce the same reentrancy if you call ifup |
392 | 686 | manually on an interface which module is not yet loaded. |
393 | 687 | |
394 | - The default version of 'ifup' for Debian 3.0 and Debian Sarge | |
688 | + The default version of 'ifup' for Debian 3.0 and Debian 3.1 | |
395 | 689 | is not reentrant and can therefore deadlock if not used properly. The |
396 | 690 | patch to make 'ifup' properly reentrant is available here : |
397 | 691 | http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=231197 |
398 | - Contemporary versions of Debian (Sarge and later) have a | |
692 | + Contemporary versions of Debian (3.1 and later) have a | |
399 | 693 | net.agent script that contains workarounds to prevents deadlock |
400 | 694 | situations, so for normal use the default 'ifup' should work fine. |
695 | + Modern version of Debian (4.0 and later) have a version of | |
696 | +'ifup' that is reentrant and that won't deadlock. | |
401 | 697 | |
402 | 698 | Other distributions have very different ifup programs and I |
403 | 699 | have not tried those (tell me about it !). |
404 | 700 | |
405 | - 4) Installing Hotplug for Debian Sarge (testing/unstable) | |
406 | - --------------------------------------------------------- | |
701 | + 4) Installing uDev for Debian Etch (4.0) or Lenny | |
702 | + ------------------------------------------------- | |
703 | + Thanks to the great work of many people, Debian Etch and Lenny | |
704 | +has all the necessary packages and hotplug support, and will work | |
705 | +mostly 'out of the box'. | |
706 | + You will need to install the following packages : | |
707 | + o hotplug | |
708 | + o ifrename | |
709 | + | |
710 | + The configuration of network Hotplug has been much simplified | |
711 | +compared to Debian Sarge (3.0). You only have | |
712 | +to modify the file /etc/network/interfaces to enable your interfaces | |
713 | +to be managed with Hotplug and uDev. | |
714 | + By default, ifup ignore all hotplug network events, as it | |
715 | +assume network interfaces are configured using the static init | |
716 | +scripts. To enable ifup to configure specific network interfaces on | |
717 | +hotplug events, you need to list those interface in a "allow-hotplug" | |
718 | +statement. | |
719 | + For example, your /etc/network/interfaces would include : | |
720 | +--------- /etc/network/interfaces ----------- | |
721 | +# Enable Hotplug support (Etch and later) | |
722 | +# | |
723 | +allow-hotplug prism0 acx0 | |
724 | +--------------------------------------------- | |
725 | + | |
726 | + 5) Installing Hotplug for Debian Sarge (3.1) | |
727 | + -------------------------------------------- | |
407 | 728 | Thanks to the great work of many people, Debian Sarge has all |
408 | 729 | the necessary packages and hotplug support, and will work mostly 'out |
409 | 730 | of the box'. |
@@ -454,7 +775,7 @@ mapping hotplug | ||
454 | 775 | map ethA |
455 | 776 | --------------------------------------------- |
456 | 777 | |
457 | - 5) Installing Hotplug for Debian 3.0 | |
778 | + 6) Installing Hotplug for Debian 3.0 | |
458 | 779 | ------------------------------------ |
459 | 780 | Debian 3.0 doesn't come by default with hotplug, but the |
460 | 781 | hotplug package is available as regular Debian package (on the CD or |
@@ -469,21 +790,21 @@ the file /etc/hotplug/net.agent. | ||
469 | 790 | +++ net.agent Fri Feb 20 18:22:50 2004 |
470 | 791 | @@ -26,7 +26,7 @@ if [ "$INTERFACE" = "" ]; then |
471 | 792 | fi |
472 | - | |
793 | + | |
473 | 794 | case $ACTION in |
474 | 795 | -register) |
475 | 796 | +add|register) |
476 | - | |
797 | + | |
477 | 798 | case $INTERFACE in |
478 | 799 | # interfaces that are registered after being "up" (?) |
479 | 800 | @@ -52,7 +52,7 @@ register) |
480 | 801 | mesg $1 $ACTION event not handled |
481 | 802 | ;; |
482 | - | |
803 | + | |
483 | 804 | -unregister) |
484 | 805 | +remove|unregister) |
485 | - # Assume that we want to run ifdown no matter what, | |
486 | - # because it is not going to remove the data from the | |
806 | + # Assume that we want to run ifdown no matter what, | |
807 | + # because it is not going to remove the data from the | |
487 | 808 | # ifstate database otherwise. |
488 | 809 | ------------------------------------------------- |
489 | 810 |
@@ -491,7 +812,7 @@ the file /etc/hotplug/net.agent. | ||
491 | 812 | hotplug is much more basic, and doesn't have any scanning at boot time |
492 | 813 | and doesn't need to be enabled in /etc/network/interfaces. |
493 | 814 | |
494 | - 6) Installing hotplug on other distributions | |
815 | + 7) Installing hotplug on other distributions | |
495 | 816 | -------------------------------------------- |
496 | 817 | The canonical version of hotplug is available at : |
497 | 818 | http://linux-hotplug.sourceforge.net/ |
@@ -501,11 +822,15 @@ chances are that the canonical version won't completely work on your | ||
501 | 822 | system. All these various changing versions make it difficult for me |
502 | 823 | to tell what exactly needs to be changed in the hotplug scripts to |
503 | 824 | make them work. However, most should work out of the box. |
825 | + Remember also that in most cases, you can not have the | |
826 | +original Hotplug scripts and uDev together. If uDev is already | |
827 | +installed on your system, downgrading to the original Hotplug scripts | |
828 | +may be tricky. | |
504 | 829 | |
505 | 830 | My guess is that in a few releases, all these problems will |
506 | 831 | sort themselves out. Just be patient. |
507 | 832 | |
508 | - 7) Dealing with 'init' hotplug | |
833 | + 8) Dealing with 'init' hotplug | |
509 | 834 | ------------------------------ |
510 | 835 | In addition to the standard kernel Hotplug events, modern |
511 | 836 | versions of the Hotplug scripts add init scripts that scan the system |
@@ -543,7 +868,7 @@ will not be loaded. | ||
543 | 868 | appropriate .rc script in /etc/hotplug, or just deleting/renaming |
544 | 869 | those files. |
545 | 870 | |
546 | - 8) Making hotplug scripts call ifrename | |
871 | + 9) Making hotplug scripts call ifrename | |
547 | 872 | --------------------------------------- |
548 | 873 | The last hotplug step is to make sure that 'ifrename' is run |
549 | 874 | by the hotplug subsystem at the right time. As before, we want to run |
@@ -567,7 +892,7 @@ of hotplug scripts, you will need to add this support yourself. | ||
567 | 892 | @@ -40,6 +40,21 @@ add|register) |
568 | 893 | # we can't do much here without distro-specific knowledge |
569 | 894 | # such as whether/how to invoke DHCP, set up bridging, etc. |
570 | - | |
895 | + | |
571 | 896 | + # Run ifrename as needed - Jean II |
572 | 897 | + # Remap interface names based on MAC address. This works around |
573 | 898 | + # the dreaded configuration problem "all my cards are 'eth0'"... |
@@ -633,14 +958,19 @@ prism1 mac 00:30:B4:64:27:8D | ||
633 | 958 | |
634 | 959 | 11) Configuring interfaces |
635 | 960 | ------------------------- |
636 | - At this point, configuration of Hotplug interfaces is done | |
637 | -just like their built-in counterparts. This part is still distribution | |
638 | -specific, and still already documented in the file DISTRIBUTIONS.txt. | |
961 | + At this point, configuration of Hotplug network interfaces is | |
962 | +done just like their built-in counterparts. This part is still | |
963 | +distribution specific, and still already documented in the file | |
964 | +DISTRIBUTIONS.txt. | |
639 | 965 | |
640 | 966 | In Debian, you would need to modify the file |
641 | 967 | /etc/network/interfaces like this : |
642 | 968 | |
643 | 969 | --------- /etc/network/interfaces ----------- |
970 | +# Enable Hotplug support (Etch and later) | |
971 | +# | |
972 | +allow-hotplug prism0 acx0 | |
973 | + | |
644 | 974 | # Enable Hotplug support (Sarge and later) |
645 | 975 | mapping hotplug |
646 | 976 | script grep |
@@ -661,6 +991,7 @@ using waproamd to set these parameters. | ||
661 | 991 | |
662 | 992 | Now, just cross your fingers and plug the card in the slot... |
663 | 993 | |
994 | + | |
664 | 995 | PCMCIA INTERFACES (16 bits) |
665 | 996 | --------------------------- |
666 | 997 | The Pcmcia subsystem has quite some legacy, and can use |
@@ -708,6 +1039,7 @@ Pcmcia cards with ifrename. You would need to modify | ||
708 | 1039 | was done for /etc/hotplug/net.agent. But, as in the long term Pcmcia |
709 | 1040 | will migrate to Hotplug, I would not bother... |
710 | 1041 | |
1042 | + | |
711 | 1043 | MANUAL LOADING, DOCKING STATIONS |
712 | 1044 | -------------------------------- |
713 | 1045 | Manual loading is used for built-in network interfaces that |
@@ -767,7 +1099,7 @@ interfaces don't use wildcards. The '-p' option make sure ifrename | ||
767 | 1099 | probes the module prior to using it. |
768 | 1100 | Using "modprobe -r" make sure that if the driver is composed |
769 | 1101 | of multiple module all the modules are unloaded. |
770 | - | |
1102 | + | |
771 | 1103 | To enable the interface, just use : |
772 | 1104 | ----------------------------------- |
773 | 1105 | ifup eth4 |
@@ -892,6 +1224,7 @@ iface prism0-other inet static | ||
892 | 1224 | wireless-key "s:secure" |
893 | 1225 | ------------------------------------------------------ |
894 | 1226 | |
1227 | + | |
895 | 1228 | FIRMWARE LOADING |
896 | 1229 | ---------------- |
897 | 1230 | A lot of modern wireless card don't have built in firmware and |
@@ -917,7 +1250,8 @@ sysfs /sys sysfs defaults 0 0 | ||
917 | 1250 | -------------------------------------------------- |
918 | 1251 | |
919 | 1252 | Then, you add the firmware file in the directory where it's |
920 | -expected, which is /usr/lib/hotplug/firmware/ in most cases. | |
1253 | +expected, which is /lib/firmware/ in most cases, and | |
1254 | +/usr/lib/hotplug/firmware/ on older systems. | |
921 | 1255 | |
922 | 1256 | Most distributions nowadays have a version of the Hotplug |
923 | 1257 | scripts that knows how to deal with firmware. If it is not the case, |
@@ -951,8 +1285,9 @@ you make sure that the network init scripts run 'ifrename | ||
951 | 1285 | -p'. 'ifrename' will trigger the module to load, and all the Hotplug |
952 | 1286 | events will be generated properly to configure the interface. |
953 | 1287 | |
954 | -DEVICES WITH MULTIPLE NAMES | |
955 | ---------------------------- | |
1288 | + | |
1289 | +DEVICES WITH MULTIPLE NAMES/INTERFACES | |
1290 | +-------------------------------------- | |
956 | 1291 | Some wireless drivers offer multiple network interfaces for |
957 | 1292 | the same device. A classical example is the Aironet driver that |
958 | 1293 | creates a 'ethX' and 'wifiY' for each card. |
@@ -974,7 +1309,7 @@ airo* mac 00:07:0E:* arp 1 | ||
974 | 1309 | would do : |
975 | 1310 | --------- /etc/iftab ----------------------- |
976 | 1311 | # Cisco Aironet 350 wireless Pcmcia card |
977 | -wifi* mac 00:07:0E:* | |
1312 | +wifi* mac 00:07:0E:* arp 801 | |
978 | 1313 | airo* mac 00:07:0E:* arp 1 |
979 | 1314 | --------------------------------------------- |
980 | 1315 |
@@ -983,6 +1318,7 @@ selectors, but it is architectured such as adding selectors is relatively | ||
983 | 1318 | trivial. If you find a case that 'ifrename' can't handle, you should |
984 | 1319 | just extend it. |
985 | 1320 | |
1321 | + | |
986 | 1322 | DEVICES WITHOUT MAC ADDRESSES |
987 | 1323 | ----------------------------- |
988 | 1324 | Most Ethernet and Wireless devices have a fixed and unique MAC |
@@ -1011,30 +1347,77 @@ usb-p firmware "Prolific PL-2301/PL-2302" | ||
1011 | 1347 | usb-4 bus-info usb-00:02.0-1.4 |
1012 | 1348 | --------------------------------------------- |
1013 | 1349 | |
1350 | + | |
1014 | 1351 | TROUBLESHOOTING |
1015 | 1352 | --------------- |
1016 | 1353 | If your interface doesn't show up as expected with ifconfig, |
1017 | 1354 | you will need to find out why. First, you need to be familiar with the |
1018 | 1355 | sequence of actions in the system and find which one did not happen. |
1019 | 1356 | |
1357 | + 1) Interfaces on the system | |
1358 | + --------------------------- | |
1359 | + You first need to check which network interfaces are currently | |
1360 | +available on your system and configuration was assigned to it. This is | |
1361 | +mostly done using 'ifconfig'. | |
1362 | + To list only the configured network interfaces : | |
1363 | +-------------------------- | |
1364 | +> /sbin/ifconfig | |
1365 | +-------------------------- | |
1366 | + The list all network interfaces : | |
1367 | +-------------------------- | |
1368 | +> /sbin/ifconfig -a | |
1369 | +-------------------------- | |
1370 | + You can also use 'iwconfig' to check the wireless configuration. | |
1371 | + | |
1372 | + 2) Modules | |
1373 | + ---------- | |
1020 | 1374 | You need to check that the driver module(s) was loaded using |
1021 | 1375 | 'lsmod'. |
1022 | 1376 | |
1377 | + If this device is configure via init scripts, you should test | |
1378 | +if the on-demand loading of module (module probing works). This is | |
1379 | +done with : | |
1380 | +-------------------------- | |
1381 | +> /sbin/modprobe -r eth2 | |
1382 | +> /sbin/modprobe eth2 | |
1383 | +-------------------------- | |
1384 | + | |
1385 | + If your module does not load, first you should check that the | |
1386 | +hardware is present. This depend on the bus used, for PCI bus you will | |
1387 | +use 'lspci' and for USB bus you will use 'lsusb'. | |
1388 | + The second step is to check if the driver for your hardware is | |
1389 | +available on the system. | |
1390 | + | |
1391 | + 3) Ifrename | |
1392 | + ----------- | |
1023 | 1393 | You need to check if the interface was properly renamed with |
1024 | 1394 | 'ifrename'. You can use 'ifrename -D -V' to debug your /etc/iftab. |
1025 | 1395 | Get the list of interfaces on your system with 'ifconfig -a' |
1026 | 1396 | or 'cat /proc/net/dev', and check if an interface is using the name |
1027 | 1397 | you assigned or 'eth0'. Check any suspicious interfaces with 'ifconfig |
1028 | -eth0', and check its MAC address. Note that some rare drivers don't | |
1029 | -have a proper MAC address before brought up, which fools ifrename. | |
1398 | +eth0', and check its MAC address. | |
1030 | 1399 | Verify that no line in /etc/iftab matches the all-zero MAC |
1031 | 1400 | address. The all-zero MAC address matches the loopback interface 'lo' |
1032 | 1401 | and various pseudo network devices, renaming the loopback interface is |
1033 | 1402 | highly discouraged. |
1403 | + Finally, run ifrename in debug mode : | |
1404 | +-------------------------- | |
1405 | +> /sbin/ifrename -D -V | |
1406 | +-------------------------- | |
1034 | 1407 | |
1035 | - You need to check which configuration was given to the | |
1036 | -interface using 'ifconfig' and 'iwconfig'. | |
1408 | + The only case where running ifrename in debug mode would | |
1409 | +differ from when it is run normally are drivers that don't have valid | |
1410 | +descriptor value until after ifrename is run. There are a few drivers, | |
1411 | +such as prism54, which don't have a proper MAC address before brought | |
1412 | +up. This obviously fools ifrename. | |
1413 | + A way to debug that is to change the way ifrename is called to | |
1414 | +save the debug output. For example, you could call ifrename that way : | |
1415 | +------- /etc/hotplug/net.agent ------------------ | |
1416 | + NEWNAME=`/sbin/ifrename -i $INTERFACE -V 2>> /var/log/ifrename` | |
1417 | +------------------------------------------------- | |
1037 | 1418 | |
1419 | + 4) Original Hotplug scripts | |
1420 | + --------------------------- | |
1038 | 1421 | The Hotplug subsystem has also good debugging facilities. |
1039 | 1422 | To enable Hotplug debugging, just make sure the variable DEBUG |
1040 | 1423 | is defined in /sbin/hotplug : |
@@ -1044,10 +1427,10 @@ is defined in /sbin/hotplug : | ||
1044 | 1427 | @@ -22,7 +22,7 @@ |
1045 | 1428 | cd /etc/hotplug |
1046 | 1429 | . hotplug.functions |
1047 | - | |
1430 | + | |
1048 | 1431 | -# DEBUG=yes export DEBUG |
1049 | 1432 | +DEBUG=yes export DEBUG |
1050 | - | |
1433 | + | |
1051 | 1434 | if [ "$DEBUG" != "" ]; then |
1052 | 1435 | mesg "arguments ($*) env (`env`)" |
1053 | 1436 | ------------------------------------------------------ |
@@ -1056,6 +1439,49 @@ is defined in /sbin/hotplug : | ||
1056 | 1439 | happen as expected (pci, firmware, net...), and verify the log |
1057 | 1440 | messages from 'net.agent'. |
1058 | 1441 | |
1442 | + 5) UDev | |
1443 | + ------- | |
1444 | + There are two main facilities to debug uDev, the 'udevtest' | |
1445 | +program and udev daemon debugging. | |
1446 | + | |
1447 | + The uDev package comes with 'udevtest', a program that | |
1448 | +simulate a hotplug event, however this has many limitations and is not | |
1449 | +exactly like the real thing. | |
1450 | + The file 19-udev-ifrename.rules has a special rule to work | |
1451 | +with udevtest. This rule runs ifrename in dry-run mode. This rule is | |
1452 | +disabled by default, and if you intend to use udevtest you should | |
1453 | +enable this rule : | |
1454 | +--------- 19-udev-ifrename.rules --------------------- | |
1455 | +# Enable this rule to test with udevtest. | |
1456 | +ENV{UDEV_LOG}=="6", SUBSYSTEM=="net", ACTION=="add", IMPORT="/sbin/ifrename -D -V -u -i %k", NAME:="%k" | |
1457 | +------------------------------------------------------ | |
1458 | + Then, to test on a specific interface, you would run it like this : | |
1459 | +---------------------- | |
1460 | +> udevtest /sys/class/net/eth5 | |
1461 | +[...] | |
1462 | +run_program: '/usr/sbin/ifrename' (stderr) 'Dry-run : Would rename eth0 to eth5.' | |
1463 | +[...] | |
1464 | +udev_rules_get_name: rule applied, 'eth0' becomes 'eth5' | |
1465 | +---------------------- | |
1466 | + The advantage of this procedure is that it's very simple to | |
1467 | +try and all the output is on the console. | |
1468 | + | |
1469 | + The enable udevd debugging, you need to change the default log | |
1470 | +level to "debug" in the file /etc/udev/udev.conf : | |
1471 | +--------- /etc/udev/udev.conf ------------------------ | |
1472 | +udev_log="debug" | |
1473 | +------------------------------------------------------ | |
1474 | + You will also need to reboot for this change to be | |
1475 | +effective. The alternative is to use 'udevcontrol'. | |
1476 | + Make sure the special udevtest rule for ifrename described | |
1477 | +above is *NOT* enabled, i.e. it should be commented out or | |
1478 | +eliminated. | |
1479 | + The debug message may be spread in various log files depending | |
1480 | +on the distribution. On Debian, I would find them with 'tail -f | |
1481 | +/var/log/debug'. | |
1482 | + | |
1483 | + | |
1484 | + | |
1059 | 1485 | |
1060 | 1486 | Have fun... |
1061 | 1487 |
@@ -17,7 +17,9 @@ RANLIB = ranlib | ||
17 | 17 | ## Uncomment this to build tools using static version of the library. |
18 | 18 | ## Mostly useful for embedded platforms without ldd, or to create |
19 | 19 | ## a local version (non-root). |
20 | -# BUILD_STATIC = y | |
20 | +## Standard distros should comment that option to save space and to | |
21 | +## build libiw.so used by third parties... | |
22 | +BUILD_STATIC = y | |
21 | 23 | |
22 | 24 | ## Uncomment this to build without using libm (less efficient). |
23 | 25 | ## This is mostly useful for embedded platforms without maths. |
@@ -71,10 +73,10 @@ endif | ||
71 | 73 | DYNAMIC_LINK= libiw.so |
72 | 74 | |
73 | 75 | # Install directories |
74 | -INSTALL_DIR= $(PREFIX)/sbin/ | |
75 | -INSTALL_LIB= $(PREFIX)/lib/ | |
76 | -INSTALL_INC= $(PREFIX)/include/ | |
77 | -INSTALL_MAN= $(PREFIX)/man/ | |
76 | +INSTALL_DIR= $(PREFIX)/sbin | |
77 | +INSTALL_LIB= $(PREFIX)/lib | |
78 | +INSTALL_INC= $(PREFIX)/include | |
79 | +INSTALL_MAN= $(PREFIX)/man | |
78 | 80 | |
79 | 81 | # Various commands |
80 | 82 | RM = rm -f |
@@ -183,12 +185,14 @@ install-hdr:: wireless.h | ||
183 | 185 | |
184 | 186 | # How could you live without those manapages ? |
185 | 187 | install-man:: |
186 | - install -m 755 -d $(INSTALL_MAN)/man8/ | |
187 | - install -m 644 $(MANPAGES8) $(INSTALL_MAN)/man8/ | |
188 | - install -m 755 -d $(INSTALL_MAN)/man7/ | |
189 | - install -m 644 $(MANPAGES7) $(INSTALL_MAN)/man7/ | |
190 | - install -m 755 -d $(INSTALL_MAN)/man5/ | |
191 | - install -m 644 $(MANPAGES5) $(INSTALL_MAN)/man5/ | |
188 | + for lang in . cs fr.*; do \ | |
189 | + install -m 755 -d $(INSTALL_MAN)/$$lang/man8/; \ | |
190 | + install -m 644 $$lang/$(MANPAGES8) $(INSTALL_MAN)/$$lang/man8/; \ | |
191 | + install -m 755 -d $(INSTALL_MAN)/$$lang/man7/; \ | |
192 | + install -m 644 $$lang/$(MANPAGES7) $(INSTALL_MAN)/$$lang/man7/; \ | |
193 | + install -m 755 -d $(INSTALL_MAN)/$$lang/man5/; \ | |
194 | + install -m 644 $$lang/$(MANPAGES5) $(INSTALL_MAN)/$$lang/man5/; \ | |
195 | + done | |
192 | 196 | |
193 | 197 | install-iwmulticall:: iwmulticall |
194 | 198 | install -m 755 -d $(INSTALL_DIR) |
@@ -215,14 +219,16 @@ uninstall:: | ||
215 | 219 | $(RM) $(INSTALL_LIB)/$(DYNAMIC_LINK) |
216 | 220 | $(RM) $(INSTALL_INC)/iwlib.h |
217 | 221 | $(RM) $(INSTALL_INC)/wireless.h |
218 | - for f in $(MANPAGES8); do \ | |
219 | - $(RM) $(INSTALL_MAN)/man8/$$f; \ | |
220 | - done | |
221 | - for f in $(MANPAGES7); do \ | |
222 | - $(RM) $(INSTALL_MAN)/man7/$$f; \ | |
223 | - done | |
224 | - for f in $(MANPAGES5); do \ | |
225 | - $(RM) $(INSTALL_MAN)/man5/$$f; \ | |
222 | + for lang in . cs fr.*; do \ | |
223 | + for f in $(MANPAGES8); do \ | |
224 | + $(RM) $(INSTALL_MAN)/$$lang/man8/$$f; \ | |
225 | + done; \ | |
226 | + for f in $(MANPAGES7); do \ | |
227 | + $(RM) $(INSTALL_MAN)/$$lang/man7/$$f; \ | |
228 | + done; \ | |
229 | + for f in $(MANPAGES5); do \ | |
230 | + $(RM) $(INSTALL_MAN)/$$lang/man5/$$f; \ | |
231 | + done; \ | |
226 | 232 | done |
227 | 233 | |
228 | 234 | # Include dependancies |
@@ -35,11 +35,11 @@ Extensions). Please read it carefully before asking questions. | ||
35 | 35 | Extensions integration in the most common Linux distributions. I need |
36 | 36 | your help to complete this file. |
37 | 37 | |
38 | -HOTPLUG.txt | |
39 | ------------ | |
38 | +HOTPLUG-UDEV.txt | |
39 | +---------------- | |
40 | 40 | This file documents how to manage and configure removable |
41 | -wireless cards using Hotplug. This is more advanced than the simple | |
42 | -procedures of DISTRIBUTION.txt. This is currently mostly Debian | |
41 | +wireless cards using Hotplug or uDev. This is more advanced than the | |
42 | +simple procedures of DISTRIBUTION.txt. This is currently mostly Debian | |
43 | 43 | specific, but I hope you will contribute for other distributions. |
44 | 44 | |
45 | 45 | PCMCIA.txt |
@@ -64,7 +64,7 @@ command "man" will find them, such as /usr/local/man/man8, or can be | ||
64 | 64 | read locally with the command : |
65 | 65 | nroff -man xxx.8 | less |
66 | 66 | |
67 | -localised man pages (fr/*) | |
67 | +localised man pages (fr.ISO8859-1/* ; fr.UTF-8/* ; cs/*) | |
68 | 68 | ------------------- |
69 | 69 | Localised man pages are not made by me, therefore the only |
70 | 70 | localisations available are those sent to me by courageous volonteers, |
@@ -146,6 +146,12 @@ alone works, but it should point you in the proper direction. | ||
146 | 146 | ---------------------- |
147 | 147 | udev rules to integrate properly ifrename (udev >= 107). |
148 | 148 | |
149 | +iw26x_restore_full_essid.diff : | |
150 | +----------------------------- | |
151 | + Current Linux kernel have a few bugs managing ESSID. These | |
152 | +patches fix it. The first patch (iw261_...) is for kernel 2.6.19 to | |
153 | +2.6.21, the second patch (iw262_...) is for kernel 2.6.22 and later. | |
154 | + | |
149 | 155 | Other tools : |
150 | 156 | ----------- |
151 | 157 | My web page lists many other tools using Wireless |
@@ -65,7 +65,7 @@ localement avec la commande : | ||
65 | 65 | nroff -man xxx.8 | less |
66 | 66 | (NDT : ou plus simplement avec « man ./xxx.8 ») |
67 | 67 | |
68 | -pages man localisées (fr/*) | |
68 | +pages man localisées (fr.ISO8859-1/* ; fr.UTF-8/* ; cs/*) | |
69 | 69 | -------------------- |
70 | 70 | Les pages de man localisées ne sont pas écrites par moi (NDT\ : ainsi |
71 | 71 | que ce document), par conséquent les seules disponibles sont celles qui me sont |
@@ -257,7 +257,7 @@ Pro nastaven | ||
257 | 257 | (tím se nezmìní aktuální klíè). Je také mo¾né zadat klíè |
258 | 258 | jako øetìzec ASCII znakù pomocí pøedpony |
259 | 259 | .I s: |
260 | -. Passphrase není v souèasnosti podporovaná. | |
260 | +Passphrase není v souèasnosti podporovaná. | |
261 | 261 | .br |
262 | 262 | Pro urèení, který klíè má být aktivní, se vlo¾í |
263 | 263 | .I [index] |
@@ -281,7 +281,7 @@ pokud je k dispozici. | ||
281 | 281 | Pokud je tøeba nastavit více klíèù, nebo nastavit klíè a urèit aktivní klíè, |
282 | 282 | je nutné pou¾ít více pøepínaèù |
283 | 283 | .B key |
284 | -. Parametry mohou být v jakémkoliv poøadí, poslední má pøednost. | |
284 | +Parametry mohou být v jakémkoliv poøadí, poslední má pøednost. | |
285 | 285 | .br |
286 | 286 | .B Pøíklady: |
287 | 287 | .br |
@@ -310,7 +310,7 @@ Pro nastaven | ||
310 | 310 | .IR "timeout `hodnota'" . |
311 | 311 | Je také mo¾né pøidat modifikátory |
312 | 312 | .IR min " a " max |
313 | -. Hodnoty znamenají poèet sekund, pro urèení v milisekundách | |
313 | +Hodnoty znamenají poèet sekund, pro urèení v milisekundách | |
314 | 314 | nebo mikrosekundách se pou¾ije pøípona m nebo u. Nìkdy jsou |
315 | 315 | tyto hodnoty bez jednotek (poèet období mezi beacons a podobnì). |
316 | 316 | .br |
@@ -375,7 +375,7 @@ nebo mikrosekund | ||
375 | 375 | .br |
376 | 376 | je také mo¾né pøidat modifikátory |
377 | 377 | .IR min " a " max |
378 | -. Pokud karta podporuje automatický re¾im, urèují tyto modifikátory rozmezí pro limit nebo lifetime. | |
378 | +Pokud karta podporuje automatický re¾im, urèují tyto modifikátory rozmezí pro limit nebo lifetime. | |
379 | 379 | Nìkteré karty definují rùzné hodnoty v závislosti na velikosti |
380 | 380 | paketù, napø. v 802.11 urèuje |
381 | 381 | .I min limit |
@@ -1,10 +1,14 @@ | ||
1 | -.\" Jean II - HPL - 2004 | |
1 | +.\" Jean II - HPL - 2004-2007 | |
2 | 2 | .\" ifrename.8 |
3 | 3 | .\" |
4 | 4 | .\" Traduction 2004/08/25 Maxime CHARPENNE (voir |
5 | 5 | .\" http://www.delafond.org/traducmanfr/) |
6 | 6 | .\" 1ère traduction : version 27-pre25 |
7 | -.TH IFRENAME 8 "01 mars 2004" "wireless-tools" "Manuel du programmeur Linux" | |
7 | +.\" mise à jour 2007/08 : version 29-pre21 | |
8 | +.\" mise à jour 2007/10 : version 30-pre1 | |
9 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | +.\" | |
11 | +.TH IFRENAME 8 "26 février 2007" "wireless-tools" "Manuel du programmeur Linux" | |
8 | 12 | .\" |
9 | 13 | .\" NAME part |
10 | 14 | .\" |
@@ -15,9 +19,9 @@ statiques | ||
15 | 19 | .\" SYNOPSIS part |
16 | 20 | .\" |
17 | 21 | .SH SYNOPSIS |
18 | -.B "ifrename [-c configfile] [-p] [-d]" | |
22 | +.B "ifrename [-c fichierconfig] [-p] [-d] [-u] [-v] [-V] [-D] [-C]" | |
19 | 23 | .br |
20 | -.B "ifrename [-c configfile] [-i interface] [-n newname]" | |
24 | +.B "ifrename [-c fichierconfig] [-i interface] [-n nouveaunom]" | |
21 | 25 | .\" |
22 | 26 | .\" DESCRIPTION part |
23 | 27 | .\" |
@@ -30,14 +34,15 @@ Par d | ||
30 | 34 | est assigné le premier nom disponible |
31 | 35 | .RI ( eth0 ", " eth1 "...)." |
32 | 36 | L'ordre dans lequel les interfaces réseau sont créées peut varier. Pour les |
33 | -interfaces fixes («\ built-in interfaces\ »), l'énumération du noyau au | |
34 | -démarrage peut varier. Pour les interfaces débranchables, l'utilisateur peut les | |
37 | +interfaces internes («\ built-in interfaces\ »), l'énumération du noyau au | |
38 | +démarrage peut varier. Pour les interfaces amovibles, l'utilisateur peut les | |
35 | 39 | brancher dans n'importe quel ordre. |
36 | 40 | .PP |
37 | 41 | .B Ifrename |
38 | 42 | permet à l'utilisateur de décider quel nom une interface réseau aura. |
39 | -.B Ifrename | |
40 | -peut utiliser différents sélecteurs | |
43 | +.B Ifrename | |
44 | +peut utiliser différents | |
45 | +.I sélecteurs | |
41 | 46 | .RI "(«\ " selectors "\ »)" |
42 | 47 | pour spécifier comment les noms d'interface correspondent aux interfaces réseau |
43 | 48 | du système, le plus commun des sélecteurs étant |
@@ -48,7 +53,7 @@ de l'interface. | ||
48 | 53 | doit être lancé avant que les interfaces ne soient démarrées, raison pour |
49 | 54 | laquelle il est surtout utile dans divers scripts (init, hotplug), mais il est |
50 | 55 | rarement utilisé directement par l'utilisateur. Par défaut, |
51 | -.B ifrename | |
56 | +.B ifrename | |
52 | 57 | renomme toutes les interfaces système présentes en utilisant les correspondances |
53 | 58 | définies dans |
54 | 59 | .IR /etc/iftab . |
@@ -57,7 +62,7 @@ d | ||
57 | 62 | .\" |
58 | 63 | .SH PARAMÈTRES |
59 | 64 | .TP |
60 | -.BI "-c " configfile | |
65 | +.BI "-c " fichierconfig | |
61 | 66 | Fixe le fichier de configuration à utiliser (par défaut |
62 | 67 | .IR /etc/iftab ). |
63 | 68 | Le fichier de configuration définit la correspondance entre les sélecteurs et |
@@ -65,13 +70,14 @@ les noms d'interface, et il est d | ||
65 | 70 | .IR iftab (5). |
66 | 71 | .br |
67 | 72 | Si |
68 | -.I configfile | |
73 | +.I fichierconfig | |
69 | 74 | est «\ -\ », la configuration est lue depuis stdin. |
70 | 75 | .TP |
71 | 76 | .B -p |
72 | -Sonde (charge) les modules noyau avant de renommer les interfaces. Par | |
73 | -défaut, | |
74 | -.B ifrename | |
77 | +Sonde (charge) les modules noyau avant de renommer les interfaces (NDT\ : | |
78 | +.RI "«\ " p "robe\ »" | |
79 | +en anglais). Par défaut, | |
80 | +.B ifrename | |
75 | 81 | vérifie seulement les interfaces déjà chargées, et ne charge pas |
76 | 82 | automatiquement les modules noyau requis. Cette option autorise une intégration |
77 | 83 | en douceur dans les systèmes qui ne chargent pas les modules avant d'appeler |
@@ -88,26 +94,43 @@ sont charg | ||
88 | 94 | .TP |
89 | 95 | .BI "-i " interface |
90 | 96 | Renomme seulement |
91 | -.RI "l'" interface | |
97 | +.RI "l'" interface | |
92 | 98 | spécifiée, par opposition à toutes les interfaces présentes sur le système. Le |
93 | 99 | nouveau nom de l'interface est affiché. |
94 | 100 | .TP |
95 | -.BI "-n " newname | |
101 | +.BI "-n " nouveaunom | |
96 | 102 | Si utilisé avec |
97 | 103 | .IR -i , |
98 | 104 | spécifie le nouveau nom de l'interface. La liste des correspondances depuis le |
99 | -fichier de configuration est ignorée. Le nouveau nom peut être un joker | |
100 | -(«\ wildcard\ ») qui contient une seule '*'. | |
105 | +fichier de configuration est ignorée, l'interface spécifié avec | |
106 | +.I -i | |
107 | +est directement renommée en | |
108 | +.IR nouveaunom . | |
109 | +Le nouveau nom peut être un joker («\ wildcard\ ») qui contient une seule '*'. | |
110 | +.br | |
111 | +Si utilisé sans | |
112 | +.IR -i , | |
113 | +renomme les interfaces en utilisant seulement les correspondances qui les | |
114 | +renommeraient en | |
115 | +.IR nouveaunom . | |
116 | +Le nouveau nom ne peut pas être un joker. Cette utilisation de ifrename est | |
117 | +déconseillée car inefficace | |
118 | +.RI ( -n " sans " -i ). | |
119 | +Toutes les interfaces du système ont besoin d'être traitée à chaque invocation, | |
120 | +donc dans la plupart des cas il n'est pas plus rapide de simplement laisser | |
121 | +ifrename les renommer toutes (sans les deux | |
122 | +.IR -n " et " -i ). | |
101 | 123 | .TP |
102 | 124 | .B -t |
103 | -Active l'absorption («\ takover\ ») de nom. Cela permet d'échanger un nom | |
104 | -d'interface entre deux interfaces ou plus. | |
125 | +Active le support de l'absorption («\ takover\ ») de nom. Cela permet | |
126 | +d'échanger un nom d'interface entre deux interfaces ou plus. | |
105 | 127 | .br |
106 | 128 | L'absorption permet à une interface de «\ voler\ » le nom d'une autre |
107 | 129 | interface. Cela fonctionne seulement avec le noyau 2.6.X et si l'autre |
108 | 130 | interface est désactivée. En conséquence, ce n'est pas compatible avec Hotplug. |
109 | 131 | L'autre interface se voit assigner un nom aléatoire, mais peut être renommée |
110 | -plus tard avec 'ifrename'. | |
132 | +plus tard avec | |
133 | +.BR ifrename . | |
111 | 134 | .br |
112 | 135 | Le nombre d'absorptions est limité pour éviter les boucles circulaires, et donc |
113 | 136 | certaines situations d'échanges de noms complexes ne seront pas complètement |
@@ -116,6 +139,54 @@ trait | ||
116 | 139 | Dans tous les cas, l'échange de noms et l'utilisation de cette caractéristique |
117 | 140 | sont découragés, et vous êtes invités à choisir des noms uniques et sans |
118 | 141 | ambiguïté pour vos interfaces... |
142 | +.TP | |
143 | +.B -u | |
144 | +Active le mode de sortie | |
145 | +.IR udev . | |
146 | +Cela permet une intégration propre de | |
147 | +.B ifrename | |
148 | +dans le framework | |
149 | +.IR udev , | |
150 | +.BR udevd (8) | |
151 | +utilisera | |
152 | +.B ifrename | |
153 | +pour assigner les noms d'interfaces présents dans | |
154 | +.IR /etc/iftab . | |
155 | +Dans ce mode, la sortie de ifrename peut être analysée («\ parsed\ ») | |
156 | +directement par | |
157 | +.BR udevd (8) | |
158 | +en tant qu'une action IMPORT. Cela nécessite la version 107 ou plus de | |
159 | +.IR udev . | |
160 | +.TP | |
161 | +.B -D | |
162 | +Mode «\ dry-run\ ». Ifrename ne changera aucune interface et affichera seulement | |
163 | +les nouveaux noms d'interface, si applicable, et sortira. | |
164 | +.br | |
165 | +Dans le mode «\ dry-run\ », le nom joker d'interface est résolu. Le nouveau nom | |
166 | +d'interface est affiché, même s'il est identique à l'ancien. | |
167 | +.br | |
168 | +Faire aussi attention que certains sélecteurs peuvent seulement être lus par | |
169 | +root, (par exemple ceux basés sur | |
170 | +.BR ethtool ), | |
171 | +et ifrename échouera en silence s'il est lancé par un utilisateur normal. En | |
172 | +d'autres termes, le mode «\ dry-run\ » lancé par un utilisateur standard ne | |
173 | +donnera pas forcément le résultat attendu. | |
174 | +.TP | |
175 | +.B -V | |
176 | +Mode verbeux. Ifrename affichera les résultats de l'analyse de son fichier de | |
177 | +configuration et de l'interrogation des séleceurs d'interfaces. Combiné avec | |
178 | +l'option | |
179 | +.RI "«\ " dry-run "\ »," | |
180 | +c'est une bonne manière de déboguer des configurations | |
181 | +complexes ou des problèmes triviaux. | |
182 | +.TP | |
183 | +.B -C | |
184 | +Compte les interfaces qui correspondent. Affiche le nombre d'interfaces | |
185 | +qui correspondent et le retourne comme code retour de ifrename. | |
186 | +.br | |
187 | +Le nombre d'interfaces qui correspondent est le nombre d'interfaces du système | |
188 | +pour lesquelles un lien a été trouvé dans le fichier de config (qui est | |
189 | +différent du numéro de l'interface renommée). | |
119 | 190 | .\" |
120 | 191 | .\" AUTHOR part |
121 | 192 | .\" |
@@ -125,7 +196,7 @@ Jean Tourrilhes \- jt@hpl.hp.com | ||
125 | 196 | .\" TRADUCTION part |
126 | 197 | .\" |
127 | 198 | .SH TRADUCTION |
128 | -Maxime CHARPENNE, août 2004 (wireless_tools.27-pre25). | |
199 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
129 | 200 | .\" |
130 | 201 | .\" AVERTISSEMENT part |
131 | 202 | .\" |
@@ -0,0 +1,334 @@ | ||
1 | +.\" Jean II - HPL - 2004-2007 | |
2 | +.\" iftab.5 | |
3 | +.\" | |
4 | +.\" Traduction 2004/08/25 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 27-pre25 | |
7 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
8 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
9 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | +.\" | |
11 | +.TH IFTAB 5 "26 février 2007" "wireless-tools" "Manuel du Programmeur Linux" | |
12 | +.\" | |
13 | +.\" NAME part | |
14 | +.\" | |
15 | +.SH NOM | |
16 | +iftab \- informations statiques sur les interfaces réseau | |
17 | +.\" | |
18 | +.\" DESCRIPTION part | |
19 | +.\" | |
20 | +.SH DESCRIPTION | |
21 | +Le fichier | |
22 | +.B /etc/iftab | |
23 | +contient de l'information descriptive à propos des diverses interfaces réseau. | |
24 | +.B iftab | |
25 | +n'est utilisé que par le programme | |
26 | +.IR ifrename (8) | |
27 | +pour assigner un nom d'interface réseau cohérent à chaque interface réseau. | |
28 | +.PP | |
29 | +.B /etc/iftab | |
30 | +définit un ensemble de | |
31 | +.IR correspondances " («\ " mappings "\ »)." | |
32 | +Chaque correspondance contient un nom d'interface et un ensemble de sélecteurs | |
33 | +(«\ selectors\ »). Les sélecteurs permettent à | |
34 | +.B ifrename | |
35 | +d'identifier chaque interface réseau du système. Si une interface réseau | |
36 | +correspond à tous les descripteurs d'une correspondance, | |
37 | +.B ifrename | |
38 | +essaye de changer le nom de l'interface par le nom de l'interface donné dans la | |
39 | +correspondance. | |
40 | +.\" | |
41 | +.\" MAPPINGS part | |
42 | +.\" | |
43 | +.SH CORRESPONDANCES («\ MAPPINGS\ ») | |
44 | +Chaque correspondance est décrite sur une ligne distincte, elle commence avec | |
45 | +.IR "interface name" " (nom d'interface)," | |
46 | +et contient un ensemble de | |
47 | +.RI "descripteurs («\ " descriptors "\ »)," | |
48 | +séparés par des espaces ou des tabulations. | |
49 | +.PP | |
50 | +La relation entre les descripteurs d'une correspondance est un | |
51 | +.IR "et logique" . | |
52 | +Une correspondance s'applique à une interface réseau seulement si tous les | |
53 | +descripteurs s'appliquent. Si une interface réseau ne supporte pas un | |
54 | +descripteur particulier, elle ne s'appliquera à aucune correspondance qui | |
55 | +utilise ce descripteur. | |
56 | +.PP | |
57 | +Si vous voulez utiliser des descripteurs alternatifs pour un nom d'interface | |
58 | +(ou logique), spécifiez deux correspondances différentes avec le même nom | |
59 | +d'interface (une par ligne). | |
60 | +.B Ifrename | |
61 | +utilise toujours la première correspondance en commençant par la | |
62 | +.I fin | |
63 | +de | |
64 | +.BR iftab , | |
65 | +donc les correspondances les plus restrictives devraient être définies en | |
66 | +dernier. | |
67 | +.\" | |
68 | +.\" INTERFACE NAME part | |
69 | +.\" | |
70 | +.SH NOM D'INTERFACE | |
71 | +La première partie de chaque correspondance est un nom d'interface. Si une | |
72 | +interface réseau correspond à tous les descripteurs d'une correspondance, | |
73 | +.B ifrename | |
74 | +essaye de changer le nom de l'interface par le nom de l'interface donné dans la | |
75 | +correspondance. | |
76 | +.PP | |
77 | +Le nom de l'interface d'une correspondance est soit un nom d'interface complet | |
78 | +(comme | |
79 | +.IR eth2 " ou " wlan1 ) | |
80 | +soit un motif de nom d'interface contenant un seul caractère joker (comme | |
81 | +.IR eth* " ou " wlan* ). | |
82 | +Dans le cas d'un caractère joker («\ wildcard\ »), le noyau remplace le | |
83 | +caractère '*' par le plus petit entier disponible faisant un nom d'interface | |
84 | +unique. Le caractère joker est supporté seulement pour les noyaux 2.6.1 et | |
85 | +2.4.30 et plus. | |
86 | +.PP | |
87 | +Il est déconseillé d'essayer de faire correspondre des interfaces à des noms | |
88 | +d'interface par défaut tels que | |
89 | +.IR eth0 ", " wlan0 " or " ppp0 . | |
90 | +Le noyau les utilise comme nom par défaut pour toute nouvelle interface, | |
91 | +il est donc très probable qu'une interface portant ce nom existe déjà et | |
92 | +empêche ifrename de les utiliser. Même si vous utilisez ces noms, l'interface | |
93 | +peut déjà être active dans certains cas. Ne pas utiliser ces noms permettra de | |
94 | +détecter sur le champ les interfaces non configurées ou les nouvelles | |
95 | +interfaces. | |
96 | +.br | |
97 | +Les bons noms sont uniques et significatifs, comme | |
98 | +.IR mondsl " or " hubprive , | |
99 | +ou utilisez de plus grand nombre entier, comme | |
100 | +.IR eth5 " or " wlan5 . | |
101 | +Le second type est habituellement plus facile à intégrer dans divers | |
102 | +utilitaires réseau. | |
103 | +.\" | |
104 | +.\" DESCRIPTORS part | |
105 | +.\" | |
106 | +.SH DESCRIPTEURS («\ DESCRIPTORS\ ») | |
107 | +Chaque descripteur est composé d'un nom de descripteur et d'une valeur de | |
108 | +descripteur. Les descripteurs spécifie un attribut statique d'une interface | |
109 | +réseau, le but étant d'identifier de manière unique chaque matériel. | |
110 | +.PP | |
111 | +La plupart des utilisateurs n'utiliseront que le sélecteur | |
112 | +.BR mac , | |
113 | +malgré ses problèmes potentiels, d'autres sélecteurs conviennent à des | |
114 | +paramétrages plus spécialisés. La plupart des sélecteurs acceptent '*' dans la | |
115 | +valeur du sélecteur pour correspondance joker, et la plupart des sélecteurs | |
116 | +sont indifférents à la casse des caractères. | |
117 | +.TP | |
118 | +.BI mac " adresse mac" | |
119 | +Correspond à l'Adresse MAC de l'interface avec l'adresse MAC spécifiée. | |
120 | +L'adresse MAC de l'interface peut être montrée en utilisant | |
121 | +.IR ifconfig (8) | |
122 | +ou | |
123 | +.IR ip (8). | |
124 | +.br | |
125 | +C'est le plus commun des sélecteurs, vu que chaque interface possède une | |
126 | +adresse MAC unique, ce qui permet de les identifier sans ambigüité. | |
127 | +Malgré tout, certaines interfaces n'ont pas d'adresse MAC valide tant qu'elles | |
128 | +ne sont pas activées\ ; dans certains cas, utiliser ce sélecteur est pertinent | |
129 | +ou impossible. | |
130 | +.TP | |
131 | +.BI arp " type arp" | |
132 | +Fait correspondre le Type ARP («\ ARP Type\ ») (aussi appelé «\ Link Type\ ») | |
133 | +de l'interface avec le type ARP spécifié par un nombre. Le Type ARP de | |
134 | +l'interface peut être montré en utilisant | |
135 | +.IR ifconfig (8) | |
136 | +ou | |
137 | +.IR ip (8), | |
138 | +le type | |
139 | +.B link/ether | |
140 | +correspond à | |
141 | +.B 1 | |
142 | +et le type | |
143 | +.B link/ieee802.11 | |
144 | +correspond à | |
145 | +.BR 801 . | |
146 | +.br | |
147 | +Ce sélecteur est utile quand un pilote crée plusieurs interfaces réseau pour | |
148 | +une seule carte réseau. | |
149 | +.TP | |
150 | +.BI driver " nom de pilote" | |
151 | +Fait correspondre le Nom de Pilote («\ Driver Name\ ») de l'interface avec le | |
152 | +nom de pilote spécifié. Le Nom de Pilote de l'interface peut être montré en | |
153 | +utilisant | |
154 | +.IR "ethtool -i" (8). | |
155 | +.TP | |
156 | +.BI businfo " information de bus" | |
157 | +Fait correspondre l'Information de Bus («\ Bus Information\ ») de l'interface | |
158 | +avec l'information de bus spécifiée. L'Information de Bus de l'interface peut | |
159 | +être montrée en utilisant | |
160 | +.IR "ethtool -i" (8). | |
161 | +.TP | |
162 | +.BI firmware " version firmware " | |
163 | +Fait correspondre la Version Firmware («\ Firmware Revision\ ») de l'interface | |
164 | +avec l'information de la version firmware. La Version Firmware de l'interface | |
165 | +peut être montrée en utilisant | |
166 | +.IR "ethtool -i" (8). | |
167 | +.TP | |
168 | +.BI baseaddress " addresse de base" | |
169 | +Fait correspondre l'Adresse de Base («\ Base Address\ ») de l'interface avec | |
170 | +l'adresse de base spécifiée. L'Adresse de Base de l'interface peut être montrée | |
171 | +en utilisant | |
172 | +.IR ifconfig (8). | |
173 | +.br | |
174 | +Ce sélecteur n'est utile que pour les cartes ISA et EISA car la plupart des | |
175 | +cartes utilisent l'allocation dynamique pour l'Adresse de Base. | |
176 | +.TP | |
177 | +.BI irq " ligne irq" | |
178 | +Fait correspondre la Ligne IRQ (interruption) de l'interface avec la ligne IRQ | |
179 | +spécifiée. La Ligne IRQ de l'interface peut être montrée en utilisant | |
180 | +.IR ifconfig (8). | |
181 | +.br | |
182 | +Ce sélecteur n'est habituellement pas suffisant pour identifier de manière | |
183 | +unique une interface, car les Lignes IRQ peuvent être partagées. | |
184 | +.TP | |
185 | +.BI iwproto " protocole wireless" | |
186 | +Fait correspondre le Protocole Wireless de l'interface avec le protocole | |
187 | +wireless spécifié. Le Protocole Wireless de l'interface peut être montré | |
188 | +en utilisant | |
189 | +.IR iwconfig (8), | |
190 | +ou | |
191 | +.IR iwgetid (8). | |
192 | +.br | |
193 | +Ce sélecteur n'est valable que pour les interfaces wireless et n'est pas | |
194 | +suffisant pour en identifier une de manière unique. | |
195 | +.TP | |
196 | +.BI pcmciaslot " prise pcmcia " | |
197 | +Fait correspondre le numéro de Prise Pcmpcia («\ Pcmcia Socket \ ») de | |
198 | +l'interface. Le numéro de Prise Pcmpcia de l'interface peut être montré en | |
199 | +utilisant | |
200 | +.IR "cardctl ident" (8). | |
201 | +.br | |
202 | +Ce sélecteur est habituellement supporté pour les cartes 16 bits seulement, | |
203 | +pour les cartes 32 bits il est conseillé d'utiliser le sélecteur | |
204 | +.BR businfo . | |
205 | +.TP | |
206 | +.BI prevname " nom interface précédent" | |
207 | +Fait correspondre le nom de l'interface avant qu'elle soit renommée avec | |
208 | +le nom précédent spécifié. | |
209 | +.br | |
210 | +Ce sélecteur devrait être évité car le nom précédent de l'interface peut varier | |
211 | +en fonction de diverses conditions. Une mise à jour système/noyau/pilote peut | |
212 | +changer le nom original. Dès lors, ifrename ou un autre utilitaire peut la | |
213 | +renommer avant l'exécution de ce sélecteur. | |
214 | +.TP | |
215 | +.BI SYSFS{ nomfichier } " valeur" | |
216 | +Fait correspondre le contenu de l'attribut sysfs donné par nomfichier avec la | |
217 | +valeur spécifiée. Pour les liens symboliques et les répertoires parents, fait | |
218 | +correspondre le nom réel du répertoire de l'attribut sysfs donné par nomfichier | |
219 | +avec la valeur spécifiée. | |
220 | +.br | |
221 | +Une liste des attributs sysfs les plus utiles est donnée dans la section | |
222 | +suivante. | |
223 | +.\" | |
224 | +.\" SYSFS DESCRIPTORS part | |
225 | +.\" | |
226 | +.SH DESCRIPTEURS SYSFS | |
227 | +Sur la plupart des systèmes, les attributs sysfs pour une carte donnée sont | |
228 | +situés dans le répertoire nommé après cette interface dans | |
229 | +.IR /sys/class/net/ . | |
230 | +La plupart des attributs sysfs sont des fichiers, et leurs valeurs peuvent | |
231 | +être lues en utilisant | |
232 | +.IR cat "(1) ou " more (1). | |
233 | +Il est aussi possible de faire des correspondances dans les attributs des | |
234 | +sous-répertoires. | |
235 | +.PP | |
236 | +Certains attributs sysfs sont des liens symboliques qui pointent vers d'autres | |
237 | +répertoires sysfs. Si l'attribut nomfichier est un lien symbolique, l'attribut | |
238 | +sysfs sera résolu avec le nom du répertoire pointé par le lien en utilisant | |
239 | +.IR readlink (1). | |
240 | +La localisation du répertoire dans l'arborescence sysfs est importante aussi. | |
241 | +Si l'attribut nomfichier fini par | |
242 | +.IR /.. , | |
243 | +l'attribut sysfs sera résolu avec le nom réel du répertoire parent en utilisant | |
244 | +.IR pwd (1). | |
245 | +.PP | |
246 | +Le système de fichier sysfs est supporté seulement avec les noyaux 2.6.X et a | |
247 | +besoin d'être monté (habituellement dans | |
248 | +.IR /sys ). | |
249 | +Les sélecteurs sysfs ne sont pas aussi efficaces que les autres sélecteurs, et | |
250 | +ne devraient donc pas être employés pour le maximum de performance. | |
251 | +.PP | |
252 | +Ci-après les attributs sysfs communs et leurs descripteurs ifrename équivalents. | |
253 | +.TP | |
254 | +.BI SYSFS{address} " valeur" | |
255 | +Comme le descripteur | |
256 | +.BR mac . | |
257 | +.TP | |
258 | +.BI SYSFS{type} " valeur" | |
259 | +Comme le descripteur | |
260 | +.BR arp . | |
261 | +.TP | |
262 | +.BI SYSFS{device} " valeur" | |
263 | +Valable seulement jusqu'au noyau 2.6.20. Comme le sélecteur | |
264 | +.BR businfo . | |
265 | +.TP | |
266 | +.BI SYSFS{..} " valeur" | |
267 | +Valable seulement depuis le noyau 2.6.21. Comme le sélecteur | |
268 | +.BR businfo . | |
269 | +.TP | |
270 | +.BI SYSFS{device/driver} " valeur" | |
271 | +Valable seulement jusqu'au noyau 2.6.20. Comme le sélecteur | |
272 | +.BR driver . | |
273 | +.TP | |
274 | +.BI SYSFS{../driver} " valeur" | |
275 | +Valable seulement depuis le noyau 2.6.21. Comme le sélecteur | |
276 | +.BR driver . | |
277 | +.TP | |
278 | +.BI SYSFS{device/irq} " valeur" | |
279 | +Valable seulement jusqu'au noyau 2.6.20. Comme le sélecteur | |
280 | +.BR irq . | |
281 | +.TP | |
282 | +.BI SYSFS{../irq} " valeur" | |
283 | +Valable seulement depuis le noyau 2.6.21. Comme le sélecteur | |
284 | +.BR irq . | |
285 | +.\" | |
286 | +.\" EXAMPLES part | |
287 | +.\" | |
288 | +.SH EXEMPLES | |
289 | +# Ceci est un commentaire | |
290 | +.br | |
291 | +eth2 mac 08:00:09:DE:82:0E | |
292 | +.br | |
293 | +eth3 driver wavelan interrupt 15 baseaddress 0x390 | |
294 | +.br | |
295 | +eth4 driver pcnet32 businfo 0000:02:05.0 | |
296 | +.br | |
297 | +air* mac 00:07:0E:* arp 1 | |
298 | +.br | |
299 | +myvpn SYSFS{address} 00:10:83:* SYSFS{type} 1 | |
300 | +.br | |
301 | +bcm* SYSFS{device} 0000:03:00.0 SYSFS{device/driver} bcm43xx | |
302 | +.br | |
303 | +bcm* SYSFS{..} 0000:03:00.0 SYSFS{../driver} bcm43xx | |
304 | +.\" | |
305 | +.\" AUTHOR part | |
306 | +.\" | |
307 | +.SH AUTEUR | |
308 | +Jean Tourrilhes \- jt@hpl.hp.com | |
309 | +.\" | |
310 | +.\" TRADUCTION part | |
311 | +.\" | |
312 | +.SH TRADUCTION | |
313 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
314 | +.\" | |
315 | +.\" AVERTISSEMENT part | |
316 | +.\" | |
317 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
318 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
319 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
320 | +avec le programme. | |
321 | +.\" | |
322 | +.\" FILES part | |
323 | +.\" | |
324 | +.SH FICHIERS | |
325 | +.I /etc/iftab | |
326 | +.\" | |
327 | +.\" SEE ALSO part | |
328 | +.\" | |
329 | +.SH VOIR AUSSI | |
330 | +.BR ifrename (8), | |
331 | +.BR ifconfig (8), | |
332 | +.BR ip (8), | |
333 | +.BR ethtool (8), | |
334 | +.BR iwconfig (8). |
@@ -7,8 +7,11 @@ | ||
7 | 7 | .\" Mise à jour 2004/01/28 : version 27-pre9 (beta) |
8 | 8 | .\" Mise à jour 2004/02/26 : version 27-pre11 (alpha) |
9 | 9 | .\" Mise à jour 2004/08/23 : version 27-pre25 |
10 | +.\" Mise à jour 2007/07 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | 13 | .\" |
11 | -.TH IWCONFIG 8 "22 juin 2004" "wireless-tools" "Manuel du programmeur Linux" | |
14 | +.TH IWCONFIG 8 "30 mars 2006" "wireless-tools" "Manuel du programmeur Linux" | |
12 | 15 | .\" |
13 | 16 | .\" NAME part |
14 | 17 | .\" |
@@ -20,15 +23,15 @@ iwconfig \- configure une interface r | ||
20 | 23 | .SH SYNOPSIS |
21 | 24 | .BI "iwconfig [" interface ] |
22 | 25 | .br |
23 | -.BI "iwconfig " interface " [essid " X "] [nwid " N "] [freq " F "] [channel " C ] | |
26 | +.BI "iwconfig " interface " [essid " X "] [nwid " N "] [mode " M "] [freq " F "] | |
24 | 27 | .br |
25 | -.BI " [sens " S "] [mode " M "] [ap " A "] [nick " NN ] | |
28 | +.BI " [channel " C "] [sens " S "] [ap " A "] [nick " NN ] | |
26 | 29 | .br |
27 | 30 | .BI " [rate " R "] [rts " RT "] [frag " FT "] [txpower " T ] |
28 | 31 | .br |
29 | 32 | .BI " [enc " E "] [key " K "] [power " P "] [retry " R ] |
30 | 33 | .br |
31 | -.BI " [commit] | |
34 | +.BI " [modu " M "] [commit] | |
32 | 35 | .br |
33 | 36 | .BI "iwconfig --help" |
34 | 37 | .br |
@@ -40,7 +43,7 @@ iwconfig \- configure une interface r | ||
40 | 43 | .B Iwconfig |
41 | 44 | est similaire à |
42 | 45 | .IR ifconfig (8), |
43 | -mais est dédié aux interfaces wireless. Il est utilisé pour manier les | |
46 | +mais est dédié aux interfaces wireless. Il est utilisé pour positionner les | |
44 | 47 | paramètres des interfaces réseaux qui sont spécifiques aux opérations wireless |
45 | 48 | (par exemple\ : la fréquence). |
46 | 49 | .B Iwconfig |
@@ -58,31 +61,39 @@ chaque mat | ||
58 | 61 | .SH PARAMÈTRES |
59 | 62 | .TP |
60 | 63 | .B essid |
61 | -Positionne le ESSID ( ou Network Name - pour certains produits, il peut aussi | |
64 | +Positionne le ESSID (ou Network Name - pour certains produits, il peut aussi | |
62 | 65 | être désigné comme Domain ID). L'ESSID est utilisé pour identifier les cellules |
63 | 66 | qui font partie du même réseau virtuel. |
64 | 67 | .br |
65 | -Par opposition à l'adresse de l'AP ou au NWID qui définissent une seule cellule, | |
66 | -l'ESSID définit un groupe de cellules connectées via des répéteurs ou via | |
67 | -l'infrastructure, où l'utilisateur peut «\ roamer\ » ou errer de manière | |
68 | -transprente (c.-à-d. changer de cellule sans perdre sa connexion). | |
68 | +Par opposition à l'adresse de l'AP (Point d'Accès) ou au NWID qui définissent | |
69 | +une seule cellule, l'ESSID définit un groupe de cellules connectées via des | |
70 | +répéteurs ou via l'infrastructure, où l'utilisateur peut errer («\ roamer\ ») | |
71 | +de manière transprente (c.-à-d. changer de noeud sans perdre sa connexion). | |
69 | 72 | .br |
70 | -Avec certaines cartes, vous pouvez désactiver le contrôle du ESSID (ESSID | |
71 | -promiscuous) avec | |
73 | +Avec certaines cartes, vous pouvez désactiver le contrôle du ESSID («\ ESSID | |
74 | +promiscuous\ ») avec | |
72 | 75 | .IR off " ou " any " (et " on |
73 | 76 | pour le réactiver). |
74 | 77 | .br |
78 | +Si le ESSID du réseau est un des mots-clefs spéciaux | |
79 | +.RI ( off ", " on " ou " any ), | |
80 | +vous devrez utiliser | |
81 | +.I -- | |
82 | +pour l'échapper. | |
83 | +.br | |
75 | 84 | .B Exemples : |
76 | 85 | .br |
77 | 86 | .I " iwconfig eth0 essid any" |
78 | 87 | .br |
79 | 88 | .I " iwconfig eth0 essid ""Mon Reseau"" |
89 | +.br | |
90 | +.I " iwconfig eth0 essid -- ""ANY"" | |
80 | 91 | .TP |
81 | -.BR nwid / domain | |
82 | -Positionne le Network ID (pour certains produits, il peut aussi être appelé | |
83 | -Domain ID). Comme tous les réseaux sans fil adjacents partagent le même médium, | |
84 | -ce paramètre est utilisé pour les différencier (créer des réseaux logiques | |
85 | -colocalisés) et pour identifier des noeuds appartenant à la même cellule. | |
92 | +.BR nwid | |
93 | +Positionne le Network ID. Comme tous les réseaux sans fil adjacents partagent | |
94 | +le même médium, ce paramètre est utilisé pour les différencier (créer des | |
95 | +réseaux logiques colocalisés) et pour identifier des noeuds appartenant à la | |
96 | +même cellule. | |
86 | 97 | .br |
87 | 98 | Ce paramètre est seulement utilisé par les matériels antérieurs à 802.11, la |
88 | 99 | norme 802.11 se servant du ESSID et de l'adresse de l'AP pour cette fonction. |
@@ -98,44 +109,15 @@ pour le r | ||
98 | 109 | .br |
99 | 110 | .I " iwconfig eth0 nwid off" |
100 | 111 | .TP |
101 | -.BR freq / channel | |
102 | -Positionne la fréquence d'exploitation ou canal du périphérique. Une valeur | |
103 | -inférieure à 1\ 000 indique un numéro de canal, une valeur supérieure à 1\ 000 | |
104 | -est une fréquence en Hz. Vous pouvez ajouter le suffixe k, M ou G à la valeur | |
105 | -(par exemple, «\ 2.46G\ » pour la fréquence 2,46\ GHz), ou ajouter suffisamment | |
106 | -de «\ 0\ ». | |
107 | -.br | |
108 | -Les canaux sont habituellement numérotés à partir de 1, et vous pouvez utiliser | |
109 | -.IR iwlist (8) | |
110 | -pour obtenir le nombre total de canaux, lister les fréquences disponibles, et | |
111 | -afficher le fréquence courante comme un canal. | |
112 | -Suivants les réglementations, certaines fréquences/canaux peuvent ne pas | |
113 | -être disponibles. | |
114 | -.br | |
115 | -.B Exemples : | |
116 | -.br | |
117 | -.I " iwconfig eth0 freq 2422000000" | |
118 | -.br | |
119 | -.I " iwconfig eth0 freq 2.422G" | |
120 | -.br | |
121 | -.I " iwconfig eth0 channel 3" | |
122 | -.TP | |
123 | -.B sens | |
124 | -Positionne le seuil de sensibilité. C'est le niveau de signal le plus bas pour | |
125 | -lequel le matériel essaye de réceptionner un paquet, les signaux plus bas sont | |
126 | -ignorés. Ceci est utilisé pour éviter de recevoir le bruit de fond, donc vous | |
127 | -devriez le positionner en fonction du niveau de bruit moyen. Les valeurs | |
128 | -positives sont supposées être les valeurs brutes utilisées par le matériel ou | |
129 | -un pourcentage, les valeurs négatives sont supposées être des dBm. | |
130 | -.br | |
131 | -Avec certains matériels, ce paramètre contrôle aussi le seuil de report | |
132 | -(defer threshold) (signal le plus faible pour lequel le matériel considère le | |
133 | -canal occupé) et le seuil de cession (handover threshold) (niveau de signal pour | |
134 | -lequel le matériel commence à chercher un nouveau Point d'Accès). | |
112 | +.BR nick [name] | |
113 | +Positionne le surnom (nickname), ou nom de station. Quelques produits | |
114 | +802.11 le définissent, mais il n'est pas utilisé dans la mesure où les | |
115 | +protocoles les plus usités (MAC, IP, TCP) ne s'en servent pas en l'état. | |
116 | +Seuls quelques outils de diagnostic peuvent l'utiliser. | |
135 | 117 | .br |
136 | 118 | .B Exemple : |
137 | 119 | .br |
138 | -.I " iwconfig eth0 sens -80" | |
120 | +.I " iwconfig eth0 nickname ""My Linux Node"" | |
139 | 121 | .TP |
140 | 122 | .B mode |
141 | 123 | Positionne le mode de fonctionnement du matériel, qui dépend de la topologie du |
@@ -148,7 +130,7 @@ roaming ou errance), | ||
148 | 130 | .I Master |
149 | 131 | (le noeud est le maître qui synchronise ou agit comme un Point d'Accès), |
150 | 132 | .I Repeater |
151 | -(le noeud transmet les paquets entre les autres n½uds wireless), | |
133 | +(le noeud transmet les paquets entre les autres noeuds wireless), | |
152 | 134 | .I Secondary |
153 | 135 | (le noeud agit comme un maître/répéteur supplémentaire), |
154 | 136 | .I Monitor |
@@ -161,9 +143,50 @@ roaming ou errance), | ||
161 | 143 | .br |
162 | 144 | .I " iwconfig eth0 mode Ad-Hoc" |
163 | 145 | .TP |
146 | +.BR freq / channel | |
147 | +Positionne la fréquence d'exploitation ou canal du périphérique. Une valeur | |
148 | +inférieure à 1\ 000 indique un numéro de canal, une valeur supérieure à 1\ 000 | |
149 | +est une fréquence en Hz. Vous pouvez ajouter le suffixe k, M ou G à la valeur | |
150 | +(par exemple, «\ 2.46G\ » pour la fréquence 2,46\ GHz), ou ajouter suffisamment | |
151 | +de '0'. | |
152 | +.br | |
153 | +Les canaux sont habituellement numérotés à partir de 1, et vous pouvez utiliser | |
154 | +.IR iwlist (8) | |
155 | +pour obtenir le nombre total de canaux, lister les fréquences disponibles, et | |
156 | +afficher la fréquence courante comme un canal. Suivants les réglementations, | |
157 | +certaines fréquences/canaux peuvent ne pas être disponibles. | |
158 | +.br | |
159 | +La plupart du temps lorsque le mode Managed est utilisé, le Point d'Accès | |
160 | +impose le canal et le pilote refusera le paramètre de la fréquence. Dans le | |
161 | +mode Ad-Hoc, le paramètre fréquence doit seulement être utilisé à la | |
162 | +création de la cellule initiale, et doit être ignoré quand on rejoint une | |
163 | +cellule existante. | |
164 | +.br | |
165 | +Vous pouvez aussi utiliser | |
166 | +.I off | |
167 | +ou | |
168 | +.I auto | |
169 | +pour laisser la carte choisir le meilleur canal (lorsque c'est supporté). | |
170 | +.br | |
171 | +.B Exemples : | |
172 | +.br | |
173 | +.I " iwconfig eth0 freq 2422000000" | |
174 | +.br | |
175 | +.I " iwconfig eth0 freq 2.422G" | |
176 | +.br | |
177 | +.I " iwconfig eth0 channel 3" | |
178 | +.br | |
179 | +.I " iwconfig eth0 channel auto" | |
180 | +.TP | |
164 | 181 | .B ap |
165 | 182 | Force la carte à s'enregistrer auprès du Point d'Accès donné par l'adresse, |
166 | -si c'est possible. Quand la qualité de la connexion devient trop mauvaise, | |
183 | +si c'est possible. Cette adresse est l'identité de la cellule du Point | |
184 | +d'Accès, celle indiqué par un scanning wireless, qui peut être différente de | |
185 | +son adresse MAC. Si le lien wireless est point-à-point, mettre l'adresse de | |
186 | +l'autre côté du lien. Si le lien est ad-hoc, mettre l'identité de la cellule | |
187 | +du réseau ad-hoc. | |
188 | +.br | |
189 | +Quand la qualité de la connexion devient trop mauvaise, | |
167 | 190 | le pilote peut revenir en mode automatique (la carte sélectionne le meilleur |
168 | 191 | Point d'Accès à portée). |
169 | 192 | .br |
@@ -174,7 +197,7 @@ ou vous pouvez utiliser | ||
174 | 197 | .I any |
175 | 198 | ou |
176 | 199 | .I auto |
177 | -pour forcer la carte à se ré associer avec le meilleur Point d'Accès courant. | |
200 | +pour forcer la carte à se ré-associer avec le meilleur Point d'Accès courant. | |
178 | 201 | .br |
179 | 202 | .B Exemple : |
180 | 203 | .br |
@@ -184,30 +207,19 @@ pour forcer la carte | ||
184 | 207 | .br |
185 | 208 | .I " iwconfig eth0 ap off" |
186 | 209 | .TP |
187 | -.BR nick [name] | |
188 | -Positionne le surnom (nickname), ou nom de station. Quelques produits | |
189 | -802.11 le définissent, mais il n'est pas utilisé dans la mesure où les | |
190 | -protocoles les plus usités (MAC, IP, TCP) ne s'en servent pas en l'état. | |
191 | -Seuls quelques outils de diagnostic peuvent l'utiliser. | |
192 | -.br | |
193 | -.B Exemple : | |
194 | -.br | |
195 | -.I " iwconfig eth0 nickname ""My Linux Node"" | |
196 | -.TP | |
197 | 210 | .BR rate / bit [rate] |
198 | 211 | Pour les cartes supportant plusieurs débits, positionne le débit en b/s. Le |
199 | 212 | débit est la vitesse à laquelle les bits sont transmis sur le médium, la |
200 | -vitesse du lien pour l'utilisateur est inférieure à cause du partage du médium | |
201 | -et des diverses entêtes. | |
213 | +vitesse du lien pour l'utilisateur est inférieure à cause du partage du | |
214 | +médium et des diverses entêtes. | |
202 | 215 | .br |
203 | -Vous pouvez ajouter le suffixe k, M ou G à la valeur (multiplicateur décimal\ : | |
204 | -10^3, 10^6 et 10^9\ b/s), ou ajouter suffisamment de «\ 0\ ». Les valeurs | |
205 | -en-dessous de 1000 sont spécifiques à la carte, habituellement un index de la | |
206 | -liste des débit supportés. Utilisez | |
216 | +Vous pouvez ajouter le suffixe k, M ou G à la valeur (multiplicateur | |
217 | +décimal\ : 10^3, 10^6 et 10^9\ b/s), ou ajouter suffisamment de '0'. Les | |
218 | +valeurs en-dessous de 1\ 000 sont spécifiques à la carte, habituellement un | |
219 | +index de la liste des débit supportés. Utilisez | |
207 | 220 | .I auto |
208 | -pour sélectionner le mode débit automatique (repli à un débit moindre pour | |
209 | -les canaux bruités), ce qui est le mode par défaut pour la plupart des cartes, | |
210 | -et | |
221 | +pour sélectionner le mode débit automatique (repli à un débit moindre pour les | |
222 | +canaux bruités), ce qui est le mode par défaut pour la plupart des cartes, et | |
211 | 223 | .I fixed |
212 | 224 | pour revenir à des paramètres fixes. Si vous spécifiez une valeur de débit |
213 | 225 | et ajoutez |
@@ -222,14 +234,110 @@ le driver utilisera tous les d | ||
222 | 234 | .br |
223 | 235 | .I " iwconfig eth0 rate 5.5M auto" |
224 | 236 | .TP |
237 | +.BR txpower | |
238 | +Pour les cartes supportant plusieurs puissances de transmission, règle la | |
239 | +puissance de transmission en dBm. Si | |
240 | +.I W | |
241 | +est la puissance en Watt, la puissance en dBm est | |
242 | +.IR "P\ =\ 30\ +\ 10.log(W)" . | |
243 | +Si la valeur est post-fixée par | |
244 | +.IR mW , | |
245 | +elle sera automatiquement convertie en dBm. | |
246 | +.br | |
247 | +De plus, | |
248 | +.IR on " et " off | |
249 | +active et désactive la radio, et | |
250 | +.IR auto " et " fixed | |
251 | +active et désactive le contrôle de puissance (si ces fonctions sont | |
252 | +disponibles). | |
253 | +.br | |
254 | +.B Exemples : | |
255 | +.br | |
256 | +.I " iwconfig eth0 txpower 15" | |
257 | +.br | |
258 | +.I " iwconfig eth0 txpower 30mW" | |
259 | +.br | |
260 | +.I " iwconfig eth0 txpower auto" | |
261 | +.br | |
262 | +.I " iwconfig eth0 txpower off" | |
263 | +.TP | |
264 | +.B sens | |
265 | +Positionne le seuil de sensibilité. Cela définie comment la carte est sensible | |
266 | +aux mauvaises conditions de fonctionnement (signal faible, interférence). Les | |
267 | +valeurs positives sont considérées comme des valeurs brutes et utilisées telles | |
268 | +quelles par le matériel ou un pourcentage, les valeurs négatives sont | |
269 | +interprétées en dBm. En fonction de la conception du matétiel, ce paramètre | |
270 | +peut contrôler diverses fonctions. | |
271 | +.br | |
272 | +Sur les cartes modernes, ce paramètre contrôle habituellement le seuil du | |
273 | +handover/roaming (seuil de cession), signal le plus bas pour lequel le matériel | |
274 | +reste associé au Point d'Accès courant. Lorsque le signal passe en-dessous de | |
275 | +ce seuil, la carte commence à chercher un nouveau/meilleur Point d'Accès. | |
276 | +Certaines cartes peuvent utiliser le nombre de beacons manquées pour déclencher | |
277 | +cela. En cas de forte densité de Points d'Accès, un seuil plus haut assure | |
278 | +d'être toujours associé au meilleur AP, et à l'inverse pour les faibles | |
279 | +densités d'APs, un seuil plus bas réduit les pertes d'associations. | |
280 | +.br | |
281 | +Sur les cartes plus anciennes, ce paramètre contrôle habituellement le seuil de | |
282 | +report (defer treshold), signal le plus faible pour lequel le matériel considère | |
283 | +le canal occupé. Les niveaux de signal au-dessus de ce seuil font que le | |
284 | +matériel inhibe sa propre transmission, tandis que les signaux plus faibles que | |
285 | +ce seuil sont ignorés et le matériel est libre de transmettre. Cela est souvent | |
286 | +fortement lié au seuil de réception, le plus bas niveau de signal pour lequel | |
287 | +le matériel essaye de recevoir un paquet. Des paramètres apropriées pour ces | |
288 | +seuils évitent à la carte de perdre du temps sur le bruit de fond lors des | |
289 | +réceptions de transmissions faibles. Les conceptions modernes semblent contrôler | |
290 | +ces seuils automatiquement. | |
291 | +.br | |
292 | +.br | |
293 | +.B Exemple : | |
294 | +.br | |
295 | +.I " iwconfig eth0 sens -80" | |
296 | +.br | |
297 | +.I " iwconfig eth0 sens 2" | |
298 | +.TP | |
299 | +.BR retry | |
300 | +La plupart des cartes supportent les retransmissions MAC (contrôle d'accès | |
301 | +au médium), et certaines permettent le paramétrage du mécanisme des tentatives | |
302 | +(en cas d'échec). | |
303 | +.br | |
304 | +Pour fixer le nombre maximum d'essais, entrez | |
305 | +.IR "limit `valeur'" . | |
306 | +C'est une valeur absolue (sans unité), et c'est le cas par défaut (si rien n'est | |
307 | +spécifié). | |
308 | +Pour fixer le temps maximum autorisé au mécanisme MAC pour ses tentatives, | |
309 | +entrez | |
310 | +.IR "lifetime `valeur'" . | |
311 | +Par défaut, cette valeur est en secondes, ajouter le suffixe m ou u pour | |
312 | +spécifier les valeurs en millisecondes ou microsecondes. | |
313 | +.br | |
314 | +Vous pouvez aussi ajouter les modificateurs | |
315 | +.IR short ", " long ", " min " et " max "." | |
316 | +Si la carte supporte le mode automatique, ils définissent les limites | |
317 | +inférieure et supérieure (NDT\ : de l'intervalle temporel dans lequel le | |
318 | +mécanisme MAC est autorisé à réitérer ses tentatives). D'autres cartes | |
319 | +définissent des valeurs différentes en fonction de la taille des paquets, par | |
320 | +exemple la norme 802.11 définit une | |
321 | +.I min limit | |
322 | +qui est la limite inférieure d'essai (paquets non RTS/CTS). | |
323 | +.br | |
324 | +.B Exemples : | |
325 | +.br | |
326 | +.I " iwconfig eth0 retry 16" | |
327 | +.br | |
328 | +.I " iwconfig eth0 retry lifetime 300m" | |
329 | +.br | |
330 | +.I " iwconfig eth0 retry short 12" | |
331 | +.br | |
332 | +.I " iwconfig eth0 retry min limit 8" | |
333 | +.TP | |
225 | 334 | .BR rts [_threshold] |
226 | 335 | RTS/CTS ajoute une «\ poignée de main\ » avant chaque transmission de paquet |
227 | 336 | pour être sûr que le canal est libre. Cela ajoute des entêtes (NDT\ : données de |
228 | -gestion), mais augmente les performances en cas de n½uds cachés ou | |
229 | -d'un grand nombre de noeuds actifs. Ce paramètre fixe la taille du plus petit | |
230 | -paquet pour lequel le noeud envoie un RTS\ ; une valeur égale à la taille | |
231 | -maximale des paquets inhibe ce mécanisme. Vous pouvez aussi positionner | |
232 | -ce paramètre sur | |
337 | +gestion), mais augmente les performances en cas de noeuds cachés ou d'un grand | |
338 | +nombre de noeuds actifs. Ce paramètre fixe la taille du plus petit paquet pour | |
339 | +lequel le noeud envoie un RTS\ ; une valeur égale à la taille maximale des | |
340 | +paquets inhibe ce mécanisme. Vous pouvez aussi positionner ce paramètre sur | |
233 | 341 | .IR auto ", " fixed " ou " off . |
234 | 342 | .br |
235 | 343 | .B Exemples : |
@@ -239,13 +347,19 @@ ce param | ||
239 | 347 | .I " iwconfig eth0 rts off" |
240 | 348 | .TP |
241 | 349 | .BR frag [mentation_threshold] |
242 | -La fragmentation permet de découper un paquet IP en une série de plus petits | |
243 | -fragments transmis par le médium. Dans la plupart des cas, cela ajoute des | |
350 | +La fragmentation permet de découper un paquet IP en une salve de plus petits | |
351 | +fragments transmis sur le médium. Dans la plupart des cas, cela ajoute des | |
244 | 352 | entêtes, mais dans un environnement très bruité, cela réduit les coûts de |
245 | -transmission dus aux erreurs et permet aux paquets d'être acheminés malgré | |
246 | -des séries d'interférences. Ce paramètre fixe la taille de fragment maximale\ ; | |
247 | -une valeur égale à la taille maximale de paquet désactive ce procédé. Vous | |
248 | -pouvez aussi mettre ce paramètre à | |
353 | +transmission dûs aux erreurs et permet aux paquets d'être acheminés malgré | |
354 | +des salves d'interférences. Ce paramètre fixe la taille de fragment maximale | |
355 | +qui est toujours inférieure à la taille maximale des paquets. | |
356 | +.br | |
357 | +Ce paramètre peut aussi contrôler le «\ Frame Bursting\ » disponible sur | |
358 | +certaines cartes, capacité à envoyer de multiple paquets IP ensembles. Ce | |
359 | +mécanisme sera activé si la taille de fragment est plus grande que la taille | |
360 | +maximale de paquet. | |
361 | +.br | |
362 | +Vous pouvez aussi mettre ce paramètre à | |
249 | 363 | .IR auto ", " fixed " ou " off . |
250 | 364 | .br |
251 | 365 | .B Exemples : |
@@ -258,7 +372,7 @@ pouvez aussi mettre ce param | ||
258 | 372 | Utilisé pour manipuler les clefs de cryptage ou brouillage et le mode de |
259 | 373 | sécurité. |
260 | 374 | .br |
261 | -Pour mettre la clef courante de cryptage, il suffit d'entrer la clef | |
375 | +Pour configurer la clef courante de cryptage, il suffit d'entrer la clef | |
262 | 376 | en hexadécimal telle que |
263 | 377 | .IR XXXX-XXXX-XXXX-XXXX " ou " XXXXXXXX . |
264 | 378 | Pour entrer une autre clef que la clef courante, ajoutez (au début ou à la |
@@ -290,7 +404,7 @@ n'accepte que des sessions crypt | ||
290 | 404 | si disponible. |
291 | 405 | .br |
292 | 406 | Si vous avez besoin de mettre plusieurs clefs, ou de mettre une clef et de |
293 | -changer la clef active, vous avez besoin d'utiliser des instructions à clefs | |
407 | +changer la clef active, vous avez besoin d'utiliser des instructions de clef | |
294 | 408 | .RB ( "key" ) |
295 | 409 | multiples. Les arguments peuvent être mis dans n'importe quel ordre, le |
296 | 410 | dernier sera prioritaire. |
@@ -317,15 +431,18 @@ dernier sera prioritaire. | ||
317 | 431 | Utilisé pour manipuler les paramètres et le mode du procédé de gestion |
318 | 432 | d'énergie. |
319 | 433 | .br |
320 | -Pour fixer la période entre les éveils, entrez la | |
434 | +Pour fixer la période entre les éveils, entrez | |
321 | 435 | .IR "period `valeur'" . |
322 | 436 | Pour fixer la temporisation avant le retour en veille, entrez la |
323 | 437 | .IR "timeout `valeur'" . |
438 | +Pour paramétrer le niveau générique de sauvegarde d'énergie, entrez | |
439 | +.IR "saving `valeur'" . | |
324 | 440 | Vous pouvez aussi ajouter les modificateurs |
325 | 441 | .IR min " et " max ". |
326 | 442 | Par défaut, ces valeurs sont exprimées en secondes, ajoutez le suffixe m ou u |
327 | 443 | pour spécifier les valeurs en millisecondes ou microsecondes. Parfois, ces |
328 | -valeurs sont sans unité (nombre de périodes de beacon, dwell ou similaire). | |
444 | +valeurs sont sans unité (nombre de périodes de beacon, dwell, pourcentage ou | |
445 | +similaire). | |
329 | 446 | .br |
330 | 447 | .IR off " et " on |
331 | 448 | désactive et réactive la gestion d'énergie. Enfin, vous pouvez mettre la |
@@ -346,75 +463,43 @@ broadcast) et | ||
346 | 463 | .br |
347 | 464 | .I " iwconfig eth0 power timeout 300u all" |
348 | 465 | .br |
466 | +.I " iwconfig eth0 power saving 3" | |
467 | +.br | |
349 | 468 | .I " iwconfig eth0 power off" |
350 | 469 | .br |
351 | 470 | .I " iwconfig eth0 power min period 2 power max period 4" |
352 | 471 | .TP |
353 | -.BR txpower | |
354 | -Pour les cartes supportant plusieurs puissances de transmission, règle la | |
355 | -puissance de transmission en dBm. Si | |
356 | -.I W | |
357 | -est la puissance en Watt, la puissance en dBm est | |
358 | -.IR "P\ =\ 30\ +\ 10.log(W)" . | |
359 | -Si la valeur est post fixée par | |
360 | -.IR mW , | |
361 | -elle sera automatiquement convertie en dBm. | |
362 | -.br | |
363 | -De plus, | |
364 | -.IR on " et " off | |
365 | -active et désactive la radio, et | |
366 | -.IR auto " et " fixed | |
367 | -active et désactive le contrôle de puissance (si ces fonctions sont | |
368 | -disponibles). | |
472 | +.BR modu [lation] | |
473 | +Force la carte à utiliser un jeu spécifique de modulations. Les cartes modernes | |
474 | +supportent diverses modulations, certaines étant standards telles 802.11b ou | |
475 | +802.11g, d'autres étant propriétaires. Cette commande force la carte à utiliser | |
476 | +seulement le jeu spécifique de modulations listé par la ligne de commande. Ceci | |
477 | +peut être utilisé pour résoudre des problèmes d'interopérabilité. | |
478 | +.br | |
479 | +La liste des modulations disponibles dépend du couple carte/pilote et peut être | |
480 | +affichée en utilisant | |
481 | +.IR "iwlist modulation" . | |
482 | +Notez que certains couples carte/pilote peuvent ne pas être capables de | |
483 | +sélectionner chaque modulation listée indépandement, certaines intervenant comme | |
484 | +un groupe. Vous pouvez aussi mettre ce paramètre à | |
485 | +.IR auto | |
486 | +pour laisser le couple carte/pilote faire de son mieux. | |
369 | 487 | .br |
370 | 488 | .B Exemples : |
371 | 489 | .br |
372 | -.I " iwconfig eth0 txpower 15" | |
373 | -.br | |
374 | -.I " iwconfig eth0 txpower 30mW" | |
490 | +.I " iwconfig eth0 modu 11g" | |
375 | 491 | .br |
376 | -.I " iwconfig eth0 txpower auto" | |
492 | +.I " iwconfig eth0 modu CCK OFDMa" | |
377 | 493 | .br |
378 | -.I " iwconfig eth0 txpower off" | |
379 | -.TP | |
380 | -.BR retry | |
381 | -La plupart des cartes supportent les retransmissions MAC (contrôle d'accès | |
382 | -au médium), et certaines permettent le paramétrage du mécanisme des tentatives | |
383 | -(en cas d'échec). | |
384 | -.br | |
385 | -Pour fixer le nombre maximum d'essais, entrez | |
386 | -.IR "limit `valeur'" . | |
387 | -C'est une valeur absolue (sans unité). | |
388 | -Pour fixer le temps maximum autorisé au mécanisme MAC pour ses tentatives, | |
389 | -entrez | |
390 | -.IR "lifetime `valeur'" . | |
391 | -Par défaut, cette valeur est en secondes, ajouter le suffixe m ou u pour | |
392 | -spécifier les valeurs en millisecondes ou microsecondes. | |
393 | -.br | |
394 | -Vous pouvez aussi ajouter les modificateurs | |
395 | -.IR min " et " max ". | |
396 | -Si la carte supporte le mode automatique, ils définissent les limites du | |
397 | -lifetime, ou les limites inférieure et supérieure (NDT\ : de l'intervalle | |
398 | -temporel dans lequel le mécanisme MAC est autorisé à réitérer ses tentatives). | |
399 | -D'autres cartes définissent des valeurs différentes en fonction de la taille | |
400 | -des paquets, par exemple la norme 802.11 définit une | |
401 | -.I min limit | |
402 | -qui est la limite inférieure d'essai (paquets non RTS/CTS). | |
403 | -.br | |
404 | -.B Exemples : | |
405 | -.br | |
406 | -.I " iwconfig eth0 retry 16" | |
407 | -.br | |
408 | -.I " iwconfig eth0 retry lifetime 300m" | |
409 | -.br | |
410 | -.I " iwconfig eth0 retry min limit 8" | |
494 | +.I " iwconfig eth0 modu auto" | |
411 | 495 | .TP |
412 | 496 | .BR commit |
413 | 497 | Certaines cartes peuvent ne pas appliquer immédiatement les changements |
414 | 498 | effectués par les Wireless Extensions (elles peuvent attendre pour prendre en |
415 | 499 | compte les changements ou les appliquer seulement quand la carte est montée via |
416 | -ifconfig). Cette commande (si disponible) force la carte à appliquer les | |
417 | -changements en suspens. | |
500 | +.IR ifconfig ). | |
501 | +Cette commande (si disponible) force la carte à appliquer les changements en | |
502 | +suspens. | |
418 | 503 | .br |
419 | 504 | Cela n'est normalement pas nécessaire, car la carte appliquera éventuellement |
420 | 505 | les changements, mais peut être utile pour débuggage. |
@@ -424,7 +509,7 @@ les changements, mais peut | ||
424 | 509 | .SH AFFICHAGE |
425 | 510 | Pour chaque matériel qui supporte les extensions wireless, |
426 | 511 | .I iwconfig |
427 | -affiche le nom du | |
512 | +affichera le nom du | |
428 | 513 | .B protocole MAC |
429 | 514 | utilisé (nom du matériel pour les protocoles propriétaires), |
430 | 515 | .RB l' ESSID |
@@ -474,7 +559,7 @@ Le param | ||
474 | 559 | .B Access Point |
475 | 560 | sera montré comme une cellule |
476 | 561 | .RB ( Cell ) |
477 | -en mode ad hoc (pour des raisons évidentes), mais il fonctionne néanmoins | |
562 | +en mode ad-hoc (pour des raisons évidentes), mais il fonctionne néanmoins | |
478 | 563 | de la même manière. |
479 | 564 | .PP |
480 | 565 | Si |
@@ -488,18 +573,18 @@ documentation du pilote pour une interpr | ||
488 | 573 | .B Link quality |
489 | 574 | Qualité globale du lien. Peut être basé sur le niveau de contention ou des |
490 | 575 | interférences, le taux d'erreur de trame ou de bit, la qualité du signal reçu, |
491 | -des synchronisations temporelles, ou autre métrique matérielle. C'est une valeur | |
492 | -agrégat, et dépend totalement du pilote et du matériel. | |
576 | +certaines synchronisations temporelles, ou d'autre métrique matérielle. C'est | |
577 | +une valeur agrégat, et dépend totalement du pilote et du matériel. | |
493 | 578 | .TP |
494 | 579 | .B Signal level |
495 | -Force du signal reçu (RSSI - force du signal reçu). Cela peut être des unités | |
580 | +Force du signal reçu (RSSI - force du signal reçu). Ce peut être des unités | |
496 | 581 | arbitraires ou des dBm, |
497 | 582 | .I iwconfig |
498 | -utilise des méta-informations du pilote pour interpréter les valeurs | |
583 | +utilise les méta-informations du pilote pour interpréter les valeurs | |
499 | 584 | brutes données par |
500 | 585 | .I /proc/net/wireless |
501 | -et affiche l'unité ou la valeur maximale correspondante (utilise l'arithmétique | |
502 | -8 bits). En mode | |
586 | +et affiche l'unité ou la valeur maximale correspondante (en utilisant | |
587 | +l'arithmétique 8 bits). En mode | |
503 | 588 | .I Ad-Hoc |
504 | 589 | cela peut être indéfini et vous devriez utiliser |
505 | 590 | .IR iwspy . |
@@ -525,7 +610,7 @@ un). | ||
525 | 610 | .TP |
526 | 611 | .B Tx excessive retries |
527 | 612 | Nombre de paquets que la carte n'a pas réussi à envoyer. La plupart des |
528 | -protocoles MAC réessaient un certain nombre de fois avant d'abandonner. | |
613 | +protocoles MAC réessayent un certain nombre de fois avant d'abandonner. | |
529 | 614 | .TP |
530 | 615 | .B invalid misc |
531 | 616 | Autres paquets perdus en relation avec les opérations spécifiques au sans fil. |
@@ -544,7 +629,7 @@ Jean Tourrilhes \- jt@hpl.hp.com | ||
544 | 629 | .\" TRADUCTION part |
545 | 630 | .\" |
546 | 631 | .SH TRADUCTION |
547 | -Maxime CHARPENNE, août 2004 (wireless_tools.27-pre25). | |
632 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
548 | 633 | .\" |
549 | 634 | .\" AVERTISSEMENT part |
550 | 635 | .\" |
@@ -7,6 +7,9 @@ | ||
7 | 7 | .\" Manuel identique pour la version 27-pre9 (beta) |
8 | 8 | .\" Mise à jour 2004/02/26 : version 27-pre11 (alpha) |
9 | 9 | .\" Mise à jour 2004/08/23 : version 27-pre25 |
10 | +.\" Mise à jour 2007/08 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | 13 | .\" |
11 | 14 | .TH IWEVENT 8 "23 juin 2004" "net-tools" "Manuel du Programmeur Linux" |
12 | 15 | .\" |
@@ -26,7 +29,7 @@ pilotes et les changements de param | ||
26 | 29 | .\" |
27 | 30 | .SH DESCRIPTION |
28 | 31 | .B iwevent |
29 | -affiche les «\ Wireless Events\ » (événements du système Wireless) reçu par le | |
32 | +affiche les «\ Wireless Events\ » (événements du système Wireless) reçus par le | |
30 | 33 | socket RTNetlink. Chaque ligne affiche le Wireless Event spécifique qui décrit |
31 | 34 | ce qui s'est passé sur l'interface sans fil spécifiée. |
32 | 35 | .br |
@@ -58,14 +61,14 @@ suivants\ : | ||
58 | 61 | .br |
59 | 62 | Tous ces événements seront générer sur toutes les interfaces sans fil par le |
60 | 63 | sous-système «\ wireless\ » du noyau (mais seulement si le pilote a été converti |
61 | -àl'API du nouveau pilote). | |
64 | +à l'API du nouveau pilote). | |
62 | 65 | .PP |
63 | 66 | La deuxième classe d'événements concerne ceux générés par le matériel, lorsque |
64 | 67 | quelque chose arrive ou qu'une tâche s'est terminée. Ces événements incluent\ : |
65 | 68 | .TP |
66 | 69 | .B New Access Point/Cell address |
67 | -L'interface a joint un nouveau point d'accès ou cellule ad hoc, ou perdu son | |
68 | -association avec. Il s'agit de la même adresse MAC affiché par | |
70 | +L'interface a joint un nouveau Point d'Accès ou Cellule Ad-Hoc, ou a perdu son | |
71 | +association avec un de ces derniers. Il s'agit de la même adresse affichée par | |
69 | 72 | .BR iwconfig . |
70 | 73 | .TP |
71 | 74 | .B Scan request completed |
@@ -85,12 +88,12 @@ r | ||
85 | 88 | .TP |
86 | 89 | .B Registered node |
87 | 90 | L'interface a réussi à enregistrer un nouveau client/paire sans fil. Sera |
88 | -généré la plupart du temps quand l'interface agit comme un point d'accès (mode | |
89 | -master). | |
91 | +généré la plupart du temps quand l'interface agit comme un Point d'Accès (mode | |
92 | +Master). | |
90 | 93 | .TP |
91 | 94 | .B Expired node |
92 | 95 | L'enregistrement d'un client/paire sur cette interface a expiré. Sera généré la |
93 | -plupart du temps quand l'interface agit comme un point d'accès (mode master). | |
96 | +plupart du temps quand l'interface agit comme un Point d'Accès (mode Master). | |
94 | 97 | .TP |
95 | 98 | .B Spy threshold crossed |
96 | 99 | La force du signal pour une des adresses de la «\ spy list\ » (NDT\ : voir |
@@ -98,7 +101,7 @@ iwspy(8)) est pass | ||
98 | 101 | haut. |
99 | 102 | .PP |
100 | 103 | La plupart des pilotes wireless génèrent seulement un sous-ensemble de ces |
101 | -événements, pas tous, la liste exacte dépendant de la combinaison spécifique | |
104 | +événements, pas tous. La liste exacte dépend de la combinaison spécifique | |
102 | 105 | matériel/pilote. Veuillez consulter la documentation du pilote pour les détails |
103 | 106 | de ce qui les génèrent, et utilisez |
104 | 107 | .IR iwlist (8) |
@@ -112,7 +115,7 @@ Jean Tourrilhes \- jt@hpl.hp.com | ||
112 | 115 | .\" TRADUCTION part |
113 | 116 | .\" |
114 | 117 | .SH TRADUCTION |
115 | -Maxime CHARPENNE, août 2004 (wireless_tools.27-pre25). | |
118 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
116 | 119 | .\" |
117 | 120 | \" AVERTISSEMENT part |
118 | 121 | .\" |
@@ -8,6 +8,9 @@ | ||
8 | 8 | .\" Mise à jour 2004/01/29 : version 27-pre9 (beta) |
9 | 9 | .\" Manuel identique pour la version 27-pre11 (alpha) |
10 | 10 | .\" Mise à jour 2004/08/23 : version 27-pre25 |
11 | +.\" Manuel identique pour la version 29-pre21 | |
12 | +.\" Manuel identique pour la version 30-pre1 | |
13 | +.\" Manuel identique pour la version 30-pre3 | |
11 | 14 | .\" |
12 | 15 | .TH IWGETID 8 "02 décembre 2003" "wireless-tools" "Manuel du Programmeur Linux" |
13 | 16 | .\" |
@@ -84,7 +87,7 @@ Affiche l'adresse MAC du | ||
84 | 87 | .I Point d'Access |
85 | 88 | ou de la |
86 | 89 | .I Cellule |
87 | -sans fil. | |
90 | +Wireless. | |
88 | 91 | .TP |
89 | 92 | .B --freq |
90 | 93 | Affiche la |
@@ -94,10 +97,10 @@ ou le | ||
94 | 97 | courant utilisé par l'interface. |
95 | 98 | .TP |
96 | 99 | .B --channel |
97 | -Affiche le canal | |
98 | -.RI ( channel ) | |
100 | +Affiche le | |
101 | +.IR canal " (" channel ) | |
99 | 102 | courant utilisé par l'interface. Le canal est déterminé en utilisant la |
100 | -fréquence courante et la liste de fréquence fournie par l'interface. | |
103 | +fréquence courante et la liste de fréquences fournie par l'interface. | |
101 | 104 | .TP |
102 | 105 | .B --mode |
103 | 106 | Affiche le |
@@ -118,7 +121,7 @@ Wireless Extension doivent avoir. | ||
118 | 121 | .\" TRADUCTION part |
119 | 122 | .\" |
120 | 123 | .SH TRADUCTION |
121 | -Maxime CHARPENNE, août 2004 (wireless_tools.27-pre25). | |
124 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
122 | 125 | .\" |
123 | 126 | \" AVERTISSEMENT part |
124 | 127 | .\" |
@@ -7,8 +7,11 @@ | ||
7 | 7 | .\" Mise à jour 2004/01/29 : version 27-pre9 (beta) |
8 | 8 | .\" Manuel identique pour la version 27-pre11 (alpha) |
9 | 9 | .\" Mise à jour 2004/08/23 : version 27-pre25 |
10 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | 13 | .\" |
11 | -.TH IWLIST 8 "23 juin 2004" "wireless-tools" "Manuel du Programmeur Linux" | |
14 | +.TH IWLIST 8 "13 avril 2006" "wireless-tools" "Manuel du Programmeur Linux" | |
12 | 15 | .\" |
13 | 16 | .\" NAME part |
14 | 17 | .\" |
@@ -18,21 +21,29 @@ iwlist \- Obtient plus d'informations wireless d | ||
18 | 21 | .\" SYNOPSIS part |
19 | 22 | .\" |
20 | 23 | .SH SYNOPSIS |
21 | -.BI "iwlist " interface " scanning" | |
24 | +.BI "iwlist [" interface "] scanning" | |
22 | 25 | .br |
23 | -.BI "iwlist " interface " frequency" | |
26 | +.BI "iwlist [" interface "] frequency" | |
24 | 27 | .br |
25 | -.BI "iwlist " interface " rate" | |
28 | +.BI "iwlist [" interface "] rate" | |
26 | 29 | .br |
27 | -.BI "iwlist " interface " key" | |
30 | +.BI "iwlist [" interface "] keys" | |
28 | 31 | .br |
29 | -.BI "iwlist " interface " power" | |
32 | +.BI "iwlist [" interface "] power" | |
30 | 33 | .br |
31 | -.BI "iwlist " interface " txpower" | |
34 | +.BI "iwlist [" interface "] txpower" | |
32 | 35 | .br |
33 | -.BI "iwlist " interface " retry" | |
36 | +.BI "iwlist [" interface "] retry" | |
34 | 37 | .br |
35 | -.BI "iwlist " interface " event" | |
38 | +.BI "iwlist [" interface "] event" | |
39 | +.br | |
40 | +.BI "iwlist [" interface "] auth" | |
41 | +.br | |
42 | +.BI "iwlist [" interface "] wpakeys" | |
43 | +.br | |
44 | +.BI "iwlist [" interface "] genie" | |
45 | +.br | |
46 | +.BI "iwlist [" interface "] modulation" | |
36 | 47 | .br |
37 | 48 | .BI "iwlist --help" |
38 | 49 | .br |
@@ -44,7 +55,7 @@ iwlist \- Obtient plus d'informations wireless d | ||
44 | 55 | .B Iwlist |
45 | 56 | est utilisé pour afficher de l'information additionnelle d'une interface réseau |
46 | 57 | wireless qui n'est pas affichée par |
47 | -.IR iwconfig (8) | |
58 | +.IR iwconfig (8). | |
48 | 59 | L'argument principal est utilisé pour sélectionner une catégorie d'information, |
49 | 60 | .B iwlist |
50 | 61 | affiche dans une forme détaillée toute information relative à cette catégorie, |
@@ -63,29 +74,35 @@ supporte. | ||
63 | 74 | .br |
64 | 75 | Le «\ Triggering scanning\ » est une opération nécessitant les privilèges |
65 | 76 | de |
66 | -.I root | |
67 | -et les utilisateurs normaux peuvent juste lire les résultats («\ letf-over scan | |
68 | -results\ »). Par défaut, les paramètres courants du pilote auront une grande | |
69 | -incidence sur la manière dont le scan est réalisé (la boucle du scan). Aussi, | |
70 | -cette commande est supposée prendre des arguments supplémentaires pour contrôler | |
71 | -le comportement du scan, mais cela n'est actuellement pas implémenté. | |
77 | +.IR root | |
78 | +uniquement et les utilisateurs normaux peuvent juste lire les résultats | |
79 | +(«\ letf-over scan results\ »). Par défaut, la manière dont le scan est | |
80 | +réalisé (la boucle du scan) dépend de la carte et de ses paramètres. | |
81 | +.br | |
82 | +Cette commande prend des arguments optionnels bien que la plupart des pilotes | |
83 | +les ignoreront. L'option | |
84 | +.B essid | |
85 | +est utilisée pour appliquer le scan sur un ESSID donné. L'option | |
86 | +.B last | |
87 | +ne déclenche pas de scan et lit les résultats du scan («\ letf-over scan | |
88 | +results\ »). | |
72 | 89 | .TP |
73 | 90 | .BR freq [uency]/ channel |
74 | 91 | Donne la liste des fréquences disponibles du périphérique et le nombre de canaux |
75 | 92 | définis. Veuillez noter que, habituellement, le pilote retourne le nombre total |
76 | 93 | de canaux et seulement les fréquences disponibles dans la région considérée, |
77 | -donc il n'y a pas correspondance entre le nombre de fréquences affichées et le | |
78 | -nombre de canaux. | |
94 | +donc il n'y a pas correspondance directe entre le nombre de fréquences | |
95 | +affichées et le nombre de canaux. | |
79 | 96 | .TP |
80 | 97 | .BR rate / bit [rate] |
81 | 98 | Liste les débits supportés par le périphérique (en b/s). |
82 | 99 | .TP |
83 | -.BR key / enc [ryption] | |
84 | -Liste les tailles des clefs de cryptage supportées et affiche toutes | |
85 | -les clefs de cryptage disponibles dans le périphérique. | |
100 | +.BR keys / enc [ryption] | |
101 | +Liste les tailles des clefs de cryptage supportées et liste toutes | |
102 | +les clefs de cryptage paramétrées dans le périphérique. | |
86 | 103 | .TP |
87 | 104 | .B power |
88 | -Liste les divers attributs et modes d'économie d'énergie («\ Power | |
105 | +Liste les différents attributs et modes d'économie d'énergie («\ Power | |
89 | 106 | Management\ ») du périphérique. |
90 | 107 | .TP |
91 | 108 | .B txpower |
@@ -114,14 +131,31 @@ pilote pour plus de d | ||
114 | 131 | .B event |
115 | 132 | Liste les événements wireless supportés par le périphérique. |
116 | 133 | .TP |
134 | +.B auth | |
135 | +Liste les paramètres courants de l'authentification WPA. | |
136 | +.TP | |
137 | +.BR wpa [keys] | |
138 | +Liste toutes les clefs de cryptage WPA paramétrées dans le matériel. | |
139 | +.TP | |
140 | +.B genie | |
141 | +Liste les éléments génériques d'information («\ Generic Information Elements\ ») | |
142 | +paramétrés dans le matériel (utilisés pour le support WPA). | |
143 | +.TP | |
144 | +.BR modu [lation] | |
145 | +Liste les modulations supportées par le matériel et les modulations actuellement | |
146 | +activées. | |
147 | +.TP | |
117 | 148 | .B --version |
118 | -Affiche la version des outils, ainsi que la version courante et recommandée des | |
119 | -Wireless Extensions pour l'outil et les diverses interfaces sans fil. | |
149 | +Affiche la version des outils, ainsi que les versions courante et recommandée | |
150 | +des Wireless Extensions pour l'outil et les diverses interfaces sans fil. | |
151 | +.TP | |
152 | +.B --help | |
153 | +Affiche un court message d'aide. | |
120 | 154 | .\" |
121 | 155 | .\" TRADUCTION part |
122 | 156 | .\" |
123 | 157 | .SH TRADUCTION |
124 | -Maxime CHARPENNE, août 2004 (wireless_tools.27-pre25). | |
158 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
125 | 159 | .\" |
126 | 160 | \" AVERTISSEMENT part |
127 | 161 | .\" |
@@ -3,9 +3,12 @@ | ||
3 | 3 | .\" |
4 | 4 | .\" Traduction 2003/08/17 Maxime CHARPENNE (voir |
5 | 5 | .\" http://www.delafond.org/traducmanfr/) |
6 | -.\" 1ère traduction : version 26 | |
7 | -.\" Manuel identique pour version 27-pre9 (beta) | |
8 | -.\" Manuel identique pour version 27-pre11 (alpha) | |
6 | +.\" 1ère traduction : version 26 | |
7 | +.\" Manuel identique pour la version 27-pre9 (beta) | |
8 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
9 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
10 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
11 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
9 | 12 | .\" |
10 | 13 | .TH IWPRIV 8 "31 octobre 1996" "net-tools" "Manuel du programmeur Linux" |
11 | 14 | .\" |
@@ -20,15 +23,11 @@ sans fil | ||
20 | 23 | .SH SYNOPSIS |
21 | 24 | .BI "iwpriv [" interface ] |
22 | 25 | .br |
23 | -.BI "iwpriv " "interface private-command " "[" private-parameters ] | |
26 | +.BI "iwpriv " "interface commande-privée " "[" paramètres-privés ] | |
24 | 27 | .br |
25 | -.BI "iwpriv " "interface private-command [I] " "[" private-parameters ] | |
28 | +.BI "iwpriv " "interface commande-privée " [ I "] [" paramètres-privés ] | |
26 | 29 | .br |
27 | 30 | .BI "iwpriv " interface " --all" |
28 | -.br | |
29 | -.BI "iwpriv " interface " roam " {on,off} | |
30 | -.br | |
31 | -.BI "iwpriv " interface " port " {ad-hoc,managed,N} | |
32 | 31 | .\" |
33 | 32 | .\" DESCRIPTION part |
34 | 33 | .\" |
@@ -55,10 +54,10 @@ ces commandes sp | ||
55 | 54 | .\" |
56 | 55 | .SH PARAMÈTRES |
57 | 56 | .TP |
58 | -.IR private-command " [" private-parameters ] | |
57 | +.IR commande-privée " [" paramètres-privés ] | |
59 | 58 | Exécute la |
60 | -.I private-command | |
61 | -(commande privée) spécifiée sur l'interface. | |
59 | +.I commande-privée | |
60 | +spécifiée sur l'interface. | |
62 | 61 | .br |
63 | 62 | La commande peut éventuellement prendre ou nécessiter des arguments, et peut |
64 | 63 | afficher de l'information. En conséquent, les paramètres de la ligne de |
@@ -68,11 +67,10 @@ aux besoins de la commande. La liste des commandes que | ||
68 | 67 | affiche (quand il est appelé sans paramètre) doit vous donner des indications |
69 | 68 | sur ces paramètres. |
70 | 69 | .br |
71 | -Cependant, vous devriez vous reporter à la documentation du pilote du | |
72 | -périphérique pour utiliser les commandes correctement, ainsi que connaître | |
73 | -leurs effets. | |
70 | +Cependant, vous devriez vous reporter à la documentation du pilote du matériel | |
71 | +pour utiliser les commandes correctement et connaître leurs effets. | |
74 | 72 | .TP |
75 | -.I "private-command [I]" "[" private-parameters ] | |
73 | +.IR "commande-privée " [ I "] [" paramètres-privés ] | |
76 | 74 | Idem, sauf que |
77 | 75 | .I I |
78 | 76 | (un entier) est passé à la commande en tant que |
@@ -84,19 +82,6 @@ pr | ||
84 | 82 | .BR -a / --all |
85 | 83 | Exécute et affiche toutes les commandes privées qui ne prennent aucun argument |
86 | 84 | (c.-à-d. en lecture seule). |
87 | -.TP | |
88 | -.B roam | |
89 | -Active ou désactive le «\ roaming\ », s'il est supporté. Appelle la commande | |
90 | -privée | |
91 | -.IR setroam . | |
92 | -Trouvé dans le pilote | |
93 | -.I wavelan_cs | |
94 | -.TP | |
95 | -.B port | |
96 | -Lit ou configure le type de port. Appelle les commandes privées | |
97 | -.IR gport_type ", " sport_type ", " get_port " ou " set_port | |
98 | -trouvées dans les pilotes | |
99 | -.IR wavelan2_cs " et " wvlan_cs . | |
100 | 85 | .\" |
101 | 86 | .\" DISPLAY part |
102 | 87 | .\" |
@@ -132,7 +117,7 @@ Jean Tourrilhes \- jt@hpl.hp.com | ||
132 | 117 | .\" TRADUCTION part |
133 | 118 | .\" |
134 | 119 | .SH TRADUCTION |
135 | -Maxime CHARPENNE, août 2003. | |
120 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
136 | 121 | .\" |
137 | 122 | \" AVERTISSEMENT part |
138 | 123 | .\" |
@@ -6,18 +6,22 @@ | ||
6 | 6 | .\" 1ère traduction : version 26 |
7 | 7 | .\" Manuel identique pour la version 27-pre9 (beta) |
8 | 8 | .\" Manuel identique pour la version 27-pre11 (alpha) |
9 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
10 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
9 | 13 | .\" |
10 | 14 | .TH IWSPY 8 "31 octobre 1996" "net-tools" "Manuel du Programmeur Linux" |
11 | 15 | .\" |
12 | 16 | .\" NAME part |
13 | 17 | .\" |
14 | 18 | .SH NOM |
15 | -iwspy \- Obtenir des statistiques wireless depuis des n½uds donnés | |
19 | +iwspy \- Obtenir des statistiques wireless depuis des noeuds donnés | |
16 | 20 | .\" |
17 | 21 | .\" SYNOPSIS part |
18 | 22 | .\" |
19 | 23 | .SH SYNOPSIS |
20 | -.BI "iwspy " interface | |
24 | +.BI "iwspy [" interface ] | |
21 | 25 | .br |
22 | 26 | .BI "iwspy " interface " [+] " DNSNAME " | " IPADDR " | " HWADDR " [...]" |
23 | 27 | .br |
@@ -31,17 +35,22 @@ iwspy \- Obtenir des statistiques wireless depuis des n | ||
31 | 35 | .\" |
32 | 36 | .SH DESCRIPTION |
33 | 37 | .B Iwspy |
34 | -est utilisé pour fixer une liste d'adresses sur une interface réseau sans fil, | |
35 | -et obtenir des informations sur la qualité du lien pour chacune d'elles. Ces | |
36 | -informations sont les mêmes que celles disponibles dans | |
38 | +est utilisé pour fixer une liste d'adresses à surveiller sur une interface | |
39 | +réseau sans fil, et obtenir des informations sur la qualité du lien pour | |
40 | +chacune d'elles. Ces informations sont les mêmes que celles disponibles dans | |
37 | 41 | .IR /proc/net/wireless "\ :" |
38 | 42 | qualité du lien, force du signal et niveau du bruit. |
39 | 43 | .PP |
40 | 44 | Ces informations sont mises à jour à chaque fois qu'un nouveau paquet est reçu, |
41 | 45 | donc chaque adresse de la liste ajoute quelques précisions en plus. |
42 | 46 | .PP |
43 | -Remarquez que cette fonctionnalité ne marche que pour les n½uds faisant partie | |
44 | -des cellules sans fil courantes. | |
47 | +Remarquez que cette fonctionnalité ne marche que pour les noeuds faisant partie | |
48 | +de la cellule sans fil courante, vous ne pouvez pas surveiller un Point d'Accès | |
49 | +avec lequel vous n'êtes pas associé (utiliser Scanning pour ça), ni les noeuds | |
50 | +dans d'autres cellules. En mode Managed, les paquets sont souvent relayés par | |
51 | +le Point d'Accès et, dans ce cas, vous obtiendrez la force du signal du Point | |
52 | +d'Accès. Pour ces raisons cette fonctionnalité est surtout utile pour les | |
53 | +modes Ad-Hoc et Master. | |
45 | 54 | .\" |
46 | 55 | .\" PARAMETER part |
47 | 56 | .\" |
@@ -50,7 +59,7 @@ Vous pouvez fixer jusqu' | ||
50 | 59 | .TP |
51 | 60 | .BR DNSNAME " | " IPADDR |
52 | 61 | Paramètre une adresse IP, ou dans certains cas un nom DNS (en utilisant le |
53 | -«\ resolver\ » de nom). Comme le matériel fonctionne avec des adresses | |
62 | +«\ resolver\ » de nom). Comme le matériel fonctionne avec des adresses | |
54 | 63 | matérielles, |
55 | 64 | .B iwspy |
56 | 65 | traduira les adresses IP grâce à |
@@ -62,8 +71,8 @@ Dans certains cas, cette adresse peut ne pas | ||
62 | 71 | vers ces noms/adresses et réessayer. |
63 | 72 | .TP |
64 | 73 | .B HWADDR |
65 | -Paramètre une adresse matérielle (MAC) (cette adresse n'est pas traduite et | |
66 | -vérifer comme le sont les adresses IP). L'adresse doit contenir deux-points | |
74 | +Paramètre une adresse matérielle (MAC) (cette adresse n'est pas traduite ni | |
75 | +vérifée comme le sont les adresses IP). L'adresse doit contenir deux-points | |
67 | 76 | .RB ( : ) |
68 | 77 | pour être reconnue comme une adresse matérielle. |
69 | 78 | .TP |
@@ -74,7 +83,7 @@ utilisateur devrait utiliser cette option pour | ||
74 | 83 | .TP |
75 | 84 | .B off |
76 | 85 | Enlève la liste d'adresses courante et désactive la fonctionnalité de |
77 | -scrutation. | |
86 | +surveillance. | |
78 | 87 | .TP |
79 | 88 | .B setthr |
80 | 89 | Fixe les seuils de force de signal |
@@ -113,4 +122,3 @@ avec le programme. | ||
113 | 122 | .BR iwevent (8), |
114 | 123 | .BR iwpriv (8), |
115 | 124 | .BR wireless (7). |
116 | - |
@@ -5,7 +5,11 @@ | ||
5 | 5 | .\" http://www.delafond.org/traducmanfr/) |
6 | 6 | .\" 1ère traduction : version 27-pre11 (alpha) |
7 | 7 | .\" Mise à jour 2004/08/24 : version 27-pre25 |
8 | -.TH WIRELESS 7 "04 mars 2004" "wireless-tools" "Manuel du Programmeur Linux" | |
8 | +.\" Manuel identique pour la version 29-pre21 | |
9 | +.\" Manuel identique pour la version 30-pre1 | |
10 | +.\" Manuel identique pour la version 30-pre3 | |
11 | +.\" | |
12 | +.TH WIRELESS 7 "4 mars 2004" "wireless-tools" "Manuel du Programmeur Linux" | |
9 | 13 | .\" |
10 | 14 | .\" NAME part |
11 | 15 | .\" |
@@ -29,19 +33,17 @@ sont une API vous permettant de manipuler les interfaces r | ||
29 | 33 | Ils sont composés d'une gamme d'outils et de fichiers de configuration. Ils sont |
30 | 34 | plus amplement détaillés dans le Linux Wireless LAN Howto. |
31 | 35 | .br |
32 | -Les | |
33 | -.B Wireless Tools | |
36 | +.RB Les " Wireless Tools" | |
34 | 37 | sont utilisés pour changer la configuration des interfaces réseau LAN wireless |
35 | 38 | à la volée, pour obtenir leur configuration courante, pour avoir des |
36 | 39 | statistiques et pour les diagnostiquer. Ils sont décrits dans leur propre page |
37 | 40 | man, voir ci-dessous pour les références. |
38 | 41 | .br |
39 | -La | |
40 | -.B configuration Wireless | |
42 | +.RB La " configuration Wireless" | |
41 | 43 | est propre à chaque distribution Linux. Cette page man contiendra à l'avenir |
42 | 44 | la procédure de configuration pour quelques distributions les plus communes. |
43 | -(quand j'en ai les informations nécessaires). Pour le moment, consultez le | |
44 | -fichier DISTRIBUTIONS.txt inclus avec le paquetage Wireless Tools. | |
45 | +Pour le moment, consultez le fichier DISTRIBUTIONS.txt inclus avec le paquetage | |
46 | +Wireless Tools. | |
45 | 47 | .\" |
46 | 48 | .\" DEBIAN 3.0 part |
47 | 49 | .\" |
@@ -126,7 +128,7 @@ Jean Tourrilhes \- jt@hpl.hp.com | ||
126 | 128 | .\" TRADUCTION part |
127 | 129 | .\" |
128 | 130 | .SH TRADUCTION |
129 | -Maxime CHARPENNE, août 2004 (wireless-tools.27-pre25). | |
131 | +Maxime CHARPENNE, octobre 2007 (wireless-tools.30-pre3). | |
130 | 132 | .\" |
131 | 133 | .\" AVERTISSEMENT part |
132 | 134 | .\" |
@@ -0,0 +1,218 @@ | ||
1 | +.\" Jean II - HPL - 2004-2007 | |
2 | +.\" ifrename.8 | |
3 | +.\" | |
4 | +.\" Traduction 2004/08/25 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 27-pre25 | |
7 | +.\" mise à jour 2007/08 : version 29-pre21 | |
8 | +.\" mise à jour 2007/10 : version 30-pre1 | |
9 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | +.\" | |
11 | +.TH IFRENAME 8 "26 février 2007" "wireless-tools" "Manuel du programmeur Linux" | |
12 | +.\" | |
13 | +.\" NAME part | |
14 | +.\" | |
15 | +.SH NOM | |
16 | +ifrename \- renomme les interfaces réseau basées sur différents critères | |
17 | +statiques | |
18 | +.\" | |
19 | +.\" SYNOPSIS part | |
20 | +.\" | |
21 | +.SH SYNOPSIS | |
22 | +.B "ifrename [-c fichierconfig] [-p] [-d] [-u] [-v] [-V] [-D] [-C]" | |
23 | +.br | |
24 | +.B "ifrename [-c fichierconfig] [-i interface] [-n nouveaunom]" | |
25 | +.\" | |
26 | +.\" DESCRIPTION part | |
27 | +.\" | |
28 | +.SH DESCRIPTION | |
29 | +.B Ifrename | |
30 | +est un outil vous permettant d'assigner un nom cohérent à chacune de vos | |
31 | +interfaces réseau. | |
32 | +.PP | |
33 | +Par défaut, les noms d'interface sont dynamiques, et à chaque interface réseau | |
34 | +est assigné le premier nom disponible | |
35 | +.RI ( eth0 ", " eth1 "...)." | |
36 | +L'ordre dans lequel les interfaces réseau sont créées peut varier. Pour les | |
37 | +interfaces internes («\ built-in interfaces\ »), l'énumération du noyau au | |
38 | +démarrage peut varier. Pour les interfaces amovibles, l'utilisateur peut les | |
39 | +brancher dans n'importe quel ordre. | |
40 | +.PP | |
41 | +.B Ifrename | |
42 | +permet à l'utilisateur de décider quel nom une interface réseau aura. | |
43 | +.B Ifrename | |
44 | +peut utiliser différents | |
45 | +.I sélecteurs | |
46 | +.RI "(«\ " selectors "\ »)" | |
47 | +pour spécifier comment les noms d'interface correspondent aux interfaces réseau | |
48 | +du système, le plus commun des sélecteurs étant | |
49 | +.RI "l'" "adresse MAC" | |
50 | +de l'interface. | |
51 | +.PP | |
52 | +.B Ifrename | |
53 | +doit être lancé avant que les interfaces ne soient démarrées, raison pour | |
54 | +laquelle il est surtout utile dans divers scripts (init, hotplug), mais il est | |
55 | +rarement utilisé directement par l'utilisateur. Par défaut, | |
56 | +.B ifrename | |
57 | +renomme toutes les interfaces système présentes en utilisant les correspondances | |
58 | +définies dans | |
59 | +.IR /etc/iftab . | |
60 | +.\" | |
61 | +.\" PARAMETER part | |
62 | +.\" | |
63 | +.SH PARAMÈTRES | |
64 | +.TP | |
65 | +.BI "-c " fichierconfig | |
66 | +Fixe le fichier de configuration à utiliser (par défaut | |
67 | +.IR /etc/iftab ). | |
68 | +Le fichier de configuration définit la correspondance entre les sélecteurs et | |
69 | +les noms d'interface, et il est décrit dans | |
70 | +.IR iftab (5). | |
71 | +.br | |
72 | +Si | |
73 | +.I fichierconfig | |
74 | +est «\ -\ », la configuration est lue depuis stdin. | |
75 | +.TP | |
76 | +.B -p | |
77 | +Sonde (charge) les modules noyau avant de renommer les interfaces (NDT\ : | |
78 | +.RI "«\ " p "robe\ »" | |
79 | +en anglais). Par défaut, | |
80 | +.B ifrename | |
81 | +vérifie seulement les interfaces déjà chargées, et ne charge pas | |
82 | +automatiquement les modules noyau requis. Cette option autorise une intégration | |
83 | +en douceur dans les systèmes qui ne chargent pas les modules avant d'appeler | |
84 | +.BR ifrename . | |
85 | +.TP | |
86 | +.B -d | |
87 | +Active divers bidouillages spécifiques à la | |
88 | +.BR Debian . | |
89 | +Combiné avec | |
90 | +.BR -p , | |
91 | +seuls les modules pour les interfaces spécifiées dans | |
92 | +.I /etc/network/interface | |
93 | +sont chargés. | |
94 | +.TP | |
95 | +.BI "-i " interface | |
96 | +Renomme seulement | |
97 | +.RI "l'" interface | |
98 | +spécifiée, par opposition à toutes les interfaces présentes sur le système. Le | |
99 | +nouveau nom de l'interface est affiché. | |
100 | +.TP | |
101 | +.BI "-n " nouveaunom | |
102 | +Si utilisé avec | |
103 | +.IR -i , | |
104 | +spécifie le nouveau nom de l'interface. La liste des correspondances depuis le | |
105 | +fichier de configuration est ignorée, l'interface spécifié avec | |
106 | +.I -i | |
107 | +est directement renommée en | |
108 | +.IR nouveaunom . | |
109 | +Le nouveau nom peut être un joker («\ wildcard\ ») qui contient une seule '*'. | |
110 | +.br | |
111 | +Si utilisé sans | |
112 | +.IR -i , | |
113 | +renomme les interfaces en utilisant seulement les correspondances qui les | |
114 | +renommeraient en | |
115 | +.IR nouveaunom . | |
116 | +Le nouveau nom ne peut pas être un joker. Cette utilisation de ifrename est | |
117 | +déconseillée car inefficace | |
118 | +.RI ( -n " sans " -i ). | |
119 | +Toutes les interfaces du système ont besoin d'être traitée à chaque invocation, | |
120 | +donc dans la plupart des cas il n'est pas plus rapide de simplement laisser | |
121 | +ifrename les renommer toutes (sans les deux | |
122 | +.IR -n " et " -i ). | |
123 | +.TP | |
124 | +.B -t | |
125 | +Active le support de l'absorption («\ takover\ ») de nom. Cela permet | |
126 | +d'échanger un nom d'interface entre deux interfaces ou plus. | |
127 | +.br | |
128 | +L'absorption permet à une interface de «\ voler\ » le nom d'une autre | |
129 | +interface. Cela fonctionne seulement avec le noyau 2.6.X et si l'autre | |
130 | +interface est désactivée. En conséquence, ce n'est pas compatible avec Hotplug. | |
131 | +L'autre interface se voit assigner un nom aléatoire, mais peut être renommée | |
132 | +plus tard avec | |
133 | +.BR ifrename . | |
134 | +.br | |
135 | +Le nombre d'absorptions est limité pour éviter les boucles circulaires, et donc | |
136 | +certaines situations d'échanges de noms complexes ne seront pas complètement | |
137 | +traitées. | |
138 | +.br | |
139 | +Dans tous les cas, l'échange de noms et l'utilisation de cette caractéristique | |
140 | +sont découragés, et vous êtes invités à choisir des noms uniques et sans | |
141 | +ambiguïté pour vos interfaces... | |
142 | +.TP | |
143 | +.B -u | |
144 | +Active le mode de sortie | |
145 | +.IR udev . | |
146 | +Cela permet une intégration propre de | |
147 | +.B ifrename | |
148 | +dans le framework | |
149 | +.IR udev , | |
150 | +.BR udevd (8) | |
151 | +utilisera | |
152 | +.B ifrename | |
153 | +pour assigner les noms d'interfaces présents dans | |
154 | +.IR /etc/iftab . | |
155 | +Dans ce mode, la sortie de ifrename peut être analysée («\ parsed\ ») | |
156 | +directement par | |
157 | +.BR udevd (8) | |
158 | +en tant qu'une action IMPORT. Cela nécessite la version 107 ou plus de | |
159 | +.IR udev . | |
160 | +.TP | |
161 | +.B -D | |
162 | +Mode «\ dry-run\ ». Ifrename ne changera aucune interface et affichera seulement | |
163 | +les nouveaux noms d'interface, si applicable, et sortira. | |
164 | +.br | |
165 | +Dans le mode «\ dry-run\ », le nom joker d'interface est résolu. Le nouveau nom | |
166 | +d'interface est affiché, même s'il est identique à l'ancien. | |
167 | +.br | |
168 | +Faire aussi attention que certains sélecteurs peuvent seulement être lus par | |
169 | +root, (par exemple ceux basés sur | |
170 | +.BR ethtool ), | |
171 | +et ifrename échouera en silence s'il est lancé par un utilisateur normal. En | |
172 | +d'autres termes, le mode «\ dry-run\ » lancé par un utilisateur standard ne | |
173 | +donnera pas forcément le résultat attendu. | |
174 | +.TP | |
175 | +.B -V | |
176 | +Mode verbeux. Ifrename affichera les résultats de l'analyse de son fichier de | |
177 | +configuration et de l'interrogation des séleceurs d'interfaces. Combiné avec | |
178 | +l'option | |
179 | +.RI "«\ " dry-run "\ »," | |
180 | +c'est une bonne manière de déboguer des configurations | |
181 | +complexes ou des problèmes triviaux. | |
182 | +.TP | |
183 | +.B -C | |
184 | +Compte les interfaces qui correspondent. Affiche le nombre d'interfaces | |
185 | +qui correspondent et le retourne comme code retour de ifrename. | |
186 | +.br | |
187 | +Le nombre d'interfaces qui correspondent est le nombre d'interfaces du système | |
188 | +pour lesquelles un lien a été trouvé dans le fichier de config (qui est | |
189 | +différent du numéro de l'interface renommée). | |
190 | +.\" | |
191 | +.\" AUTHOR part | |
192 | +.\" | |
193 | +.SH AUTEUR | |
194 | +Jean Tourrilhes \- jt@hpl.hp.com | |
195 | +.\" | |
196 | +.\" TRADUCTION part | |
197 | +.\" | |
198 | +.SH TRADUCTION | |
199 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
200 | +.\" | |
201 | +.\" AVERTISSEMENT part | |
202 | +.\" | |
203 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
204 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
205 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
206 | +avec le programme. | |
207 | +.\" | |
208 | +.\" FILES part | |
209 | +.\" | |
210 | +.SH FICHIERS | |
211 | +.I /etc/iftab | |
212 | +.\" | |
213 | +.\" SEE ALSO part | |
214 | +.\" | |
215 | +.SH VOIR AUSSI | |
216 | +.BR ifconfig (8), | |
217 | +.BR ip (8), | |
218 | +.BR iftab (5). |
@@ -0,0 +1,334 @@ | ||
1 | +.\" Jean II - HPL - 2004-2007 | |
2 | +.\" iftab.5 | |
3 | +.\" | |
4 | +.\" Traduction 2004/08/25 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 27-pre25 | |
7 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
8 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
9 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
10 | +.\" | |
11 | +.TH IFTAB 5 "26 février 2007" "wireless-tools" "Manuel du Programmeur Linux" | |
12 | +.\" | |
13 | +.\" NAME part | |
14 | +.\" | |
15 | +.SH NOM | |
16 | +iftab \- informations statiques sur les interfaces réseau | |
17 | +.\" | |
18 | +.\" DESCRIPTION part | |
19 | +.\" | |
20 | +.SH DESCRIPTION | |
21 | +Le fichier | |
22 | +.B /etc/iftab | |
23 | +contient de l'information descriptive à propos des diverses interfaces réseau. | |
24 | +.B iftab | |
25 | +n'est utilisé que par le programme | |
26 | +.IR ifrename (8) | |
27 | +pour assigner un nom d'interface réseau cohérent à chaque interface réseau. | |
28 | +.PP | |
29 | +.B /etc/iftab | |
30 | +définit un ensemble de | |
31 | +.IR correspondances " («\ " mappings "\ »)." | |
32 | +Chaque correspondance contient un nom d'interface et un ensemble de sélecteurs | |
33 | +(«\ selectors\ »). Les sélecteurs permettent à | |
34 | +.B ifrename | |
35 | +d'identifier chaque interface réseau du système. Si une interface réseau | |
36 | +correspond à tous les descripteurs d'une correspondance, | |
37 | +.B ifrename | |
38 | +essaye de changer le nom de l'interface par le nom de l'interface donné dans la | |
39 | +correspondance. | |
40 | +.\" | |
41 | +.\" MAPPINGS part | |
42 | +.\" | |
43 | +.SH CORRESPONDANCES («\ MAPPINGS\ ») | |
44 | +Chaque correspondance est décrite sur une ligne distincte, elle commence avec | |
45 | +.IR "interface name" " (nom d'interface)," | |
46 | +et contient un ensemble de | |
47 | +.RI "descripteurs («\ " descriptors "\ »)," | |
48 | +séparés par des espaces ou des tabulations. | |
49 | +.PP | |
50 | +La relation entre les descripteurs d'une correspondance est un | |
51 | +.IR "et logique" . | |
52 | +Une correspondance s'applique à une interface réseau seulement si tous les | |
53 | +descripteurs s'appliquent. Si une interface réseau ne supporte pas un | |
54 | +descripteur particulier, elle ne s'appliquera à aucune correspondance qui | |
55 | +utilise ce descripteur. | |
56 | +.PP | |
57 | +Si vous voulez utiliser des descripteurs alternatifs pour un nom d'interface | |
58 | +(ou logique), spécifiez deux correspondances différentes avec le même nom | |
59 | +d'interface (une par ligne). | |
60 | +.B Ifrename | |
61 | +utilise toujours la première correspondance en commençant par la | |
62 | +.I fin | |
63 | +de | |
64 | +.BR iftab , | |
65 | +donc les correspondances les plus restrictives devraient être définies en | |
66 | +dernier. | |
67 | +.\" | |
68 | +.\" INTERFACE NAME part | |
69 | +.\" | |
70 | +.SH NOM D'INTERFACE | |
71 | +La première partie de chaque correspondance est un nom d'interface. Si une | |
72 | +interface réseau correspond à tous les descripteurs d'une correspondance, | |
73 | +.B ifrename | |
74 | +essaye de changer le nom de l'interface par le nom de l'interface donné dans la | |
75 | +correspondance. | |
76 | +.PP | |
77 | +Le nom de l'interface d'une correspondance est soit un nom d'interface complet | |
78 | +(comme | |
79 | +.IR eth2 " ou " wlan1 ) | |
80 | +soit un motif de nom d'interface contenant un seul caractère joker (comme | |
81 | +.IR eth* " ou " wlan* ). | |
82 | +Dans le cas d'un caractère joker («\ wildcard\ »), le noyau remplace le | |
83 | +caractère '*' par le plus petit entier disponible faisant un nom d'interface | |
84 | +unique. Le caractère joker est supporté seulement pour les noyaux 2.6.1 et | |
85 | +2.4.30 et plus. | |
86 | +.PP | |
87 | +Il est déconseillé d'essayer de faire correspondre des interfaces à des noms | |
88 | +d'interface par défaut tels que | |
89 | +.IR eth0 ", " wlan0 " or " ppp0 . | |
90 | +Le noyau les utilise comme nom par défaut pour toute nouvelle interface, | |
91 | +il est donc très probable qu'une interface portant ce nom existe déjà et | |
92 | +empêche ifrename de les utiliser. Même si vous utilisez ces noms, l'interface | |
93 | +peut déjà être active dans certains cas. Ne pas utiliser ces noms permettra de | |
94 | +détecter sur le champ les interfaces non configurées ou les nouvelles | |
95 | +interfaces. | |
96 | +.br | |
97 | +Les bons noms sont uniques et significatifs, comme | |
98 | +.IR mondsl " or " hubprive , | |
99 | +ou utilisez de plus grand nombre entier, comme | |
100 | +.IR eth5 " or " wlan5 . | |
101 | +Le second type est habituellement plus facile à intégrer dans divers | |
102 | +utilitaires réseau. | |
103 | +.\" | |
104 | +.\" DESCRIPTORS part | |
105 | +.\" | |
106 | +.SH DESCRIPTEURS («\ DESCRIPTORS\ ») | |
107 | +Chaque descripteur est composé d'un nom de descripteur et d'une valeur de | |
108 | +descripteur. Les descripteurs spécifie un attribut statique d'une interface | |
109 | +réseau, le but étant d'identifier de manière unique chaque matériel. | |
110 | +.PP | |
111 | +La plupart des utilisateurs n'utiliseront que le sélecteur | |
112 | +.BR mac , | |
113 | +malgré ses problèmes potentiels, d'autres sélecteurs conviennent à des | |
114 | +paramétrages plus spécialisés. La plupart des sélecteurs acceptent '*' dans la | |
115 | +valeur du sélecteur pour correspondance joker, et la plupart des sélecteurs | |
116 | +sont indifférents à la casse des caractères. | |
117 | +.TP | |
118 | +.BI mac " adresse mac" | |
119 | +Correspond à l'Adresse MAC de l'interface avec l'adresse MAC spécifiée. | |
120 | +L'adresse MAC de l'interface peut être montrée en utilisant | |
121 | +.IR ifconfig (8) | |
122 | +ou | |
123 | +.IR ip (8). | |
124 | +.br | |
125 | +C'est le plus commun des sélecteurs, vu que chaque interface possède une | |
126 | +adresse MAC unique, ce qui permet de les identifier sans ambigüité. | |
127 | +Malgré tout, certaines interfaces n'ont pas d'adresse MAC valide tant qu'elles | |
128 | +ne sont pas activées\ ; dans certains cas, utiliser ce sélecteur est pertinent | |
129 | +ou impossible. | |
130 | +.TP | |
131 | +.BI arp " type arp" | |
132 | +Fait correspondre le Type ARP («\ ARP Type\ ») (aussi appelé «\ Link Type\ ») | |
133 | +de l'interface avec le type ARP spécifié par un nombre. Le Type ARP de | |
134 | +l'interface peut être montré en utilisant | |
135 | +.IR ifconfig (8) | |
136 | +ou | |
137 | +.IR ip (8), | |
138 | +le type | |
139 | +.B link/ether | |
140 | +correspond à | |
141 | +.B 1 | |
142 | +et le type | |
143 | +.B link/ieee802.11 | |
144 | +correspond à | |
145 | +.BR 801 . | |
146 | +.br | |
147 | +Ce sélecteur est utile quand un pilote crée plusieurs interfaces réseau pour | |
148 | +une seule carte réseau. | |
149 | +.TP | |
150 | +.BI driver " nom de pilote" | |
151 | +Fait correspondre le Nom de Pilote («\ Driver Name\ ») de l'interface avec le | |
152 | +nom de pilote spécifié. Le Nom de Pilote de l'interface peut être montré en | |
153 | +utilisant | |
154 | +.IR "ethtool -i" (8). | |
155 | +.TP | |
156 | +.BI businfo " information de bus" | |
157 | +Fait correspondre l'Information de Bus («\ Bus Information\ ») de l'interface | |
158 | +avec l'information de bus spécifiée. L'Information de Bus de l'interface peut | |
159 | +être montrée en utilisant | |
160 | +.IR "ethtool -i" (8). | |
161 | +.TP | |
162 | +.BI firmware " version firmware " | |
163 | +Fait correspondre la Version Firmware («\ Firmware Revision\ ») de l'interface | |
164 | +avec l'information de la version firmware. La Version Firmware de l'interface | |
165 | +peut être montrée en utilisant | |
166 | +.IR "ethtool -i" (8). | |
167 | +.TP | |
168 | +.BI baseaddress " addresse de base" | |
169 | +Fait correspondre l'Adresse de Base («\ Base Address\ ») de l'interface avec | |
170 | +l'adresse de base spécifiée. L'Adresse de Base de l'interface peut être montrée | |
171 | +en utilisant | |
172 | +.IR ifconfig (8). | |
173 | +.br | |
174 | +Ce sélecteur n'est utile que pour les cartes ISA et EISA car la plupart des | |
175 | +cartes utilisent l'allocation dynamique pour l'Adresse de Base. | |
176 | +.TP | |
177 | +.BI irq " ligne irq" | |
178 | +Fait correspondre la Ligne IRQ (interruption) de l'interface avec la ligne IRQ | |
179 | +spécifiée. La Ligne IRQ de l'interface peut être montrée en utilisant | |
180 | +.IR ifconfig (8). | |
181 | +.br | |
182 | +Ce sélecteur n'est habituellement pas suffisant pour identifier de manière | |
183 | +unique une interface, car les Lignes IRQ peuvent être partagées. | |
184 | +.TP | |
185 | +.BI iwproto " protocole wireless" | |
186 | +Fait correspondre le Protocole Wireless de l'interface avec le protocole | |
187 | +wireless spécifié. Le Protocole Wireless de l'interface peut être montré | |
188 | +en utilisant | |
189 | +.IR iwconfig (8), | |
190 | +ou | |
191 | +.IR iwgetid (8). | |
192 | +.br | |
193 | +Ce sélecteur n'est valable que pour les interfaces wireless et n'est pas | |
194 | +suffisant pour en identifier une de manière unique. | |
195 | +.TP | |
196 | +.BI pcmciaslot " prise pcmcia " | |
197 | +Fait correspondre le numéro de Prise Pcmpcia («\ Pcmcia Socket \ ») de | |
198 | +l'interface. Le numéro de Prise Pcmpcia de l'interface peut être montré en | |
199 | +utilisant | |
200 | +.IR "cardctl ident" (8). | |
201 | +.br | |
202 | +Ce sélecteur est habituellement supporté pour les cartes 16 bits seulement, | |
203 | +pour les cartes 32 bits il est conseillé d'utiliser le sélecteur | |
204 | +.BR businfo . | |
205 | +.TP | |
206 | +.BI prevname " nom interface précédent" | |
207 | +Fait correspondre le nom de l'interface avant qu'elle soit renommée avec | |
208 | +le nom précédent spécifié. | |
209 | +.br | |
210 | +Ce sélecteur devrait être évité car le nom précédent de l'interface peut varier | |
211 | +en fonction de diverses conditions. Une mise à jour système/noyau/pilote peut | |
212 | +changer le nom original. Dès lors, ifrename ou un autre utilitaire peut la | |
213 | +renommer avant l'exécution de ce sélecteur. | |
214 | +.TP | |
215 | +.BI SYSFS{ nomfichier } " valeur" | |
216 | +Fait correspondre le contenu de l'attribut sysfs donné par nomfichier avec la | |
217 | +valeur spécifiée. Pour les liens symboliques et les répertoires parents, fait | |
218 | +correspondre le nom réel du répertoire de l'attribut sysfs donné par nomfichier | |
219 | +avec la valeur spécifiée. | |
220 | +.br | |
221 | +Une liste des attributs sysfs les plus utiles est donnée dans la section | |
222 | +suivante. | |
223 | +.\" | |
224 | +.\" SYSFS DESCRIPTORS part | |
225 | +.\" | |
226 | +.SH DESCRIPTEURS SYSFS | |
227 | +Sur la plupart des systèmes, les attributs sysfs pour une carte donnée sont | |
228 | +situés dans le répertoire nommé après cette interface dans | |
229 | +.IR /sys/class/net/ . | |
230 | +La plupart des attributs sysfs sont des fichiers, et leurs valeurs peuvent | |
231 | +être lues en utilisant | |
232 | +.IR cat "(1) ou " more (1). | |
233 | +Il est aussi possible de faire des correspondances dans les attributs des | |
234 | +sous-répertoires. | |
235 | +.PP | |
236 | +Certains attributs sysfs sont des liens symboliques qui pointent vers d'autres | |
237 | +répertoires sysfs. Si l'attribut nomfichier est un lien symbolique, l'attribut | |
238 | +sysfs sera résolu avec le nom du répertoire pointé par le lien en utilisant | |
239 | +.IR readlink (1). | |
240 | +La localisation du répertoire dans l'arborescence sysfs est importante aussi. | |
241 | +Si l'attribut nomfichier fini par | |
242 | +.IR /.. , | |
243 | +l'attribut sysfs sera résolu avec le nom réel du répertoire parent en utilisant | |
244 | +.IR pwd (1). | |
245 | +.PP | |
246 | +Le système de fichier sysfs est supporté seulement avec les noyaux 2.6.X et a | |
247 | +besoin d'être monté (habituellement dans | |
248 | +.IR /sys ). | |
249 | +Les sélecteurs sysfs ne sont pas aussi efficaces que les autres sélecteurs, et | |
250 | +ne devraient donc pas être employés pour le maximum de performance. | |
251 | +.PP | |
252 | +Ci-après les attributs sysfs communs et leurs descripteurs ifrename équivalents. | |
253 | +.TP | |
254 | +.BI SYSFS{address} " valeur" | |
255 | +Comme le descripteur | |
256 | +.BR mac . | |
257 | +.TP | |
258 | +.BI SYSFS{type} " valeur" | |
259 | +Comme le descripteur | |
260 | +.BR arp . | |
261 | +.TP | |
262 | +.BI SYSFS{device} " valeur" | |
263 | +Valable seulement jusqu'au noyau 2.6.20. Comme le sélecteur | |
264 | +.BR businfo . | |
265 | +.TP | |
266 | +.BI SYSFS{..} " valeur" | |
267 | +Valable seulement depuis le noyau 2.6.21. Comme le sélecteur | |
268 | +.BR businfo . | |
269 | +.TP | |
270 | +.BI SYSFS{device/driver} " valeur" | |
271 | +Valable seulement jusqu'au noyau 2.6.20. Comme le sélecteur | |
272 | +.BR driver . | |
273 | +.TP | |
274 | +.BI SYSFS{../driver} " valeur" | |
275 | +Valable seulement depuis le noyau 2.6.21. Comme le sélecteur | |
276 | +.BR driver . | |
277 | +.TP | |
278 | +.BI SYSFS{device/irq} " valeur" | |
279 | +Valable seulement jusqu'au noyau 2.6.20. Comme le sélecteur | |
280 | +.BR irq . | |
281 | +.TP | |
282 | +.BI SYSFS{../irq} " valeur" | |
283 | +Valable seulement depuis le noyau 2.6.21. Comme le sélecteur | |
284 | +.BR irq . | |
285 | +.\" | |
286 | +.\" EXAMPLES part | |
287 | +.\" | |
288 | +.SH EXEMPLES | |
289 | +# Ceci est un commentaire | |
290 | +.br | |
291 | +eth2 mac 08:00:09:DE:82:0E | |
292 | +.br | |
293 | +eth3 driver wavelan interrupt 15 baseaddress 0x390 | |
294 | +.br | |
295 | +eth4 driver pcnet32 businfo 0000:02:05.0 | |
296 | +.br | |
297 | +air* mac 00:07:0E:* arp 1 | |
298 | +.br | |
299 | +myvpn SYSFS{address} 00:10:83:* SYSFS{type} 1 | |
300 | +.br | |
301 | +bcm* SYSFS{device} 0000:03:00.0 SYSFS{device/driver} bcm43xx | |
302 | +.br | |
303 | +bcm* SYSFS{..} 0000:03:00.0 SYSFS{../driver} bcm43xx | |
304 | +.\" | |
305 | +.\" AUTHOR part | |
306 | +.\" | |
307 | +.SH AUTEUR | |
308 | +Jean Tourrilhes \- jt@hpl.hp.com | |
309 | +.\" | |
310 | +.\" TRADUCTION part | |
311 | +.\" | |
312 | +.SH TRADUCTION | |
313 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
314 | +.\" | |
315 | +.\" AVERTISSEMENT part | |
316 | +.\" | |
317 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
318 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
319 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
320 | +avec le programme. | |
321 | +.\" | |
322 | +.\" FILES part | |
323 | +.\" | |
324 | +.SH FICHIERS | |
325 | +.I /etc/iftab | |
326 | +.\" | |
327 | +.\" SEE ALSO part | |
328 | +.\" | |
329 | +.SH VOIR AUSSI | |
330 | +.BR ifrename (8), | |
331 | +.BR ifconfig (8), | |
332 | +.BR ip (8), | |
333 | +.BR ethtool (8), | |
334 | +.BR iwconfig (8). |
@@ -0,0 +1,654 @@ | ||
1 | +.\" Jean II - HPLB - 1996 => HPL - 2004 | |
2 | +.\" iwconfig.8 | |
3 | +.\" | |
4 | +.\" Traduction 2003/07/15 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 26 | |
7 | +.\" Mise à jour 2004/01/28 : version 27-pre9 (beta) | |
8 | +.\" Mise à jour 2004/02/26 : version 27-pre11 (alpha) | |
9 | +.\" Mise à jour 2004/08/23 : version 27-pre25 | |
10 | +.\" Mise à jour 2007/07 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
13 | +.\" | |
14 | +.TH IWCONFIG 8 "30 mars 2006" "wireless-tools" "Manuel du programmeur Linux" | |
15 | +.\" | |
16 | +.\" NAME part | |
17 | +.\" | |
18 | +.SH NOM | |
19 | +iwconfig \- configure une interface réseau sans-fil (wireless) | |
20 | +.\" | |
21 | +.\" SYNOPSIS part | |
22 | +.\" | |
23 | +.SH SYNOPSIS | |
24 | +.BI "iwconfig [" interface ] | |
25 | +.br | |
26 | +.BI "iwconfig " interface " [essid " X "] [nwid " N "] [mode " M "] [freq " F "] | |
27 | +.br | |
28 | +.BI " [channel " C "] [sens " S "] [ap " A "] [nick " NN ] | |
29 | +.br | |
30 | +.BI " [rate " R "] [rts " RT "] [frag " FT "] [txpower " T ] | |
31 | +.br | |
32 | +.BI " [enc " E "] [key " K "] [power " P "] [retry " R ] | |
33 | +.br | |
34 | +.BI " [modu " M "] [commit] | |
35 | +.br | |
36 | +.BI "iwconfig --help" | |
37 | +.br | |
38 | +.BI "iwconfig --version" | |
39 | +.\" | |
40 | +.\" DESCRIPTION part | |
41 | +.\" | |
42 | +.SH DESCRIPTION | |
43 | +.B Iwconfig | |
44 | +est similaire à | |
45 | +.IR ifconfig (8), | |
46 | +mais est dédié aux interfaces wireless. Il est utilisé pour positionner les | |
47 | +paramètres des interfaces réseaux qui sont spécifiques aux opérations wireless | |
48 | +(par exemple\ : la fréquence). | |
49 | +.B Iwconfig | |
50 | +peut aussi être utilisé pour afficher ces paramètres, et les statistiques | |
51 | +concernant le sans fil (extraites de | |
52 | +.IR /proc/net/wireless ). | |
53 | +.PP | |
54 | +Tous ces paramètres et statistiques dépendent du matériel. Chaque pilote ne | |
55 | +fournira que quelques uns d'entre eux en fonction du support matériel, et | |
56 | +l'étendue des valeurs peut changer. Veuillez vous référer aux pages man de | |
57 | +chaque matériel pour plus de détails. | |
58 | +.\" | |
59 | +.\" PARAMETER part | |
60 | +.\" | |
61 | +.SH PARAMÈTRES | |
62 | +.TP | |
63 | +.B essid | |
64 | +Positionne le ESSID (ou Network Name - pour certains produits, il peut aussi | |
65 | +être désigné comme Domain ID). L'ESSID est utilisé pour identifier les cellules | |
66 | +qui font partie du même réseau virtuel. | |
67 | +.br | |
68 | +Par opposition à l'adresse de l'AP (Point d'Accès) ou au NWID qui définissent | |
69 | +une seule cellule, l'ESSID définit un groupe de cellules connectées via des | |
70 | +répéteurs ou via l'infrastructure, où l'utilisateur peut errer («\ roamer\ ») | |
71 | +de manière transprente (c.-à-d. changer de noeud sans perdre sa connexion). | |
72 | +.br | |
73 | +Avec certaines cartes, vous pouvez désactiver le contrôle du ESSID («\ ESSID | |
74 | +promiscuous\ ») avec | |
75 | +.IR off " ou " any " (et " on | |
76 | +pour le réactiver). | |
77 | +.br | |
78 | +Si le ESSID du réseau est un des mots-clefs spéciaux | |
79 | +.RI ( off ", " on " ou " any ), | |
80 | +vous devrez utiliser | |
81 | +.I -- | |
82 | +pour l'échapper. | |
83 | +.br | |
84 | +.B Exemples : | |
85 | +.br | |
86 | +.I " iwconfig eth0 essid any" | |
87 | +.br | |
88 | +.I " iwconfig eth0 essid ""Mon Reseau"" | |
89 | +.br | |
90 | +.I " iwconfig eth0 essid -- ""ANY"" | |
91 | +.TP | |
92 | +.BR nwid | |
93 | +Positionne le Network ID. Comme tous les réseaux sans fil adjacents partagent | |
94 | +le même médium, ce paramètre est utilisé pour les différencier (créer des | |
95 | +réseaux logiques colocalisés) et pour identifier des nœuds appartenant à la | |
96 | +même cellule. | |
97 | +.br | |
98 | +Ce paramètre est seulement utilisé par les matériels antérieurs à 802.11, la | |
99 | +norme 802.11 se servant du ESSID et de l'adresse de l'AP pour cette fonction. | |
100 | +.br | |
101 | +Avec certaines cartes, vous pouvez désactiver le contrôle du Network ID (NWID | |
102 | +promiscuous) avec | |
103 | +.IR off " (et " on | |
104 | +pour le réactiver). | |
105 | +.br | |
106 | +.B Exemples : | |
107 | +.br | |
108 | +.I " iwconfig eth0 nwid AB34 | |
109 | +.br | |
110 | +.I " iwconfig eth0 nwid off" | |
111 | +.TP | |
112 | +.BR nick [name] | |
113 | +Positionne le surnom (nickname), ou nom de station. Quelques produits | |
114 | +802.11 le définissent, mais il n'est pas utilisé dans la mesure où les | |
115 | +protocoles les plus usités (MAC, IP, TCP) ne s'en servent pas en l'état. | |
116 | +Seuls quelques outils de diagnostic peuvent l'utiliser. | |
117 | +.br | |
118 | +.B Exemple : | |
119 | +.br | |
120 | +.I " iwconfig eth0 nickname ""My Linux Node"" | |
121 | +.TP | |
122 | +.B mode | |
123 | +Positionne le mode de fonctionnement du matériel, qui dépend de la topologie du | |
124 | +réseau. Le mode peut être | |
125 | +.I Ad-Hoc | |
126 | +(réseau composé d'une seule cellule et sans Point d'Accès), | |
127 | +.I Managed | |
128 | +(un nœud se connecte à un réseau composé de plusieurs Points d'Accès, avec | |
129 | +roaming ou errance), | |
130 | +.I Master | |
131 | +(le nœud est le maître qui synchronise ou agit comme un Point d'Accès), | |
132 | +.I Repeater | |
133 | +(le nœud transmet les paquets entre les autres nœuds wireless), | |
134 | +.I Secondary | |
135 | +(le nœud agit comme un maître/répéteur supplémentaire), | |
136 | +.I Monitor | |
137 | +(le nœud agit comme un moniteur passif et ne fait que recevoir des paquets) ou | |
138 | +.IR Auto . | |
139 | +.br | |
140 | +.B Exemple : | |
141 | +.br | |
142 | +.I " iwconfig eth0 mode Managed" | |
143 | +.br | |
144 | +.I " iwconfig eth0 mode Ad-Hoc" | |
145 | +.TP | |
146 | +.BR freq / channel | |
147 | +Positionne la fréquence d'exploitation ou canal du périphérique. Une valeur | |
148 | +inférieure à 1\ 000 indique un numéro de canal, une valeur supérieure à 1\ 000 | |
149 | +est une fréquence en Hz. Vous pouvez ajouter le suffixe k, M ou G à la valeur | |
150 | +(par exemple, «\ 2.46G\ » pour la fréquence 2,46\ GHz), ou ajouter suffisamment | |
151 | +de '0'. | |
152 | +.br | |
153 | +Les canaux sont habituellement numérotés à partir de 1, et vous pouvez utiliser | |
154 | +.IR iwlist (8) | |
155 | +pour obtenir le nombre total de canaux, lister les fréquences disponibles, et | |
156 | +afficher la fréquence courante comme un canal. Suivants les réglementations, | |
157 | +certaines fréquences/canaux peuvent ne pas être disponibles. | |
158 | +.br | |
159 | +La plupart du temps lorsque le mode Managed est utilisé, le Point d'Accès | |
160 | +impose le canal et le pilote refusera le paramètre de la fréquence. Dans le | |
161 | +mode Ad-Hoc, le paramètre fréquence doit seulement être utilisé à la | |
162 | +création de la cellule initiale, et doit être ignoré quand on rejoint une | |
163 | +cellule existante. | |
164 | +.br | |
165 | +Vous pouvez aussi utiliser | |
166 | +.I off | |
167 | +ou | |
168 | +.I auto | |
169 | +pour laisser la carte choisir le meilleur canal (lorsque c'est supporté). | |
170 | +.br | |
171 | +.B Exemples : | |
172 | +.br | |
173 | +.I " iwconfig eth0 freq 2422000000" | |
174 | +.br | |
175 | +.I " iwconfig eth0 freq 2.422G" | |
176 | +.br | |
177 | +.I " iwconfig eth0 channel 3" | |
178 | +.br | |
179 | +.I " iwconfig eth0 channel auto" | |
180 | +.TP | |
181 | +.B ap | |
182 | +Force la carte à s'enregistrer auprès du Point d'Accès donné par l'adresse, | |
183 | +si c'est possible. Cette adresse est l'identité de la cellule du Point | |
184 | +d'Accès, celle indiqué par un scanning wireless, qui peut être différente de | |
185 | +son adresse MAC. Si le lien wireless est point-à-point, mettre l'adresse de | |
186 | +l'autre côté du lien. Si le lien est ad-hoc, mettre l'identité de la cellule | |
187 | +du réseau ad-hoc. | |
188 | +.br | |
189 | +Quand la qualité de la connexion devient trop mauvaise, | |
190 | +le pilote peut revenir en mode automatique (la carte sélectionne le meilleur | |
191 | +Point d'Accès à portée). | |
192 | +.br | |
193 | +Vous pouvez aussi utiliser | |
194 | +.I off | |
195 | +pour réactiver le mode automatique sans changer le Point d'Accès courant, | |
196 | +ou vous pouvez utiliser | |
197 | +.I any | |
198 | +ou | |
199 | +.I auto | |
200 | +pour forcer la carte à se ré-associer avec le meilleur Point d'Accès courant. | |
201 | +.br | |
202 | +.B Exemple : | |
203 | +.br | |
204 | +.I " iwconfig eth0 ap 00:60:1D:01:23:45" | |
205 | +.br | |
206 | +.I " iwconfig eth0 ap any" | |
207 | +.br | |
208 | +.I " iwconfig eth0 ap off" | |
209 | +.TP | |
210 | +.BR rate / bit [rate] | |
211 | +Pour les cartes supportant plusieurs débits, positionne le débit en b/s. Le | |
212 | +débit est la vitesse à laquelle les bits sont transmis sur le médium, la | |
213 | +vitesse du lien pour l'utilisateur est inférieure à cause du partage du | |
214 | +médium et des diverses entêtes. | |
215 | +.br | |
216 | +Vous pouvez ajouter le suffixe k, M ou G à la valeur (multiplicateur | |
217 | +décimal\ : 10^3, 10^6 et 10^9\ b/s), ou ajouter suffisamment de '0'. Les | |
218 | +valeurs en-dessous de 1\ 000 sont spécifiques à la carte, habituellement un | |
219 | +index de la liste des débit supportés. Utilisez | |
220 | +.I auto | |
221 | +pour sélectionner le mode débit automatique (repli à un débit moindre pour les | |
222 | +canaux bruités), ce qui est le mode par défaut pour la plupart des cartes, et | |
223 | +.I fixed | |
224 | +pour revenir à des paramètres fixes. Si vous spécifiez une valeur de débit | |
225 | +et ajoutez | |
226 | +.IR auto , | |
227 | +le driver utilisera tous les débits inférieurs et égaux à cette valeur. | |
228 | +.br | |
229 | +.B Exemples : | |
230 | +.br | |
231 | +.I " iwconfig eth0 rate 11M" | |
232 | +.br | |
233 | +.I " iwconfig eth0 rate auto" | |
234 | +.br | |
235 | +.I " iwconfig eth0 rate 5.5M auto" | |
236 | +.TP | |
237 | +.BR txpower | |
238 | +Pour les cartes supportant plusieurs puissances de transmission, règle la | |
239 | +puissance de transmission en dBm. Si | |
240 | +.I W | |
241 | +est la puissance en Watt, la puissance en dBm est | |
242 | +.IR "P\ =\ 30\ +\ 10.log(W)" . | |
243 | +Si la valeur est post-fixée par | |
244 | +.IR mW , | |
245 | +elle sera automatiquement convertie en dBm. | |
246 | +.br | |
247 | +De plus, | |
248 | +.IR on " et " off | |
249 | +active et désactive la radio, et | |
250 | +.IR auto " et " fixed | |
251 | +active et désactive le contrôle de puissance (si ces fonctions sont | |
252 | +disponibles). | |
253 | +.br | |
254 | +.B Exemples : | |
255 | +.br | |
256 | +.I " iwconfig eth0 txpower 15" | |
257 | +.br | |
258 | +.I " iwconfig eth0 txpower 30mW" | |
259 | +.br | |
260 | +.I " iwconfig eth0 txpower auto" | |
261 | +.br | |
262 | +.I " iwconfig eth0 txpower off" | |
263 | +.TP | |
264 | +.B sens | |
265 | +Positionne le seuil de sensibilité. Cela définie comment la carte est sensible | |
266 | +aux mauvaises conditions de fonctionnement (signal faible, interférence). Les | |
267 | +valeurs positives sont considérées comme des valeurs brutes et utilisées telles | |
268 | +quelles par le matériel ou un pourcentage, les valeurs négatives sont | |
269 | +interprétées en dBm. En fonction de la conception du matétiel, ce paramètre | |
270 | +peut contrôler diverses fonctions. | |
271 | +.br | |
272 | +Sur les cartes modernes, ce paramètre contrôle habituellement le seuil du | |
273 | +handover/roaming (seuil de cession), signal le plus bas pour lequel le matériel | |
274 | +reste associé au Point d'Accès courant. Lorsque le signal passe en-dessous de | |
275 | +ce seuil, la carte commence à chercher un nouveau/meilleur Point d'Accès. | |
276 | +Certaines cartes peuvent utiliser le nombre de beacons manquées pour déclencher | |
277 | +cela. En cas de forte densité de Points d'Accès, un seuil plus haut assure | |
278 | +d'être toujours associé au meilleur AP, et à l'inverse pour les faibles | |
279 | +densités d'APs, un seuil plus bas réduit les pertes d'associations. | |
280 | +.br | |
281 | +Sur les cartes plus anciennes, ce paramètre contrôle habituellement le seuil de | |
282 | +report (defer treshold), signal le plus faible pour lequel le matériel considère | |
283 | +le canal occupé. Les niveaux de signal au-dessus de ce seuil font que le | |
284 | +matériel inhibe sa propre transmission, tandis que les signaux plus faibles que | |
285 | +ce seuil sont ignorés et le matériel est libre de transmettre. Cela est souvent | |
286 | +fortement lié au seuil de réception, le plus bas niveau de signal pour lequel | |
287 | +le matériel essaye de recevoir un paquet. Des paramètres apropriées pour ces | |
288 | +seuils évitent à la carte de perdre du temps sur le bruit de fond lors des | |
289 | +réceptions de transmissions faibles. Les conceptions modernes semblent contrôler | |
290 | +ces seuils automatiquement. | |
291 | +.br | |
292 | +.br | |
293 | +.B Exemple : | |
294 | +.br | |
295 | +.I " iwconfig eth0 sens -80" | |
296 | +.br | |
297 | +.I " iwconfig eth0 sens 2" | |
298 | +.TP | |
299 | +.BR retry | |
300 | +La plupart des cartes supportent les retransmissions MAC (contrôle d'accès | |
301 | +au médium), et certaines permettent le paramétrage du mécanisme des tentatives | |
302 | +(en cas d'échec). | |
303 | +.br | |
304 | +Pour fixer le nombre maximum d'essais, entrez | |
305 | +.IR "limit `valeur'" . | |
306 | +C'est une valeur absolue (sans unité), et c'est le cas par défaut (si rien n'est | |
307 | +spécifié). | |
308 | +Pour fixer le temps maximum autorisé au mécanisme MAC pour ses tentatives, | |
309 | +entrez | |
310 | +.IR "lifetime `valeur'" . | |
311 | +Par défaut, cette valeur est en secondes, ajouter le suffixe m ou u pour | |
312 | +spécifier les valeurs en millisecondes ou microsecondes. | |
313 | +.br | |
314 | +Vous pouvez aussi ajouter les modificateurs | |
315 | +.IR short ", " long ", " min " et " max "." | |
316 | +Si la carte supporte le mode automatique, ils définissent les limites | |
317 | +inférieure et supérieure (NDT\ : de l'intervalle temporel dans lequel le | |
318 | +mécanisme MAC est autorisé à réitérer ses tentatives). D'autres cartes | |
319 | +définissent des valeurs différentes en fonction de la taille des paquets, par | |
320 | +exemple la norme 802.11 définit une | |
321 | +.I min limit | |
322 | +qui est la limite inférieure d'essai (paquets non RTS/CTS). | |
323 | +.br | |
324 | +.B Exemples : | |
325 | +.br | |
326 | +.I " iwconfig eth0 retry 16" | |
327 | +.br | |
328 | +.I " iwconfig eth0 retry lifetime 300m" | |
329 | +.br | |
330 | +.I " iwconfig eth0 retry short 12" | |
331 | +.br | |
332 | +.I " iwconfig eth0 retry min limit 8" | |
333 | +.TP | |
334 | +.BR rts [_threshold] | |
335 | +RTS/CTS ajoute une «\ poignée de main\ » avant chaque transmission de paquet | |
336 | +pour être sûr que le canal est libre. Cela ajoute des entêtes (NDT\ : données de | |
337 | +gestion), mais augmente les performances en cas de nœuds cachés ou d'un grand | |
338 | +nombre de nœuds actifs. Ce paramètre fixe la taille du plus petit paquet pour | |
339 | +lequel le nœud envoie un RTS\ ; une valeur égale à la taille maximale des | |
340 | +paquets inhibe ce mécanisme. Vous pouvez aussi positionner ce paramètre sur | |
341 | +.IR auto ", " fixed " ou " off . | |
342 | +.br | |
343 | +.B Exemples : | |
344 | +.br | |
345 | +.I " iwconfig eth0 rts 250" | |
346 | +.br | |
347 | +.I " iwconfig eth0 rts off" | |
348 | +.TP | |
349 | +.BR frag [mentation_threshold] | |
350 | +La fragmentation permet de découper un paquet IP en une salve de plus petits | |
351 | +fragments transmis sur le médium. Dans la plupart des cas, cela ajoute des | |
352 | +entêtes, mais dans un environnement très bruité, cela réduit les coûts de | |
353 | +transmission dûs aux erreurs et permet aux paquets d'être acheminés malgré | |
354 | +des salves d'interférences. Ce paramètre fixe la taille de fragment maximale | |
355 | +qui est toujours inférieure à la taille maximale des paquets. | |
356 | +.br | |
357 | +Ce paramètre peut aussi contrôler le «\ Frame Bursting\ » disponible sur | |
358 | +certaines cartes, capacité à envoyer de multiple paquets IP ensembles. Ce | |
359 | +mécanisme sera activé si la taille de fragment est plus grande que la taille | |
360 | +maximale de paquet. | |
361 | +.br | |
362 | +Vous pouvez aussi mettre ce paramètre à | |
363 | +.IR auto ", " fixed " ou " off . | |
364 | +.br | |
365 | +.B Exemples : | |
366 | +.br | |
367 | +.I " iwconfig eth0 frag 512" | |
368 | +.br | |
369 | +.I " iwconfig eth0 frag off" | |
370 | +.TP | |
371 | +.BR key / enc [ryption] | |
372 | +Utilisé pour manipuler les clefs de cryptage ou brouillage et le mode de | |
373 | +sécurité. | |
374 | +.br | |
375 | +Pour configurer la clef courante de cryptage, il suffit d'entrer la clef | |
376 | +en hexadécimal telle que | |
377 | +.IR XXXX-XXXX-XXXX-XXXX " ou " XXXXXXXX . | |
378 | +Pour entrer une autre clef que la clef courante, ajoutez (au début ou à la | |
379 | +fin) | |
380 | +.I [index] | |
381 | +à la clef elle-même (cela ne changera pas la clef active). Vous pouvez aussi | |
382 | +entrer la clef comme une chaîne ASCII en utilisant le préfixe | |
383 | +.IR s: . | |
384 | +Les phrases en tant que mot de passe ne sont actuellement pas supportées. | |
385 | +.br | |
386 | +Pour changer la clef active parmi les clefs déjà entrées, il suffit d'entrer | |
387 | +.RI l' "[index]" | |
388 | +(sans entrer de valeur de clef). | |
389 | +.br | |
390 | +.IR off " et " on | |
391 | +désactive et réactive le cryptage. | |
392 | +.br | |
393 | +Le mode de sécurité peut être | |
394 | +.I open | |
395 | +ou | |
396 | +.IR restricted , | |
397 | +et sa signification dépend de la carte utilisée. Avec la plupart des cartes, | |
398 | +le mode | |
399 | +.I open | |
400 | +n'utilise pas d'authentification et la carte accepte des sessions non cryptées, | |
401 | +alors que le mode | |
402 | +.I restricted | |
403 | +n'accepte que des sessions cryptées et la carte utilisera l'authentification | |
404 | +si disponible. | |
405 | +.br | |
406 | +Si vous avez besoin de mettre plusieurs clefs, ou de mettre une clef et de | |
407 | +changer la clef active, vous avez besoin d'utiliser des instructions de clef | |
408 | +.RB ( "key" ) | |
409 | +multiples. Les arguments peuvent être mis dans n'importe quel ordre, le | |
410 | +dernier sera prioritaire. | |
411 | +.br | |
412 | +.B Exemples : | |
413 | +.br | |
414 | +.I " iwconfig eth0 key 0123-4567-89" | |
415 | +.br | |
416 | +.I " iwconfig eth0 key [3] 0123-4567-89" | |
417 | +.br | |
418 | +.I " iwconfig eth0 key s:password [2]" | |
419 | +.br | |
420 | +.I " iwconfig eth0 key [2]" | |
421 | +.br | |
422 | +.I " iwconfig eth0 key open" | |
423 | +.br | |
424 | +.I " iwconfig eth0 key off" | |
425 | +.br | |
426 | +.I " iwconfig eth0 key restricted [3] 0123456789" | |
427 | +.br | |
428 | +.I " iwconfig eth0 key 01-23 key 45-67 [4] key [4]" | |
429 | +.TP | |
430 | +.BR power | |
431 | +Utilisé pour manipuler les paramètres et le mode du procédé de gestion | |
432 | +d'énergie. | |
433 | +.br | |
434 | +Pour fixer la période entre les éveils, entrez | |
435 | +.IR "period `valeur'" . | |
436 | +Pour fixer la temporisation avant le retour en veille, entrez la | |
437 | +.IR "timeout `valeur'" . | |
438 | +Pour paramétrer le niveau générique de sauvegarde d'énergie, entrez | |
439 | +.IR "saving `valeur'" . | |
440 | +Vous pouvez aussi ajouter les modificateurs | |
441 | +.IR min " et " max ". | |
442 | +Par défaut, ces valeurs sont exprimées en secondes, ajoutez le suffixe m ou u | |
443 | +pour spécifier les valeurs en millisecondes ou microsecondes. Parfois, ces | |
444 | +valeurs sont sans unité (nombre de périodes de beacon, dwell, pourcentage ou | |
445 | +similaire). | |
446 | +.br | |
447 | +.IR off " et " on | |
448 | +désactive et réactive la gestion d'énergie. Enfin, vous pouvez mettre la | |
449 | +gestion d'énergie en mode | |
450 | +.I all | |
451 | +(reçoit tous les paquets), | |
452 | +.I unicast | |
453 | +(reçoit seulement les paquets unicast, ignore les paquets multicast et de | |
454 | +broadcast) et | |
455 | +.I multicast | |
456 | +(reçoit seulement les paquets multicast et de broadcast, ignore l'unicast). | |
457 | +.br | |
458 | +.B Exemples : | |
459 | +.br | |
460 | +.I " iwconfig eth0 power period 2" | |
461 | +.br | |
462 | +.I " iwconfig eth0 power 500m unicast" | |
463 | +.br | |
464 | +.I " iwconfig eth0 power timeout 300u all" | |
465 | +.br | |
466 | +.I " iwconfig eth0 power saving 3" | |
467 | +.br | |
468 | +.I " iwconfig eth0 power off" | |
469 | +.br | |
470 | +.I " iwconfig eth0 power min period 2 power max period 4" | |
471 | +.TP | |
472 | +.BR modu [lation] | |
473 | +Force la carte à utiliser un jeu spécifique de modulations. Les cartes modernes | |
474 | +supportent diverses modulations, certaines étant standards telles 802.11b ou | |
475 | +802.11g, d'autres étant propriétaires. Cette commande force la carte à utiliser | |
476 | +seulement le jeu spécifique de modulations listé par la ligne de commande. Ceci | |
477 | +peut être utilisé pour résoudre des problèmes d'interopérabilité. | |
478 | +.br | |
479 | +La liste des modulations disponibles dépend du couple carte/pilote et peut être | |
480 | +affichée en utilisant | |
481 | +.IR "iwlist modulation" . | |
482 | +Notez que certains couples carte/pilote peuvent ne pas être capables de | |
483 | +sélectionner chaque modulation listée indépandement, certaines intervenant comme | |
484 | +un groupe. Vous pouvez aussi mettre ce paramètre à | |
485 | +.IR auto | |
486 | +pour laisser le couple carte/pilote faire de son mieux. | |
487 | +.br | |
488 | +.B Exemples : | |
489 | +.br | |
490 | +.I " iwconfig eth0 modu 11g" | |
491 | +.br | |
492 | +.I " iwconfig eth0 modu CCK OFDMa" | |
493 | +.br | |
494 | +.I " iwconfig eth0 modu auto" | |
495 | +.TP | |
496 | +.BR commit | |
497 | +Certaines cartes peuvent ne pas appliquer immédiatement les changements | |
498 | +effectués par les Wireless Extensions (elles peuvent attendre pour prendre en | |
499 | +compte les changements ou les appliquer seulement quand la carte est montée via | |
500 | +.IR ifconfig ). | |
501 | +Cette commande (si disponible) force la carte à appliquer les changements en | |
502 | +suspens. | |
503 | +.br | |
504 | +Cela n'est normalement pas nécessaire, car la carte appliquera éventuellement | |
505 | +les changements, mais peut être utile pour débuggage. | |
506 | +.\" | |
507 | +.\" DISPLAY part | |
508 | +.\" | |
509 | +.SH AFFICHAGE | |
510 | +Pour chaque matériel qui supporte les extensions wireless, | |
511 | +.I iwconfig | |
512 | +affichera le nom du | |
513 | +.B protocole MAC | |
514 | +utilisé (nom du matériel pour les protocoles propriétaires), | |
515 | +.RB l' ESSID | |
516 | +(Network Name), le | |
517 | +.BR NWID , | |
518 | +la | |
519 | +.B fréquence | |
520 | +(ou canal), la | |
521 | +.BR sensibilité , | |
522 | +le | |
523 | +.B mode | |
524 | +d'exploitation, l'adresse du | |
525 | +.BR "Point d'Accès", | |
526 | +le | |
527 | +.BR débit , | |
528 | +le | |
529 | +.BR "seuil RTS" " (" "RTS threshold" "), le " | |
530 | +.BR "seuil de fragmentation" " (" "fragmentation threshold" "), la | |
531 | +.B clef de cryptage | |
532 | +et les paramètres de | |
533 | +.BR "gestion de l'énergie" " (" "power management" ")" | |
534 | +(en fonction de la disponibilité). | |
535 | +.PP | |
536 | +Les paramètres affichés ont la même signification et la même valeur que ceux | |
537 | +que vous pouvez régler, veuillez vous reporter à la précédente partie pour | |
538 | +leur explication détaillée. | |
539 | +.br | |
540 | +Quelques paramètres sont affichés seulement dans une forme abrégée (comme le | |
541 | +cryptage). Vous devez utiliser | |
542 | +.IR iwlist (8) | |
543 | +pour avoir tous les détails. | |
544 | +.br | |
545 | +Certains paramètres ont deux modes (comme le débit). Si la valeur est préfixée | |
546 | +par | |
547 | +.RB «\ =\ », | |
548 | +cela veut dire que le paramètre est fixé et forcé à cette valeur, s'il est | |
549 | +préfixé par | |
550 | +.RB «\ :\ », | |
551 | +le paramètre est en mode automatique et la valeur courante est montrée (et peut | |
552 | +changer). | |
553 | +.TP | |
554 | +.BR "Access Point" / Cell | |
555 | +Une adresse égale à 00:00:00:00:00:00 signifie que la carte n'a pas réussi à | |
556 | +s'associer avec un Point d'Accès (le plus souvent une question de | |
557 | +configuration). | |
558 | +Le paramètre | |
559 | +.B Access Point | |
560 | +sera montré comme une cellule | |
561 | +.RB ( Cell ) | |
562 | +en mode ad-hoc (pour des raisons évidentes), mais il fonctionne néanmoins | |
563 | +de la même manière. | |
564 | +.PP | |
565 | +Si | |
566 | +.I /proc/net/wireless | |
567 | +existe, | |
568 | +.I iwconfig | |
569 | +affichera aussi son contenu. Il faut noter que ces valeurs dépendent des | |
570 | +spécifications du pilote et de la carte, vous devrez donc vous référez à la | |
571 | +documentation du pilote pour une interprétation correcte de ces valeurs. | |
572 | +.TP | |
573 | +.B Link quality | |
574 | +Qualité globale du lien. Peut être basé sur le niveau de contention ou des | |
575 | +interférences, le taux d'erreur de trame ou de bit, la qualité du signal reçu, | |
576 | +certaines synchronisations temporelles, ou d'autre métrique matérielle. C'est | |
577 | +une valeur agrégat, et dépend totalement du pilote et du matériel. | |
578 | +.TP | |
579 | +.B Signal level | |
580 | +Force du signal reçu (RSSI - force du signal reçu). Ce peut être des unités | |
581 | +arbitraires ou des dBm, | |
582 | +.I iwconfig | |
583 | +utilise les méta-informations du pilote pour interpréter les valeurs | |
584 | +brutes données par | |
585 | +.I /proc/net/wireless | |
586 | +et affiche l'unité ou la valeur maximale correspondante (en utilisant | |
587 | +l'arithmétique 8 bits). En mode | |
588 | +.I Ad-Hoc | |
589 | +cela peut être indéfini et vous devriez utiliser | |
590 | +.IR iwspy . | |
591 | +.TP | |
592 | +.B Noise level | |
593 | +Niveau du bruit de fond (quand aucun paquet n'est transmis). Commentaires | |
594 | +similaires à ceux de | |
595 | +.BR "Signal level" . | |
596 | +.TP | |
597 | +.B Rx invalid nwid | |
598 | +Nombre de paquets reçus avec un NWID ou ESSID différent. Utilisé pour détecter | |
599 | +des problèmes de configuration ou l'existence de réseau adjacent (sur la même | |
600 | +fréquence). | |
601 | +.TP | |
602 | +.B Rx invalid crypt | |
603 | +Nombre de paquets que le matériel a été incapable de décrypter. Cela peut être | |
604 | +utilisé pour détecter des mauvais paramètres de cryptage. | |
605 | +.TP | |
606 | +.B Rx invalid frag | |
607 | +Nombre de paquets pour lesquels le matériel a été incapable de ré-assembler | |
608 | +correctement les fragments de la couche liaison (le plus souvent, il en manque | |
609 | +un). | |
610 | +.TP | |
611 | +.B Tx excessive retries | |
612 | +Nombre de paquets que la carte n'a pas réussi à envoyer. La plupart des | |
613 | +protocoles MAC réessayent un certain nombre de fois avant d'abandonner. | |
614 | +.TP | |
615 | +.B invalid misc | |
616 | +Autres paquets perdus en relation avec les opérations spécifiques au sans fil. | |
617 | +.TP | |
618 | +.B Missed beacon | |
619 | +Nombre de beacons périodiques émis par la Cellule ou le Point d'Accès que nous | |
620 | +avons manqué. Les beacons sont envoyés à intervalles réguliers pour maintenir la | |
621 | +coordination de la cellule, l'impossibilité de les recevoir indiquant souvent | |
622 | +que la carte est hors de portée. | |
623 | +.\" | |
624 | +.\" AUTHOR part | |
625 | +.\" | |
626 | +.SH AUTEUR | |
627 | +Jean Tourrilhes \- jt@hpl.hp.com | |
628 | +.\" | |
629 | +.\" TRADUCTION part | |
630 | +.\" | |
631 | +.SH TRADUCTION | |
632 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
633 | +.\" | |
634 | +.\" AVERTISSEMENT part | |
635 | +.\" | |
636 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
637 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
638 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
639 | +avec le programme. | |
640 | +.\" | |
641 | +.\" FILES part | |
642 | +.\" | |
643 | +.SH FICHIERS | |
644 | +.I /proc/net/wireless | |
645 | +.\" | |
646 | +.\" SEE ALSO part | |
647 | +.\" | |
648 | +.SH VOIR AUSSI | |
649 | +.BR ifconfig (8), | |
650 | +.BR iwspy (8), | |
651 | +.BR iwlist (8), | |
652 | +.BR iwevent (8), | |
653 | +.BR iwpriv (8), | |
654 | +.BR wireless (7). |
@@ -0,0 +1,134 @@ | ||
1 | +.\" Jean Tourrilhes - HPL - 2002 - 2004 | |
2 | +.\" iwevent.8 | |
3 | +.\" | |
4 | +.\" Traduction 2003/08/17 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 26 | |
7 | +.\" Manuel identique pour la version 27-pre9 (beta) | |
8 | +.\" Mise à jour 2004/02/26 : version 27-pre11 (alpha) | |
9 | +.\" Mise à jour 2004/08/23 : version 27-pre25 | |
10 | +.\" Mise à jour 2007/08 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
13 | +.\" | |
14 | +.TH IWEVENT 8 "23 juin 2004" "net-tools" "Manuel du Programmeur Linux" | |
15 | +.\" | |
16 | +.\" NAME part | |
17 | +.\" | |
18 | +.SH NOM | |
19 | +iwevent \- Affiche les Événements Wireless (Wireless Events) générés par les | |
20 | +pilotes et les changements de paramètres. | |
21 | +.\" | |
22 | +.\" SYNOPSIS part | |
23 | +.\" | |
24 | +.SH SYNOPSIS | |
25 | +.BI "iwevent " | |
26 | +.br | |
27 | +.\" | |
28 | +.\" DESCRIPTION part | |
29 | +.\" | |
30 | +.SH DESCRIPTION | |
31 | +.B iwevent | |
32 | +affiche les «\ Wireless Events\ » (événements du système Wireless) reçus par le | |
33 | +socket RTNetlink. Chaque ligne affiche le Wireless Event spécifique qui décrit | |
34 | +ce qui s'est passé sur l'interface sans fil spécifiée. | |
35 | +.br | |
36 | +Cette commande ne prend aucun argument. | |
37 | +.\" | |
38 | +.\" DISPLAY part | |
39 | +.\" | |
40 | +.SH AFFICHAGE | |
41 | +Il y a deux classes de Wireless Events. | |
42 | +.PP | |
43 | +La première classe regroupe les événements relatifs à un changement des | |
44 | +paramètres du sans fil sur l'interface (typiquement fait par | |
45 | +.B iwconfig | |
46 | +ou un script appelant | |
47 | +.BR iwconfig ). | |
48 | +Seuls les paramètres qui peuvent entraîner une perturbation de la connectivité | |
49 | +sont rapportés. Les événements actuellement rapportés changent un des paramètres | |
50 | +suivants\ : | |
51 | +.br | |
52 | +.I " Network ID" | |
53 | +.br | |
54 | +.I " ESSID" | |
55 | +.br | |
56 | +.I " Frequency" | |
57 | +.br | |
58 | +.I " Mode" | |
59 | +.br | |
60 | +.I " Encryption" | |
61 | +.br | |
62 | +Tous ces événements seront générer sur toutes les interfaces sans fil par le | |
63 | +sous-système «\ wireless\ » du noyau (mais seulement si le pilote a été converti | |
64 | +à l'API du nouveau pilote). | |
65 | +.PP | |
66 | +La deuxième classe d'événements concerne ceux générés par le matériel, lorsque | |
67 | +quelque chose arrive ou qu'une tâche s'est terminée. Ces événements incluent\ : | |
68 | +.TP | |
69 | +.B New Access Point/Cell address | |
70 | +L'interface a joint un nouveau Point d'Accès ou Cellule Ad-Hoc, ou a perdu son | |
71 | +association avec un de ces derniers. Il s'agit de la même adresse affichée par | |
72 | +.BR iwconfig . | |
73 | +.TP | |
74 | +.B Scan request completed | |
75 | +Une requête de balayage (scanning) a été achevée, les résultats du «\ scan\ » | |
76 | +sont disponibles (voir | |
77 | +.BR iwlist ). | |
78 | +.TP | |
79 | +.B Tx packet dropped | |
80 | +Un paquet à destination de cette adresse a été rejeté car l'interface croit que | |
81 | +ce nœud ne répond plus (habituellement, le seuil maximum des émissions de la | |
82 | +couche MAC est atteint). C'est habituellement la première indication pouvant | |
83 | +révéler que le nœud a quitté la cellule ou est hors de portée, mais cela peut | |
84 | +être due à une atténuation ou une contention excessive. | |
85 | +.TP | |
86 | +.B Custom driver event | |
87 | +Événement spécifique au pilote. Veuillez consulter la documentation du pilote. | |
88 | +.TP | |
89 | +.B Registered node | |
90 | +L'interface a réussi à enregistrer un nouveau client/paire sans fil. Sera | |
91 | +généré la plupart du temps quand l'interface agit comme un Point d'Accès (mode | |
92 | +Master). | |
93 | +.TP | |
94 | +.B Expired node | |
95 | +L'enregistrement d'un client/paire sur cette interface a expiré. Sera généré la | |
96 | +plupart du temps quand l'interface agit comme un Point d'Accès (mode Master). | |
97 | +.TP | |
98 | +.B Spy threshold crossed | |
99 | +La force du signal pour une des adresses de la «\ spy list\ » (NDT\ : voir | |
100 | +iwspy(8)) est passé en-dessous du seuil bas, ou est passé au-dessus du seuil | |
101 | +haut. | |
102 | +.PP | |
103 | +La plupart des pilotes wireless génèrent seulement un sous-ensemble de ces | |
104 | +événements, pas tous. La liste exacte dépend de la combinaison spécifique | |
105 | +matériel/pilote. Veuillez consulter la documentation du pilote pour les détails | |
106 | +de ce qui les génèrent, et utilisez | |
107 | +.IR iwlist (8) | |
108 | +pour vérifier ce que le pilote supporte. | |
109 | +.\" | |
110 | +.\" AUTHOR part | |
111 | +.\" | |
112 | +.SH AUTEUR | |
113 | +Jean Tourrilhes \- jt@hpl.hp.com | |
114 | +.\" | |
115 | +.\" TRADUCTION part | |
116 | +.\" | |
117 | +.SH TRADUCTION | |
118 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
119 | +.\" | |
120 | +\" AVERTISSEMENT part | |
121 | +.\" | |
122 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
123 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
124 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
125 | +avec le programme. | |
126 | +.\" | |
127 | +.\" SEE ALSO part | |
128 | +.\" | |
129 | +.SH VOIR AUSSI | |
130 | +.BR iwconfig (8), | |
131 | +.BR iwlist (8), | |
132 | +.BR iwspy (8), | |
133 | +.BR iwpriv (8), | |
134 | +.BR wireless (7). |
@@ -0,0 +1,139 @@ | ||
1 | +.\" Guus Sliepen - 2001 | |
2 | +.\" Completed and fixed up by Jean Tourrilhes - 2002-2003 | |
3 | +.\" iwgetid.8 | |
4 | +.\" | |
5 | +.\" Traduction 2003/08/17 Maxime CHARPENNE (voir | |
6 | +.\" http://www.delafond.org/traducmanfr/) | |
7 | +.\" 1ère traduction : version 26 | |
8 | +.\" Mise à jour 2004/01/29 : version 27-pre9 (beta) | |
9 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
10 | +.\" Mise à jour 2004/08/23 : version 27-pre25 | |
11 | +.\" Manuel identique pour la version 29-pre21 | |
12 | +.\" Manuel identique pour la version 30-pre1 | |
13 | +.\" Manuel identique pour la version 30-pre3 | |
14 | +.\" | |
15 | +.TH IWGETID 8 "02 décembre 2003" "wireless-tools" "Manuel du Programmeur Linux" | |
16 | +.\" | |
17 | +.\" NAME part | |
18 | +.\" | |
19 | +.SH NOM | |
20 | +iwgetid \- Rapporte le ESSID, NWID ou l'Adresse de l'AP/Cell (Point d'Accès/\ | |
21 | +Cellule) du réseau sans fil. | |
22 | +.\" | |
23 | +.\" SYNOPSIS part | |
24 | +.\" | |
25 | +.SH SYNOPSIS | |
26 | +.BI "iwgetid " [interface] " [--raw] [--scheme] [--ap] [--freq]" | |
27 | +.br | |
28 | +.BI " [--mode] [--protocol] [--channel] | |
29 | +.br | |
30 | +.\" | |
31 | +.\" DESCRIPTION part | |
32 | +.\" | |
33 | +.SH DESCRIPTION | |
34 | +.B iwgetid | |
35 | +est utilisé pour trouver le NWID, ESSID ou l'adresse de l'AP ou cellule du | |
36 | +réseau sans fil utilisé présentement. L'information rapportée est la même | |
37 | +que celle montrée par | |
38 | +.BR iwconfig ", mais " iwgetid | |
39 | +est plus facile à intégrer dans les scripts. | |
40 | +.br | |
41 | +Par défaut, | |
42 | +.B iwgetid | |
43 | +affichera | |
44 | +.RI l' ESSID | |
45 | +de la carte, et si la carte n'a pas d'ESSID, il affichera son | |
46 | +.IR NWID . | |
47 | +.br | |
48 | +Le formatage par défaut de la sortie est embelli. | |
49 | +.\" | |
50 | +.\" OPTIONS part | |
51 | +.\" | |
52 | +.SH OPTIONS | |
53 | +.TP | |
54 | +.B --raw | |
55 | +Cette option désactive l'embellissement de l'affichage de l'information. Cette | |
56 | +option est orthogonale aux autres options (sauf | |
57 | +.BR --scheme ), | |
58 | +donc, avec la combinaison appropriée des options, il est possible d'afficher | |
59 | +en brut l'ESSID, l'Adresse de l'AP ou le Mode. | |
60 | +.br | |
61 | +Ce format est idéal quand on stocke le résultat de iwgetid comme une variable | |
62 | +dans les scripts | |
63 | +.I Shell | |
64 | +ou | |
65 | +.IR Perl , | |
66 | +ou pour passer le résultat comme argument sur la ligne de commande de | |
67 | +.BR iwconfig . | |
68 | +.TP | |
69 | +.B --scheme | |
70 | +Cette option est similaire à la précédente, elle désactive l'embellissement de | |
71 | +l'affichage des données et supprime tous les caractères non alphanumériques | |
72 | +(comme les caractères d'espacement, la ponctuation et les caractères de | |
73 | +contrôle). | |
74 | +.br | |
75 | +La sortie résultante est un identifiant Pcmcia valide («\ Pcmcia scheme | |
76 | +identifer\ ») (qui peut être utilisé comme argument de la commande | |
77 | +.BR "cardctl scheme" ). | |
78 | +Ce format est aussi idéal quand on utilise le résultat de iwgetid comme un | |
79 | +sélecteur («\ selector\ ») dans les scripts | |
80 | +.I Shell | |
81 | +ou | |
82 | +.IR Perl , | |
83 | +ou comme un nom de fichier. | |
84 | +.TP | |
85 | +.B --ap | |
86 | +Affiche l'adresse MAC du | |
87 | +.I Point d'Access | |
88 | +ou de la | |
89 | +.I Cellule | |
90 | +Wireless. | |
91 | +.TP | |
92 | +.B --freq | |
93 | +Affiche la | |
94 | +.I fréquence | |
95 | +ou le | |
96 | +.I canal | |
97 | +courant utilisé par l'interface. | |
98 | +.TP | |
99 | +.B --channel | |
100 | +Affiche le | |
101 | +.IR canal " (" channel ) | |
102 | +courant utilisé par l'interface. Le canal est déterminé en utilisant la | |
103 | +fréquence courante et la liste de fréquences fournie par l'interface. | |
104 | +.TP | |
105 | +.B --mode | |
106 | +Affiche le | |
107 | +.I mode | |
108 | +courant de l'interface. | |
109 | +.TP | |
110 | +.B --protocol | |
111 | +Affiche le | |
112 | +.I nom de protocole | |
113 | +de l'interface. Il permet d'identifer toutes les cartes qui sont compatibles | |
114 | +entre elles et qui acceptent le même type de configuration. | |
115 | +.br | |
116 | +Cela peut aussi être utilisé pour | |
117 | +.I vérifier la compatibilité de Wireless Extension | |
118 | +sur l'interface, car c'est le seul attribut que tous les pilotes supportant | |
119 | +Wireless Extension doivent avoir. | |
120 | +.\" | |
121 | +.\" TRADUCTION part | |
122 | +.\" | |
123 | +.SH TRADUCTION | |
124 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
125 | +.\" | |
126 | +\" AVERTISSEMENT part | |
127 | +.\" | |
128 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
129 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
130 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
131 | +avec le programme. | |
132 | +.\" | |
133 | +.\" SEE ALSO part | |
134 | +.\" | |
135 | +.SH VOIR AUSSI | |
136 | +.BR iwconfig (8), | |
137 | +.BR ifconfig (8), | |
138 | +.BR iwspy (8), | |
139 | +.BR iwpriv (8). |
@@ -0,0 +1,179 @@ | ||
1 | +.\" Jean II - HPLB - 96 | |
2 | +.\" iwlist.8 | |
3 | +.\" | |
4 | +.\" Traduction 2003/08/17 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 26 | |
7 | +.\" Mise à jour 2004/01/29 : version 27-pre9 (beta) | |
8 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
9 | +.\" Mise à jour 2004/08/23 : version 27-pre25 | |
10 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
13 | +.\" | |
14 | +.TH IWLIST 8 "13 avril 2006" "wireless-tools" "Manuel du Programmeur Linux" | |
15 | +.\" | |
16 | +.\" NAME part | |
17 | +.\" | |
18 | +.SH NOM | |
19 | +iwlist \- Obtient plus d'informations wireless détaillées depuis une interface wireless | |
20 | +.\" | |
21 | +.\" SYNOPSIS part | |
22 | +.\" | |
23 | +.SH SYNOPSIS | |
24 | +.BI "iwlist [" interface "] scanning" | |
25 | +.br | |
26 | +.BI "iwlist [" interface "] frequency" | |
27 | +.br | |
28 | +.BI "iwlist [" interface "] rate" | |
29 | +.br | |
30 | +.BI "iwlist [" interface "] keys" | |
31 | +.br | |
32 | +.BI "iwlist [" interface "] power" | |
33 | +.br | |
34 | +.BI "iwlist [" interface "] txpower" | |
35 | +.br | |
36 | +.BI "iwlist [" interface "] retry" | |
37 | +.br | |
38 | +.BI "iwlist [" interface "] event" | |
39 | +.br | |
40 | +.BI "iwlist [" interface "] auth" | |
41 | +.br | |
42 | +.BI "iwlist [" interface "] wpakeys" | |
43 | +.br | |
44 | +.BI "iwlist [" interface "] genie" | |
45 | +.br | |
46 | +.BI "iwlist [" interface "] modulation" | |
47 | +.br | |
48 | +.BI "iwlist --help" | |
49 | +.br | |
50 | +.BI "iwlist --version" | |
51 | +.\" | |
52 | +.\" DESCRIPTION part | |
53 | +.\" | |
54 | +.SH DESCRIPTION | |
55 | +.B Iwlist | |
56 | +est utilisé pour afficher de l'information additionnelle d'une interface réseau | |
57 | +wireless qui n'est pas affichée par | |
58 | +.IR iwconfig (8). | |
59 | +L'argument principal est utilisé pour sélectionner une catégorie d'information, | |
60 | +.B iwlist | |
61 | +affiche dans une forme détaillée toute information relative à cette catégorie, | |
62 | +y compris les informations déjà montrées par | |
63 | +.IR iwconfig (8). | |
64 | +.\" | |
65 | +.\" PARAMETER part | |
66 | +.\" | |
67 | +.SH PARAMÈTRES | |
68 | +.TP | |
69 | +.BR scan [ning] | |
70 | +Donne la liste des Points d'Accès et des cellules Ad-Hoc à portée, et | |
71 | +optionnellement plein d'autres informations à leur propos (ESSID, Quality, | |
72 | +Frequency, Mode...). Le type d'information retourné dépend de ce que la carte | |
73 | +supporte. | |
74 | +.br | |
75 | +Le «\ Triggering scanning\ » est une opération nécessitant les privilèges | |
76 | +de | |
77 | +.IR root | |
78 | +uniquement et les utilisateurs normaux peuvent juste lire les résultats | |
79 | +(«\ letf-over scan results\ »). Par défaut, la manière dont le scan est | |
80 | +réalisé (la boucle du scan) dépend de la carte et de ses paramètres. | |
81 | +.br | |
82 | +Cette commande prend des arguments optionnels bien que la plupart des pilotes | |
83 | +les ignoreront. L'option | |
84 | +.B essid | |
85 | +est utilisée pour appliquer le scan sur un ESSID donné. L'option | |
86 | +.B last | |
87 | +ne déclenche pas de scan et lit les résultats du scan («\ letf-over scan | |
88 | +results\ »). | |
89 | +.TP | |
90 | +.BR freq [uency]/ channel | |
91 | +Donne la liste des fréquences disponibles du périphérique et le nombre de canaux | |
92 | +définis. Veuillez noter que, habituellement, le pilote retourne le nombre total | |
93 | +de canaux et seulement les fréquences disponibles dans la région considérée, | |
94 | +donc il n'y a pas correspondance directe entre le nombre de fréquences | |
95 | +affichées et le nombre de canaux. | |
96 | +.TP | |
97 | +.BR rate / bit [rate] | |
98 | +Liste les débits supportés par le périphérique (en b/s). | |
99 | +.TP | |
100 | +.BR keys / enc [ryption] | |
101 | +Liste les tailles des clefs de cryptage supportées et liste toutes | |
102 | +les clefs de cryptage paramétrées dans le périphérique. | |
103 | +.TP | |
104 | +.B power | |
105 | +Liste les différents attributs et modes d'économie d'énergie («\ Power | |
106 | +Management\ ») du périphérique. | |
107 | +.TP | |
108 | +.B txpower | |
109 | +Liste les différentes puissances d'émission («\ Transmit Powers\ ») | |
110 | +disponibles dans le périphérique. | |
111 | +.TP | |
112 | +.B retry | |
113 | +Liste les limites des tentatives de transmissions («\ transmit retry limits\ ») | |
114 | +et la durée de vie des tentatives («\ retry lifetime\ ») du périphériques | |
115 | +(NDT\ : voir la section | |
116 | +.B retry | |
117 | +de iwconfig(8)). | |
118 | +.TP | |
119 | +.BR ap / accesspoint / peers | |
120 | +Donne la liste des Points d'Accès à portée, et optionnellement la qualié de leur | |
121 | +lien. Cette option est | |
122 | +.B obsolète | |
123 | +et est maintenant dépréciée en faveur du support scan (voir ci-dessus), et la | |
124 | +plupart des pilotes ne le supporte pas. | |
125 | +.br | |
126 | +Quelques pilotes peuvent utiliser cette commande pour retourner une | |
127 | +liste spécifique de Paires («\ Peers\ ») ou de Points d'Accès, telle que la | |
128 | +liste des Paires associés/enregistrés avec la carte. Voir la documentation du | |
129 | +pilote pour plus de détails. | |
130 | +.TP | |
131 | +.B event | |
132 | +Liste les événements wireless supportés par le périphérique. | |
133 | +.TP | |
134 | +.B auth | |
135 | +Liste les paramètres courants de l'authentification WPA. | |
136 | +.TP | |
137 | +.BR wpa [keys] | |
138 | +Liste toutes les clefs de cryptage WPA paramétrées dans le matériel. | |
139 | +.TP | |
140 | +.B genie | |
141 | +Liste les éléments génériques d'information («\ Generic Information Elements\ ») | |
142 | +paramétrés dans le matériel (utilisés pour le support WPA). | |
143 | +.TP | |
144 | +.BR modu [lation] | |
145 | +Liste les modulations supportées par le matériel et les modulations actuellement | |
146 | +activées. | |
147 | +.TP | |
148 | +.B --version | |
149 | +Affiche la version des outils, ainsi que les versions courante et recommandée | |
150 | +des Wireless Extensions pour l'outil et les diverses interfaces sans fil. | |
151 | +.TP | |
152 | +.B --help | |
153 | +Affiche un court message d'aide. | |
154 | +.\" | |
155 | +.\" TRADUCTION part | |
156 | +.\" | |
157 | +.SH TRADUCTION | |
158 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
159 | +.\" | |
160 | +\" AVERTISSEMENT part | |
161 | +.\" | |
162 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
163 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
164 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
165 | +avec le programme. | |
166 | +.\" | |
167 | +.\" FILES part | |
168 | +.\" | |
169 | +.SH FICHIERS | |
170 | +.I /proc/net/wireless | |
171 | +.\" | |
172 | +.\" SEE ALSO part | |
173 | +.\" | |
174 | +.SH VOIR AUSSI | |
175 | +.BR iwconfig (8), | |
176 | +.BR iwspy (8). | |
177 | +.BR iwevent (8), | |
178 | +.BR iwpriv (8), | |
179 | +.BR wireless (7). |
@@ -0,0 +1,141 @@ | ||
1 | +.\" Jean II - HPLB - 96 | |
2 | +.\" iwpriv.8 | |
3 | +.\" | |
4 | +.\" Traduction 2003/08/17 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 26 | |
7 | +.\" Manuel identique pour la version 27-pre9 (beta) | |
8 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
9 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
10 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
11 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
12 | +.\" | |
13 | +.TH IWPRIV 8 "31 octobre 1996" "net-tools" "Manuel du programmeur Linux" | |
14 | +.\" | |
15 | +.\" NAME part | |
16 | +.\" | |
17 | +.SH NOM | |
18 | +iwpriv \- configure les paramètres optionnels (privés) d'une interface réseau | |
19 | +sans fil | |
20 | +.\" | |
21 | +.\" SYNOPSIS part | |
22 | +.\" | |
23 | +.SH SYNOPSIS | |
24 | +.BI "iwpriv [" interface ] | |
25 | +.br | |
26 | +.BI "iwpriv " "interface commande-privée " "[" paramètres-privés ] | |
27 | +.br | |
28 | +.BI "iwpriv " "interface commande-privée " [ I "] [" paramètres-privés ] | |
29 | +.br | |
30 | +.BI "iwpriv " interface " --all" | |
31 | +.\" | |
32 | +.\" DESCRIPTION part | |
33 | +.\" | |
34 | +.SH DESCRIPTION | |
35 | +.B Iwpriv | |
36 | +est l'outil à utiliser avec | |
37 | +.IR iwconfig (8). | |
38 | +.B Iwpriv | |
39 | +traite les paramètres et attributs spécifiques à chaque pilote (contrairement | |
40 | +à | |
41 | +.I iwconfig | |
42 | +qui ne s'occupe que des génériques). | |
43 | +.PP | |
44 | +Sans argument, | |
45 | +.B iwpriv | |
46 | +liste les commandes privées disponibles sur chaque interface, ainsi que les | |
47 | +paramètres qu'elles requièrent. En utilisant ces informations, l'utilisateur | |
48 | +peut appliquer ces commandes particulières sur les interfaces spécifiées. | |
49 | +.PP | |
50 | +En théorie, la documentation de chaque pilote devrait indiquer comment utiliser | |
51 | +ces commandes spécifiques et leurs effets. | |
52 | +.\" | |
53 | +.\" PARAMETER part | |
54 | +.\" | |
55 | +.SH PARAMÈTRES | |
56 | +.TP | |
57 | +.IR commande-privée " [" paramètres-privés ] | |
58 | +Exécute la | |
59 | +.I commande-privée | |
60 | +spécifiée sur l'interface. | |
61 | +.br | |
62 | +La commande peut éventuellement prendre ou nécessiter des arguments, et peut | |
63 | +afficher de l'information. En conséquent, les paramètres de la ligne de | |
64 | +commande peuvent ou peuvent ne pas être nécessaires et doivent correspondre | |
65 | +aux besoins de la commande. La liste des commandes que | |
66 | +.B iwpriv | |
67 | +affiche (quand il est appelé sans paramètre) doit vous donner des indications | |
68 | +sur ces paramètres. | |
69 | +.br | |
70 | +Cependant, vous devriez vous reporter à la documentation du pilote du matériel | |
71 | +pour utiliser les commandes correctement et connaître leurs effets. | |
72 | +.TP | |
73 | +.IR "commande-privée " [ I "] [" paramètres-privés ] | |
74 | +Idem, sauf que | |
75 | +.I I | |
76 | +(un entier) est passé à la commande en tant que | |
77 | +.I "Token Index" | |
78 | +(indication d'index). Seules quelques commandes utiliseront ce «\ Token | |
79 | +Index\ » (la plupart l'ignoreront), et la documentation du pilote devrait | |
80 | +préciser quand il est nécessaire. | |
81 | +.TP | |
82 | +.BR -a / --all | |
83 | +Exécute et affiche toutes les commandes privées qui ne prennent aucun argument | |
84 | +(c.-à-d. en lecture seule). | |
85 | +.\" | |
86 | +.\" DISPLAY part | |
87 | +.\" | |
88 | +.SH AFFICHAGE | |
89 | +Pour chaque matériel qui supporte les commandes privées, | |
90 | +.I iwpriv | |
91 | +affichera la liste des commandes privées disponibles. | |
92 | +.PP | |
93 | +Cela inclut le nom de la commande privée, le nombre d'arguments qui peuvent | |
94 | +être entrés et leur type, ainsi que le nombre d'arguments qui peuvent être | |
95 | +affichés et leur type. | |
96 | +.PP | |
97 | +Par exemple, vous pouvez avoir l'affichage suivant\ : | |
98 | +.br | |
99 | +.B "eth0 Available private ioctl :" | |
100 | +.br | |
101 | +.B " setqualthr (89F0) : set 1 byte & get 0" | |
102 | +.br | |
103 | +.B " gethisto (89F7) : set 0 & get 16 int" | |
104 | +.PP | |
105 | +Cela veut dire que vous pouvez fixer le seuil de qualité et afficher un | |
106 | +histogramme jusqu'à 16 valeurs avec les commandes suivantes\ : | |
107 | +.br | |
108 | +.I " iwpriv eth0 setqualthr 20" | |
109 | +.br | |
110 | +.I " iwpriv eth0 gethisto" | |
111 | +.\" | |
112 | +.\" AUTHOR part | |
113 | +.\" | |
114 | +.SH AUTHOR | |
115 | +Jean Tourrilhes \- jt@hpl.hp.com | |
116 | +.\" | |
117 | +.\" TRADUCTION part | |
118 | +.\" | |
119 | +.SH TRADUCTION | |
120 | +Maxime CHARPENNE, octobre 2007 (wireless_tools.30-pre3). | |
121 | +.\" | |
122 | +\" AVERTISSEMENT part | |
123 | +.\" | |
124 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
125 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
126 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
127 | +avec le programme. | |
128 | +.\" | |
129 | +.\" FILES part | |
130 | +.\" | |
131 | +.SH FILES | |
132 | +.I /proc/net/wireless | |
133 | +.\" | |
134 | +.\" SEE ALSO part | |
135 | +.\" | |
136 | +.SH SEE ALSO | |
137 | +.BR iwconfig (8), | |
138 | +.BR iwlist (8), | |
139 | +.BR iwevent (8), | |
140 | +.BR iwspy (8), | |
141 | +.BR wireless (7). |
@@ -0,0 +1,124 @@ | ||
1 | +.\" Jean II - HPLB - 96 | |
2 | +.\" iwspy.8 | |
3 | +.\" | |
4 | +.\" Traduction 2003/08/18 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 26 | |
7 | +.\" Manuel identique pour la version 27-pre9 (beta) | |
8 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
9 | +.\" Manuel identique pour la version 27-pre11 (alpha) | |
10 | +.\" Mise à jour 2007/09 : version 29-pre21 | |
11 | +.\" Mise à jour 2007/10 : version 30-pre1 | |
12 | +.\" Mise à jour 2007/10/29 : version 30-pre3 | |
13 | +.\" | |
14 | +.TH IWSPY 8 "31 octobre 1996" "net-tools" "Manuel du Programmeur Linux" | |
15 | +.\" | |
16 | +.\" NAME part | |
17 | +.\" | |
18 | +.SH NOM | |
19 | +iwspy \- Obtenir des statistiques wireless depuis des noeuds donnés | |
20 | +.\" | |
21 | +.\" SYNOPSIS part | |
22 | +.\" | |
23 | +.SH SYNOPSIS | |
24 | +.BI "iwspy [" interface ] | |
25 | +.br | |
26 | +.BI "iwspy " interface " [+] " DNSNAME " | " IPADDR " | " HWADDR " [...]" | |
27 | +.br | |
28 | +.BI "iwspy " interface " off" | |
29 | +.br | |
30 | +.BI "iwspy " interface " setthr " "low high" | |
31 | +.br | |
32 | +.BI "iwspy " interface " getthr" | |
33 | +.\" | |
34 | +.\" DESCRIPTION part | |
35 | +.\" | |
36 | +.SH DESCRIPTION | |
37 | +.B Iwspy | |
38 | +est utilisé pour fixer une liste d'adresses à surveiller sur une interface | |
39 | +réseau sans fil, et obtenir des informations sur la qualité du lien pour | |
40 | +chacune d'elles. Ces informations sont les mêmes que celles disponibles dans | |
41 | +.IR /proc/net/wireless "\ :" | |
42 | +qualité du lien, force du signal et niveau du bruit. | |
43 | +.PP | |
44 | +Ces informations sont mises à jour à chaque fois qu'un nouveau paquet est reçu, | |
45 | +donc chaque adresse de la liste ajoute quelques précisions en plus. | |
46 | +.PP | |
47 | +Remarquez que cette fonctionnalité ne marche que pour les noeuds faisant partie | |
48 | +de la cellule sans fil courante, vous ne pouvez pas surveiller un Point d'Accès | |
49 | +avec lequel vous n'êtes pas associé (utiliser Scanning pour ça), ni les noeuds | |
50 | +dans d'autres cellules. En mode Managed, les paquets sont souvent relayés par | |
51 | +le Point d'Accès et, dans ce cas, vous obtiendrez la force du signal du Point | |
52 | +d'Accès. Pour ces raisons cette fonctionnalité est surtout utile pour les | |
53 | +modes Ad-Hoc et Master. | |
54 | +.\" | |
55 | +.\" PARAMETER part | |
56 | +.\" | |
57 | +.SH PARAMÈTRES | |
58 | +Vous pouvez fixer jusqu'à 8 adresses. | |
59 | +.TP | |
60 | +.BR DNSNAME " | " IPADDR | |
61 | +Paramètre une adresse IP, ou dans certains cas un nom DNS (en utilisant le | |
62 | +«\ resolver\ » de nom). Comme le matériel fonctionne avec des adresses | |
63 | +matérielles, | |
64 | +.B iwspy | |
65 | +traduira les adresses IP grâce à | |
66 | +.IR ARP . | |
67 | +Dans certains cas, cette adresse peut ne pas être dans le cache ARP et | |
68 | +.B iwspy | |
69 | +échouera. Dans cette situation, exécuter | |
70 | +.IR ping (8) | |
71 | +vers ces noms/adresses et réessayer. | |
72 | +.TP | |
73 | +.B HWADDR | |
74 | +Paramètre une adresse matérielle (MAC) (cette adresse n'est pas traduite ni | |
75 | +vérifée comme le sont les adresses IP). L'adresse doit contenir deux-points | |
76 | +.RB ( : ) | |
77 | +pour être reconnue comme une adresse matérielle. | |
78 | +.TP | |
79 | +.B + | |
80 | +Ajoute un nouveau jeu d'adresses à la fin de la liste courante au lieu de la | |
81 | +remplacer. La liste d'adresses est unique pour chaque carte, donc chaque | |
82 | +utilisateur devrait utiliser cette option pour éviter les conflits. | |
83 | +.TP | |
84 | +.B off | |
85 | +Enlève la liste d'adresses courante et désactive la fonctionnalité de | |
86 | +surveillance. | |
87 | +.TP | |
88 | +.B setthr | |
89 | +Fixe les seuils de force de signal | |
90 | +.IR low " (bas) et " high " (haut)" | |
91 | +pour les événements iwspy (pour les pilotes qui le supportent). | |
92 | +.br | |
93 | +Chaque fois que la force du signal, pour une des adresses contrôlées avec | |
94 | +iwspy, passe au-dessous du seuil bas ou au-dessus du seuil haut, un Wireless | |
95 | +Event est généré. | |
96 | +.br | |
97 | +Ceci peut être utilisé pour surveiller la qualité du lien sans avoir à lancer | |
98 | +iwspy périodiquement. | |
99 | +.TP | |
100 | +.B getthr | |
101 | +Récupère les seuils | |
102 | +.IR low " (bas) et " high " (haut)" | |
103 | +de la force du signal pour l'événement iwspy. | |
104 | +.\" | |
105 | +\" AVERTISSEMENT part | |
106 | +.\" | |
107 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
108 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
109 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
110 | +avec le programme. | |
111 | +\" | |
112 | +.\" FILES part | |
113 | +.\" | |
114 | +.SH FICHIERS | |
115 | +.I /proc/net/wireless | |
116 | +.\" | |
117 | +.\" SEE ALSO part | |
118 | +.\" | |
119 | +.SH VOIR AUSSI | |
120 | +.BR iwconfig (8), | |
121 | +.BR iwlist (8), | |
122 | +.BR iwevent (8), | |
123 | +.BR iwpriv (8), | |
124 | +.BR wireless (7). |
@@ -0,0 +1,147 @@ | ||
1 | +.\" Jean Tourrilhes - HPL - 2002 - 2004 | |
2 | +.\" wireless.7 | |
3 | +.\" | |
4 | +.\" Traduction 2004/02/26 Maxime CHARPENNE (voir | |
5 | +.\" http://www.delafond.org/traducmanfr/) | |
6 | +.\" 1ère traduction : version 27-pre11 (alpha) | |
7 | +.\" Mise à jour 2004/08/24 : version 27-pre25 | |
8 | +.\" Manuel identique pour la version 29-pre21 | |
9 | +.\" Manuel identique pour la version 30-pre1 | |
10 | +.\" Manuel identique pour la version 30-pre3 | |
11 | +.\" | |
12 | +.TH WIRELESS 7 "4 mars 2004" "wireless-tools" "Manuel du Programmeur Linux" | |
13 | +.\" | |
14 | +.\" NAME part | |
15 | +.\" | |
16 | +.SH NOM | |
17 | +wireless \- Wireless Tools et Wireless Extensions | |
18 | +.\" | |
19 | +.\" SYNOPSIS part | |
20 | +.\" | |
21 | +.SH SYNOPSIS | |
22 | +.B iwconfig | |
23 | +.br | |
24 | +.B iwpriv \-a | |
25 | +.br | |
26 | +.\" | |
27 | +.\" DESCRIPTION part | |
28 | +.\" | |
29 | +.SH DESCRIPTION | |
30 | +Les | |
31 | +.B Wireless Extensions | |
32 | +sont une API vous permettant de manipuler les interfaces réseaux Wireless LAN. | |
33 | +Ils sont composés d'une gamme d'outils et de fichiers de configuration. Ils sont | |
34 | +plus amplement détaillés dans le Linux Wireless LAN Howto. | |
35 | +.br | |
36 | +.RB Les " Wireless Tools" | |
37 | +sont utilisés pour changer la configuration des interfaces réseau LAN wireless | |
38 | +à la volée, pour obtenir leur configuration courante, pour avoir des | |
39 | +statistiques et pour les diagnostiquer. Ils sont décrits dans leur propre page | |
40 | +man, voir ci-dessous pour les références. | |
41 | +.br | |
42 | +.RB La " configuration Wireless" | |
43 | +est propre à chaque distribution Linux. Cette page man contiendra à l'avenir | |
44 | +la procédure de configuration pour quelques distributions les plus communes. | |
45 | +Pour le moment, consultez le fichier DISTRIBUTIONS.txt inclus avec le paquetage | |
46 | +Wireless Tools. | |
47 | +.\" | |
48 | +.\" DEBIAN 3.0 part | |
49 | +.\" | |
50 | +.SH DEBIAN 3.0 | |
51 | +Dans la Debian 3.0 (et suivante) vous pouvez configurer les périphériques | |
52 | +réseaux LAN wireless en utilisant l'outil de configuration réseau | |
53 | +.BR ifupdown (8). | |
54 | +.TP | |
55 | +.B Fichier : | |
56 | +.I /etc/network/interfaces | |
57 | +.TP | |
58 | +.B Format : | |
59 | +.RI wireless\- "<fonction> <valeur>" | |
60 | +.br | |
61 | +wireless\-essid Maison | |
62 | +.br | |
63 | +wireless\-mode Ad\-Hoc | |
64 | +.TP | |
65 | +.B Voir aussi : | |
66 | +.I /etc/network/if\-pre\-up.d/wireless\-tools | |
67 | +.br | |
68 | +.I /usr/share/doc/wireless\-tools/README.Debian | |
69 | +.\" | |
70 | +.\" SuSE 8.0 part | |
71 | +.\" | |
72 | +.SH SuSE 8.0 | |
73 | +La SuSE 8.0 (et suivante) a intégré la configuration wireless dans ses | |
74 | +scripts réseaux. | |
75 | +.TP | |
76 | +.B Outils : | |
77 | +.B Yast2 | |
78 | +.TP | |
79 | +.B Fichiers : | |
80 | +.I /etc/sysconfig/network/wireless | |
81 | +.br | |
82 | +.I /etc/sysconfig/network/ifcfg\-* | |
83 | +.TP | |
84 | +.B Format : | |
85 | +.RI WIRELESS_ "<fonction>" = "<valeur>" | |
86 | +.br | |
87 | +WIRELESS_ESSID="Maison" | |
88 | +.br | |
89 | +WIRELESS_MODE=Ad\-Hoc | |
90 | +.TP | |
91 | +.B Voir aussi : | |
92 | +man ifup | |
93 | +.br | |
94 | +info scpm | |
95 | +.\" | |
96 | +.\" PCMCIA part | |
97 | +.\" | |
98 | +.SH SCRIPTS ORIGINAUX PCMCIA | |
99 | +Si vous utilisez les scripts originaux de configuration du paquetage Pcmcia, | |
100 | +vous pouvez utiliser cette méthode. | |
101 | +.TP | |
102 | +.B Fichier : | |
103 | +.I /etc/pcmcia/wireless.opts | |
104 | +.TP | |
105 | +.B Format : | |
106 | +*,*,*,*) | |
107 | +.br | |
108 | + ESSID="Maison" | |
109 | +.br | |
110 | + MODE="Ad-Hoc" | |
111 | +.br | |
112 | + ;; | |
113 | +.TP | |
114 | +.B Voir aussi : | |
115 | +.I /etc/pcmcia/wireless | |
116 | +.br | |
117 | +Le fichier | |
118 | +.I PCMCIA.txt | |
119 | +qui fait partie du paquetage Wireless Tools. | |
120 | +.\" | |
121 | +.\" AUTHOR part | |
122 | +.\" | |
123 | +.SH AUTEUR | |
124 | +Jean Tourrilhes \- jt@hpl.hp.com | |
125 | +.br | |
126 | +.I http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ | |
127 | +.\" | |
128 | +.\" TRADUCTION part | |
129 | +.\" | |
130 | +.SH TRADUCTION | |
131 | +Maxime CHARPENNE, octobre 2007 (wireless-tools.30-pre3). | |
132 | +.\" | |
133 | +.\" AVERTISSEMENT part | |
134 | +.\" | |
135 | +.SH AVERTISSEMENT SUR LA TRADUCTION | |
136 | +Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
137 | +doute, veuillez vous reporter au document original en langue anglaise fourni | |
138 | +avec le programme. | |
139 | +.\" | |
140 | +.\" SEE ALSO part | |
141 | +.\" | |
142 | +.SH VOIR AUSSI | |
143 | +.BR iwconfig (8), | |
144 | +.BR iwlist (8), | |
145 | +.BR iwspy (8), | |
146 | +.BR iwpriv (8), | |
147 | +.BR iwevent (8). |
@@ -1,196 +0,0 @@ | ||
1 | -.\" Jean II - HPL - 2004 | |
2 | -.\" iftab.5 | |
3 | -.\" | |
4 | -.\" Traduction 2004/08/25 Maxime CHARPENNE (voir | |
5 | -.\" http://www.delafond.org/traducmanfr/) | |
6 | -.\" 1ère traduction : version 27-pre25 | |
7 | -.\" | |
8 | -.TH IFTAB 5 "01 mars 2004" "wireless-tools" "Manuel du Programmeur Linux" | |
9 | -.\" | |
10 | -.\" NAME part | |
11 | -.\" | |
12 | -.SH NOM | |
13 | -iftab \- informations statiques sur les interfaces réseau | |
14 | -.\" | |
15 | -.\" DESCRIPTION part | |
16 | -.\" | |
17 | -.SH DESCRIPTION | |
18 | -Le fichier | |
19 | -.B /etc/iftab | |
20 | -contient de l'information descriptive à propos des diverses interfaces réseau. | |
21 | -.B iftab | |
22 | -n'est utilisé que par le programme | |
23 | -.IR ifrename (8) | |
24 | -pour assigner un nom d'interface réseau cohérent à chaque interface réseau. | |
25 | -.PP | |
26 | -.B /etc/iftab | |
27 | -définit un ensemble de | |
28 | -.RI "correspondances («\ " mappings "\ »)." | |
29 | -Chaque correspondance contient un nom d'interface et un ensemble de sélecteurs | |
30 | -(«\ selectors\ »). Les sélecteurs permettent à | |
31 | -.B ifrename | |
32 | -d'identifier chaque interface réseau du système. Si une interface réseau | |
33 | -correspond à tous les descripteurs d'une correspondance, | |
34 | -.B ifrename | |
35 | -essaye de changer le nom de l'interface par le nom de l'interface donné dans la | |
36 | -correspondance. | |
37 | -.\" | |
38 | -.\" MAPPINGS part | |
39 | -.\" | |
40 | -.SH CORRESPONDANCES («\ MAPPINGS\ ») | |
41 | -Chaque correspondance est décrite sur une ligne distincte, elle commence avec | |
42 | -.IR "interface name" " (nom d'interface)," | |
43 | -et contient un ensemble de | |
44 | -.RI "descripteurs («\ " descriptors "\ »)," | |
45 | -séparés par des espaces ou des tabulations. | |
46 | -.PP | |
47 | -La relation entre les descripteurs d'une correspondance est un | |
48 | -.IR "et logique" . | |
49 | -Une correspondance s'applique à une interface réseau seulement si tous les | |
50 | -descripteurs s'appliquent. Si une interface réseau ne supporte pas un | |
51 | -descripteur particulier, elle ne s'appliquera à aucune correspondance qui | |
52 | -utilise ce descripteur. | |
53 | -.PP | |
54 | -Si vous voulez utiliser des descripteurs alternatifs pour un nom d'interface | |
55 | -(ou logique), spécifiez deux correspondances différentes avec le même nom | |
56 | -d'interface (une par ligne). | |
57 | -.B Ifrename | |
58 | -utilise toujours la première correspondance en commençant par la | |
59 | -.I fin | |
60 | -de | |
61 | -.BR iftab , | |
62 | -donc les correspondances les plus restrictives devraient être définies en | |
63 | -dernier. | |
64 | -.\" | |
65 | -.\" INTERFACE NAME part | |
66 | -.\" | |
67 | -.SH NOM D'INTERFACE | |
68 | -La première partie de chaque correspondance est un nom d'interface. Si une | |
69 | -interface réseau correspond à tous les descripteurs d'une correspondance, | |
70 | -.B ifrename | |
71 | -essaye de changer le nom de l'interface par le nom de l'interface donné dans la | |
72 | -correspondance. | |
73 | -.PP | |
74 | -Le nom de l'interface d'une correspondance est soit un nom d'interface complet | |
75 | -(comme | |
76 | -.IR eth2 " ou " wlan0 ) | |
77 | -ou un motif de nom d'interface contenant un seul caractère joker (comme | |
78 | -.IR eth* " ou " wlan* ). | |
79 | -Dans le cas d'un caractère joker («\ wildcard\ »), le noyau remplace le | |
80 | -caractère '*' par le plus petit entier disponible faisant un nom d'interface | |
81 | -unique. | |
82 | -.\" | |
83 | -.\" DESCRIPTORS part | |
84 | -.\" | |
85 | -.SH DESCRIPTEURS («\ DESCRIPTORS\ ») | |
86 | -Chaque descripteur est composé d'un nom de descripteur et d'une valeur de | |
87 | -descripteur. Les descripteurs définissent un attribut statique d'une interface | |
88 | -réseau, le but étant d'identifier de manière unique chaque périphérique. | |
89 | -.PP | |
90 | -La plupart des utilisateurs n'utiliseront que le sélecteur | |
91 | -.BR mac , | |
92 | -les autres sélecteurs étant pour une configuration plus spécialisée. | |
93 | -.TP | |
94 | -.BI mac " adresse mac" | |
95 | -Correspond à l'Adresse MAC de l'interface avec l'adresse MAC spécifiée. | |
96 | -L'adresse MAC de l'interface peut être montrée en utilisant | |
97 | -.IR ifconfig (8) | |
98 | -ou | |
99 | -.IR ip (8). | |
100 | -L'adresse MAC spécifiée peut contenir une '*' pour la correspondance joker | |
101 | -(«\ wildcard matching\ »). | |
102 | -.br | |
103 | -C'est le plus commun des sélecteurs, vu que chaque interface possède une | |
104 | -adresse MAC unique, ce qui permet de les identifier sans ambiguïté. | |
105 | -.TP | |
106 | -.BI arp " arp type" | |
107 | -Fait correspondre le Type ARP («\ ARP Type\ ») (aussi appelé «\ Link Type\ ») | |
108 | -de l'interface avec le type ARP spécifié. Le Type ARP de l'interface peut être | |
109 | -montré en utilisant | |
110 | -.IR ifconfig (8) | |
111 | -ou | |
112 | -.IR ip (8). | |
113 | -.br | |
114 | -Ce sélecteur est utile quand un pilote crée plusieurs interfaces réseau pour | |
115 | -une seule carte réseau. | |
116 | -.TP | |
117 | -.BI driver " driver name" | |
118 | -Fait correspondre le Nom de Pilote («\ Driver Name\ ») de l'interface avec le | |
119 | -nom de pilote spécifié. Le Nom de Pilote de l'interface peut être montré en | |
120 | -utilisant | |
121 | -.IR "ethtool -i" (8). | |
122 | -.TP | |
123 | -.BI businfo " bus information" | |
124 | -Fait correspondre l'Information de Bus («\ Bus Information\ ») de l'interface | |
125 | -avec l'information de bus spécifiée. L'Information de Bus de l'interface peut | |
126 | -être montrée en utilisant | |
127 | -.IR "ethtool -i" (8). | |
128 | -.TP | |
129 | -.BI baseaddress " base address" | |
130 | -Fait correspondre l'Adresse de Base («\ Base Address\ ») de l'interface avec | |
131 | -l'adresse de base spécifiée. L'Adresse de Base de l'interface peut être montrée | |
132 | -en utilisant | |
133 | -.IR ifconfig (8). | |
134 | -.br | |
135 | -Ce sélecteur n'est utile que pour les cartes ISA et EISA car la plupart des | |
136 | -cartes utilisent l'allocation dynamique pour l'Adresse de Base. | |
137 | -.TP | |
138 | -.BI irq " irq line" | |
139 | -Fait correspondre la Ligne IRQ (interruption) de l'interface avec la ligne IRQ | |
140 | -spécifiée. La Ligne IRQ de l'interface peut être montrée en utilisant | |
141 | -.IR ifconfig (8). | |
142 | -.br | |
143 | -Ce sélecteur n'est habituellement pas suffisant pour identifier de manière | |
144 | -unique une interface, car les Lignes IRQ peuvent être partagées. | |
145 | -.TP | |
146 | -.BI iwproto " wireless protocol" | |
147 | -Fait correspondre le Protocole Wireless de l'interface avec le protocole | |
148 | -wireless spécifié. Le Protocole Wireless de l'interface peut être montré | |
149 | -en utilisant | |
150 | -.IR iwconfig (8). | |
151 | -.br | |
152 | -Ce sélecteur n'est valable que pour les interfaces wireless et n'est pas | |
153 | -suffisant pour en identifier une de manière unique. | |
154 | -.\" | |
155 | -.\" EXAMPLE part | |
156 | -.\" | |
157 | -.SH EXEMPLE | |
158 | -# Ceci est un commentaire | |
159 | -.br | |
160 | -eth2 mac 08:00:09:DE:82:0E | |
161 | -.br | |
162 | -eth3 driver wavelan interrupt 15 baseaddress 0x390 | |
163 | -.br | |
164 | -eth4 driver pcnet32 businfo 0000:02:05.0 | |
165 | -.br | |
166 | -air* mac 00:07:0E:* arp 1 | |
167 | -.\" | |
168 | -.\" AUTHOR part | |
169 | -.\" | |
170 | -.SH AUTEUR | |
171 | -Jean Tourrilhes \- jt@hpl.hp.com | |
172 | -.\" | |
173 | -.\" TRADUCTION part | |
174 | -.\" | |
175 | -.SH TRADUCTION | |
176 | -Maxime CHARPENNE, août 2004 (wireless_tools.27-pre25). | |
177 | -.\" | |
178 | -.\" AVERTISSEMENT part | |
179 | -.\" | |
180 | -.SH AVERTISSEMENT SUR LA TRADUCTION | |
181 | -Il est possible que cette traduction soit imparfaite ou périmée. En cas de | |
182 | -doute, veuillez vous reporter au document original en langue anglaise fourni | |
183 | -avec le programme. | |
184 | -.\" | |
185 | -.\" FILES part | |
186 | -.\" | |
187 | -.SH FICHIERS | |
188 | -.I /etc/iftab | |
189 | -.\" | |
190 | -.\" SEE ALSO part | |
191 | -.\" | |
192 | -.SH VOIR AUSSI | |
193 | -.BR ifrename (8), | |
194 | -.BR ifconfig (8), | |
195 | -.BR ip (8), | |
196 | -.BR iwconfig (8). |
@@ -11,7 +11,7 @@ ifrename \- rename network interfaces based on various static criteria | ||
11 | 11 | .\" SYNOPSIS part |
12 | 12 | .\" |
13 | 13 | .SH SYNOPSIS |
14 | -.B "ifrename [-c configfile] [-p] [-d] [-u] [-v] [-V] [-D]" | |
14 | +.B "ifrename [-c configfile] [-p] [-d] [-u] [-v] [-V] [-D] [-C]" | |
15 | 15 | .br |
16 | 16 | .B "ifrename [-c configfile] [-i interface] [-n newname]" |
17 | 17 | .\" |
@@ -164,6 +164,14 @@ with the | ||
164 | 164 | .I dry-run |
165 | 165 | option, this is a good way to debug complex configurations or trivial |
166 | 166 | problems. |
167 | +.TP | |
168 | +.B -C | |
169 | +Count matching interfaces. Display the number of interface matched, | |
170 | +and return it as the exit status of ifrename. | |
171 | +.br | |
172 | +The number of interfaces matched is the number of interface on the | |
173 | +system for which a mapping was found in the config file (which is | |
174 | +different from the number of interface renamed). | |
167 | 175 | .\" |
168 | 176 | .\" AUTHOR part |
169 | 177 | .\" |
@@ -432,9 +432,12 @@ int print_newname = 0; | ||
432 | 432 | char * new_name = NULL; |
433 | 433 | |
434 | 434 | /* Takeover support */ |
435 | -int force_takeover = 0; /* Takeover name from other interface */ | |
435 | +int force_takeover = 0; /* Takeover name from other interfaces */ | |
436 | 436 | int num_takeover = 0; /* Number of takeover done */ |
437 | 437 | |
438 | +/* Number of mapping matched */ | |
439 | +int num_mapping_match = 0; | |
440 | + | |
438 | 441 | /* Dry-run support */ |
439 | 442 | int dry_run = 0; /* Just print new name, don't rename */ |
440 | 443 |
@@ -2313,7 +2316,7 @@ mapping_find(struct if_mapping * target) | ||
2313 | 2316 | * Probe interfaces based on our list of mappings. |
2314 | 2317 | * This is the default, but usually not the best way to do it. |
2315 | 2318 | */ |
2316 | -static void | |
2319 | +static inline void | |
2317 | 2320 | probe_mappings(int skfd) |
2318 | 2321 | { |
2319 | 2322 | struct if_mapping * ifnode; |
@@ -2323,11 +2326,11 @@ probe_mappings(int skfd) | ||
2323 | 2326 | for(ifnode = mapping_list; ifnode != NULL; ifnode = ifnode->next) |
2324 | 2327 | { |
2325 | 2328 | /* Can't load wildcards interface name :-( */ |
2326 | - if(strchr(ifnode->ifname, '%') != NULL) | |
2329 | + if(strchr(ifnode->ifname, '*') != NULL) | |
2327 | 2330 | continue; |
2328 | 2331 | |
2329 | 2332 | if(verbose) |
2330 | - fprintf(stderr, "Probing : Trying to load interface [%s]\n", | |
2333 | + fprintf(stderr, "Probing : Trying to load/probe interface [%s]\n", | |
2331 | 2334 | ifnode->ifname); |
2332 | 2335 | |
2333 | 2336 | /* Trick the kernel into loading the interface. |
@@ -2348,7 +2351,7 @@ probe_mappings(int skfd) | ||
2348 | 2351 | * all built-in interfaces that should remain unconfigured won't |
2349 | 2352 | * be probed (and can have mappings). |
2350 | 2353 | */ |
2351 | -static void | |
2354 | +static inline void | |
2352 | 2355 | probe_debian(int skfd) |
2353 | 2356 | { |
2354 | 2357 | FILE * stream; |
@@ -2531,6 +2534,9 @@ process_ifname(int skfd, | ||
2531 | 2534 | } |
2532 | 2535 | } |
2533 | 2536 | |
2537 | + /* This one matched */ | |
2538 | + num_mapping_match++; | |
2539 | + | |
2534 | 2540 | /* Check if called with an explicit interface name */ |
2535 | 2541 | if(print_newname) |
2536 | 2542 | { |
@@ -2567,28 +2573,28 @@ process_ifname(int skfd, | ||
2567 | 2573 | /* |
2568 | 2574 | * Process all network interface present on the system. |
2569 | 2575 | */ |
2570 | -static inline int | |
2576 | +static int | |
2571 | 2577 | process_iflist(int skfd, |
2572 | 2578 | char * args[], |
2573 | - int count) | |
2579 | + int count, | |
2580 | + int use_probe, | |
2581 | + int is_debian) | |
2574 | 2582 | { |
2575 | 2583 | num_takeover = 0; |
2584 | + num_mapping_match = 0; | |
2585 | + | |
2586 | + /* Load all the necesary modules */ | |
2587 | + if(use_probe) | |
2588 | + { | |
2589 | + if(is_debian) | |
2590 | + probe_debian(skfd); | |
2591 | + else | |
2592 | + probe_mappings(skfd); | |
2593 | + } | |
2576 | 2594 | |
2577 | 2595 | /* Just do it */ |
2578 | 2596 | iw_enum_devices(skfd, &process_ifname, args, count); |
2579 | 2597 | |
2580 | - /* If we do any takeover, the interface list grabbed with | |
2581 | - * iw_enum_devices() may get out of sync with the real interfaces, | |
2582 | - * and we may miss the victim interface. So, let's go through the | |
2583 | - * list again. | |
2584 | - * On the other hand, we may have ping pong between two interfaces, | |
2585 | - * each claiming the same name, so let's not do it forever... | |
2586 | - * Two time should be enough for most configs... | |
2587 | - * Jean II */ | |
2588 | - if(force_takeover && num_takeover) | |
2589 | - /* Play it again, Sam... */ | |
2590 | - iw_enum_devices(skfd, &process_ifname, args, count); | |
2591 | - | |
2592 | 2598 | /* Done */ |
2593 | 2599 | return(0); |
2594 | 2600 | } |
@@ -2616,15 +2622,16 @@ main(int argc, | ||
2616 | 2622 | { |
2617 | 2623 | const char * conf_file = DEFAULT_CONF; |
2618 | 2624 | char * ifname = NULL; |
2619 | - int use_probe = 0; | |
2620 | - int is_debian = 0; | |
2625 | + int use_probe = 0; /* Probe for modules */ | |
2626 | + int is_debian = 0; /* Debian quirks (probing) */ | |
2627 | + int print_num_match = 0; /* Print/Return num of matches */ | |
2621 | 2628 | int skfd; |
2622 | 2629 | int ret; |
2623 | 2630 | |
2624 | 2631 | /* Loop over all command line options */ |
2625 | 2632 | while(1) |
2626 | 2633 | { |
2627 | - int c = getopt_long(argc, argv, "c:dDi:n:ptuvV", long_opt, NULL); | |
2634 | + int c = getopt_long(argc, argv, "c:CdDi:n:ptuvV", long_opt, NULL); | |
2628 | 2635 | if(c == -1) |
2629 | 2636 | break; |
2630 | 2637 |
@@ -2636,6 +2643,9 @@ main(int argc, | ||
2636 | 2643 | case 'c': |
2637 | 2644 | conf_file = optarg; |
2638 | 2645 | break; |
2646 | + case 'C': | |
2647 | + print_num_match = 1; | |
2648 | + break; | |
2639 | 2649 | case 'd': |
2640 | 2650 | is_debian = 1; |
2641 | 2651 | break; |
@@ -2666,10 +2676,6 @@ main(int argc, | ||
2666 | 2676 | } |
2667 | 2677 | } |
2668 | 2678 | |
2669 | - /* Read the specified/default config file, or stdin. */ | |
2670 | - if(mapping_readfile(conf_file) < 0) | |
2671 | - return(-1); | |
2672 | - | |
2673 | 2679 | /* Create a channel to the NET kernel. */ |
2674 | 2680 | if((skfd = iw_sockets_open()) < 0) |
2675 | 2681 | { |
@@ -2688,6 +2694,10 @@ main(int argc, | ||
2688 | 2694 | } |
2689 | 2695 | else |
2690 | 2696 | { |
2697 | + /* Read the specified/default config file, or stdin. */ | |
2698 | + if(mapping_readfile(conf_file) < 0) | |
2699 | + return(-1); | |
2700 | + | |
2691 | 2701 | /* Rename only this interface based on mappings |
2692 | 2702 | * Mostly used for HotPlug processing (from /etc/hotplug/net.agent) |
2693 | 2703 | * or udev processing (from a udev IMPORT rule). |
@@ -2700,19 +2710,38 @@ main(int argc, | ||
2700 | 2710 | } |
2701 | 2711 | else |
2702 | 2712 | { |
2703 | - /* Load all the necesary modules */ | |
2704 | - if(use_probe) | |
2705 | - { | |
2706 | - if(is_debian) | |
2707 | - probe_debian(skfd); | |
2708 | - else | |
2709 | - probe_mappings(skfd); | |
2710 | - } | |
2713 | + /* Read the specified/default config file, or stdin. */ | |
2714 | + if(mapping_readfile(conf_file) < 0) | |
2715 | + return(-1); | |
2711 | 2716 | |
2712 | 2717 | /* Rename all system interfaces |
2713 | 2718 | * Mostly used for boot time processing (from init scripts). |
2714 | 2719 | */ |
2715 | - ret = process_iflist(skfd, NULL, 0); | |
2720 | + ret = process_iflist(skfd, NULL, 0, use_probe, is_debian); | |
2721 | + | |
2722 | + /* If we do any takeover, the interface list grabbed with | |
2723 | + * iw_enum_devices() may get out of sync with the real interfaces, | |
2724 | + * and we may miss the victim interface. So, let's go through the | |
2725 | + * list again. | |
2726 | + * On the other hand, we may have ping pong between two interfaces, | |
2727 | + * each claiming the same name, so let's not do it forever... | |
2728 | + * Two time should be enough for most configs... | |
2729 | + * Note also that takeover is usually done with eth0, and many time | |
2730 | + * we fail to probe eth0 because an unrenamed interface was using it, | |
2731 | + * so we redo everything also when probing... | |
2732 | + * Jean II */ | |
2733 | + if(force_takeover && (num_takeover || use_probe)) | |
2734 | + { | |
2735 | + /* Play it again, Sam... */ | |
2736 | + ret = process_iflist(skfd, NULL, 0, use_probe, is_debian); | |
2737 | + } | |
2738 | + | |
2739 | + /* Print number of mapping that matched */ | |
2740 | + if(print_num_match) | |
2741 | + { | |
2742 | + fprintf(stderr, "Setting : %d mapping matched.\n", num_mapping_match); | |
2743 | + ret = num_mapping_match; | |
2744 | + } | |
2716 | 2745 | } |
2717 | 2746 | |
2718 | 2747 | /* Cleanup */ |
@@ -0,0 +1,60 @@ | ||
1 | +diff -u -p linux/net/core/wireless.j2.c linux/net/core/wireless.c | |
2 | +--- linux/net/core/wireless.j2.c 2007-03-21 14:41:51.000000000 -0700 | |
3 | ++++ linux/net/core/wireless.c 2007-03-21 14:41:08.000000000 -0700 | |
4 | +@@ -766,39 +766,11 @@ static int ioctl_standard_call(struct ne | |
5 | + int extra_size; | |
6 | + int user_length = 0; | |
7 | + int err; | |
8 | +- int essid_compat = 0; | |
9 | + | |
10 | + /* Calculate space needed by arguments. Always allocate | |
11 | + * for max space. Easier, and won't last long... */ | |
12 | + extra_size = descr->max_tokens * descr->token_size; | |
13 | + | |
14 | +- /* Check need for ESSID compatibility for WE < 21 */ | |
15 | +- switch (cmd) { | |
16 | +- case SIOCSIWESSID: | |
17 | +- case SIOCGIWESSID: | |
18 | +- case SIOCSIWNICKN: | |
19 | +- case SIOCGIWNICKN: | |
20 | +- if (iwr->u.data.length == descr->max_tokens + 1) | |
21 | +- essid_compat = 1; | |
22 | +- else if (IW_IS_SET(cmd) && (iwr->u.data.length != 0)) { | |
23 | +- char essid[IW_ESSID_MAX_SIZE + 1]; | |
24 | +- | |
25 | +- err = copy_from_user(essid, iwr->u.data.pointer, | |
26 | +- iwr->u.data.length * | |
27 | +- descr->token_size); | |
28 | +- if (err) | |
29 | +- return -EFAULT; | |
30 | +- | |
31 | +- if (essid[iwr->u.data.length - 1] == '\0') | |
32 | +- essid_compat = 1; | |
33 | +- } | |
34 | +- break; | |
35 | +- default: | |
36 | +- break; | |
37 | +- } | |
38 | +- | |
39 | +- iwr->u.data.length -= essid_compat; | |
40 | +- | |
41 | + /* Check what user space is giving us */ | |
42 | + if(IW_IS_SET(cmd)) { | |
43 | + /* Check NULL pointer */ | |
44 | +@@ -841,7 +813,6 @@ static int ioctl_standard_call(struct ne | |
45 | + #endif /* WE_IOCTL_DEBUG */ | |
46 | + | |
47 | + /* Create the kernel buffer */ | |
48 | +- /* kzalloc ensures NULL-termination for essid_compat */ | |
49 | + extra = kzalloc(extra_size, GFP_KERNEL); | |
50 | + if (extra == NULL) { | |
51 | + return -ENOMEM; | |
52 | +@@ -866,8 +837,6 @@ static int ioctl_standard_call(struct ne | |
53 | + /* Call the handler */ | |
54 | + ret = handler(dev, &info, &(iwr->u), extra); | |
55 | + | |
56 | +- iwr->u.data.length += essid_compat; | |
57 | +- | |
58 | + /* If we have something to return to the user */ | |
59 | + if (!ret && IW_IS_GET(cmd)) { | |
60 | + /* Check if there is enough buffer up there */ |
@@ -0,0 +1,59 @@ | ||
1 | +--- linux/net/wireless/wext.j1.c 2007-07-09 13:19:22.000000000 -0700 | |
2 | ++++ linux/net/wireless/wext.c 2007-07-09 13:19:59.000000000 -0700 | |
3 | +@@ -741,39 +741,11 @@ static int ioctl_standard_call(struct ne | |
4 | + int extra_size; | |
5 | + int user_length = 0; | |
6 | + int err; | |
7 | +- int essid_compat = 0; | |
8 | + | |
9 | + /* Calculate space needed by arguments. Always allocate | |
10 | + * for max space. Easier, and won't last long... */ | |
11 | + extra_size = descr->max_tokens * descr->token_size; | |
12 | + | |
13 | +- /* Check need for ESSID compatibility for WE < 21 */ | |
14 | +- switch (cmd) { | |
15 | +- case SIOCSIWESSID: | |
16 | +- case SIOCGIWESSID: | |
17 | +- case SIOCSIWNICKN: | |
18 | +- case SIOCGIWNICKN: | |
19 | +- if (iwr->u.data.length == descr->max_tokens + 1) | |
20 | +- essid_compat = 1; | |
21 | +- else if (IW_IS_SET(cmd) && (iwr->u.data.length != 0)) { | |
22 | +- char essid[IW_ESSID_MAX_SIZE + 1]; | |
23 | +- | |
24 | +- err = copy_from_user(essid, iwr->u.data.pointer, | |
25 | +- iwr->u.data.length * | |
26 | +- descr->token_size); | |
27 | +- if (err) | |
28 | +- return -EFAULT; | |
29 | +- | |
30 | +- if (essid[iwr->u.data.length - 1] == '\0') | |
31 | +- essid_compat = 1; | |
32 | +- } | |
33 | +- break; | |
34 | +- default: | |
35 | +- break; | |
36 | +- } | |
37 | +- | |
38 | +- iwr->u.data.length -= essid_compat; | |
39 | +- | |
40 | + /* Check what user space is giving us */ | |
41 | + if (IW_IS_SET(cmd)) { | |
42 | + /* Check NULL pointer */ | |
43 | +@@ -811,7 +783,6 @@ static int ioctl_standard_call(struct ne | |
44 | + } | |
45 | + | |
46 | + /* Create the kernel buffer */ | |
47 | +- /* kzalloc ensures NULL-termination for essid_compat */ | |
48 | + extra = kzalloc(extra_size, GFP_KERNEL); | |
49 | + if (extra == NULL) | |
50 | + return -ENOMEM; | |
51 | +@@ -830,8 +801,6 @@ static int ioctl_standard_call(struct ne | |
52 | + /* Call the handler */ | |
53 | + ret = handler(dev, &info, &(iwr->u), extra); | |
54 | + | |
55 | +- iwr->u.data.length += essid_compat; | |
56 | +- | |
57 | + /* If we have something to return to the user */ | |
58 | + if (!ret && IW_IS_GET(cmd)) { | |
59 | + /* Check if there is enough buffer up there */ |
@@ -288,7 +288,7 @@ This is an absolute value (without unit), and the default (when | ||
288 | 288 | nothing is specified). |
289 | 289 | To set the maximum length of time the MAC should retry, enter |
290 | 290 | .IR "lifetime `value'" . |
291 | -By defaults, this value in in seconds, append the suffix m or u to | |
291 | +By defaults, this value is in seconds, append the suffix m or u to | |
292 | 292 | specify values in milliseconds or microseconds. |
293 | 293 | .br |
294 | 294 | You can also add the |
@@ -452,7 +452,7 @@ The list of available modulations depend on the card/driver and can be | ||
452 | 452 | displayed using |
453 | 453 | .IR "iwlist modulation" . |
454 | 454 | Note that some card/driver may not be able to select each modulation |
455 | -listed independantly, some may come as a group. You may also set this | |
455 | +listed independently, some may come as a group. You may also set this | |
456 | 456 | parameter to |
457 | 457 | .IR auto |
458 | 458 | let the card/driver do its best. |
@@ -11,7 +11,7 @@ | ||
11 | 11 | * Copyright (c) 1997-2007 Jean Tourrilhes <jt@hpl.hp.com> |
12 | 12 | */ |
13 | 13 | |
14 | -#include "iwlib.h" /* Header */ | |
14 | +#include "iwlib-private.h" /* Private header */ | |
15 | 15 | |
16 | 16 | /**************************** CONSTANTS ****************************/ |
17 | 17 |
@@ -100,7 +100,7 @@ get_info(int skfd, | ||
100 | 100 | #ifndef WE_ESSENTIAL |
101 | 101 | /* Get NickName */ |
102 | 102 | wrq.u.essid.pointer = (caddr_t) info->nickname; |
103 | - wrq.u.essid.length = IW_ESSID_MAX_SIZE + 1; | |
103 | + wrq.u.essid.length = IW_ESSID_MAX_SIZE + 2; | |
104 | 104 | wrq.u.essid.flags = 0; |
105 | 105 | if(iw_get_ext(skfd, ifname, SIOCGIWNICKN, &wrq) >= 0) |
106 | 106 | if(wrq.u.data.length > 1) |
@@ -160,7 +160,7 @@ static void | ||
160 | 160 | display_info(struct wireless_info * info, |
161 | 161 | char * ifname) |
162 | 162 | { |
163 | - char buffer[128]; /* Temporary buffer */ | |
163 | + char buffer[256]; /* Temporary buffer */ | |
164 | 164 | |
165 | 165 | /* One token is more of less 5 characters, 14 tokens per line */ |
166 | 166 | int tokens = 3; /* For name */ |
@@ -173,12 +173,14 @@ display_info(struct wireless_info * info, | ||
173 | 173 | { |
174 | 174 | if(info->b.essid_on) |
175 | 175 | { |
176 | + /* Escape the non-printable characters */ | |
177 | + iw_essid_escape(buffer, info->b.essid, info->b.essid_len); | |
176 | 178 | /* Does it have an ESSID index ? */ |
177 | 179 | if((info->b.essid_on & IW_ENCODE_INDEX) > 1) |
178 | - printf("ESSID:\"%s\" [%d] ", info->b.essid, | |
180 | + printf("ESSID:\"%s\" [%d] ", buffer, | |
179 | 181 | (info->b.essid_on & IW_ENCODE_INDEX)); |
180 | 182 | else |
181 | - printf("ESSID:\"%s\" ", info->b.essid); | |
183 | + printf("ESSID:\"%s\" ", buffer); | |
182 | 184 | } |
183 | 185 | else |
184 | 186 | printf("ESSID:off/any "); |
@@ -619,7 +621,9 @@ set_essid_info(int skfd, | ||
619 | 621 | { |
620 | 622 | struct iwreq wrq; |
621 | 623 | int i = 1; |
622 | - char essid[IW_ESSID_MAX_SIZE + 1]; | |
624 | + char essid[4*IW_ESSID_MAX_SIZE + 1]; | |
625 | + int essid_len; | |
626 | + int essid_index; | |
623 | 627 | int we_kernel_version; |
624 | 628 | |
625 | 629 | if((!strcasecmp(args[0], "off")) || |
@@ -627,6 +631,7 @@ set_essid_info(int skfd, | ||
627 | 631 | { |
628 | 632 | wrq.u.essid.flags = 0; |
629 | 633 | essid[0] = '\0'; |
634 | + essid_len = 0; | |
630 | 635 | } |
631 | 636 | else |
632 | 637 | if(!strcasecmp(args[0], "on")) |
@@ -634,11 +639,12 @@ set_essid_info(int skfd, | ||
634 | 639 | /* Get old essid */ |
635 | 640 | memset(essid, '\0', sizeof(essid)); |
636 | 641 | wrq.u.essid.pointer = (caddr_t) essid; |
637 | - wrq.u.essid.length = IW_ESSID_MAX_SIZE + 1; | |
642 | + wrq.u.essid.length = IW_ESSID_MAX_SIZE + 2; | |
638 | 643 | wrq.u.essid.flags = 0; |
639 | 644 | if(iw_get_ext(skfd, ifname, SIOCGIWESSID, &wrq) < 0) |
640 | 645 | return(IWERR_GET_EXT); |
641 | 646 | wrq.u.essid.flags = 1; |
647 | + essid_len = wrq.u.essid.length; | |
642 | 648 | } |
643 | 649 | else |
644 | 650 | { |
@@ -651,31 +657,37 @@ set_essid_info(int skfd, | ||
651 | 657 | { |
652 | 658 | if(++i >= count) |
653 | 659 | return(IWERR_ARG_NUM); |
660 | + essid_len = strlen(args[i]); | |
654 | 661 | } |
655 | 662 | |
656 | - /* Check the size of what the user passed us to avoid | |
657 | - * buffer overflows */ | |
658 | - if(strlen(args[i]) > IW_ESSID_MAX_SIZE) | |
663 | + /* First size check : check if ot fits in our internal buffer. | |
664 | + * We do a two pass size check because of unescaping */ | |
665 | + if(strlen(args[i]) > (4*IW_ESSID_MAX_SIZE)) | |
659 | 666 | { |
660 | 667 | errmax = IW_ESSID_MAX_SIZE; |
661 | 668 | return(IWERR_ARG_SIZE); |
662 | 669 | } |
663 | - else | |
670 | + | |
671 | + /* Unescape the ESSID to allow the user to enter weird chars */ | |
672 | + essid_len = iw_essid_unescape(essid, args[i]); | |
673 | + | |
674 | + /* Check the size to see if it fits the API. */ | |
675 | + if(essid_len > IW_ESSID_MAX_SIZE) | |
664 | 676 | { |
665 | - int temp; | |
677 | + errmax = IW_ESSID_MAX_SIZE; | |
678 | + return(IWERR_ARG_SIZE); | |
679 | + } | |
666 | 680 | |
667 | - wrq.u.essid.flags = 1; | |
668 | - strcpy(essid, args[i]); /* Size checked, all clear */ | |
669 | - i++; | |
681 | + wrq.u.essid.flags = 1; | |
682 | + i++; | |
670 | 683 | |
671 | - /* Check for ESSID index */ | |
672 | - if((i < count) && | |
673 | - (sscanf(args[i], "[%i]", &temp) == 1) && | |
674 | - (temp > 0) && (temp < IW_ENCODE_INDEX)) | |
675 | - { | |
676 | - wrq.u.essid.flags = temp; | |
677 | - ++i; | |
678 | - } | |
684 | + /* Check for ESSID index */ | |
685 | + if((i < count) && | |
686 | + (sscanf(args[i], "[%i]", &essid_index) == 1) && | |
687 | + (essid_index > 0) && (essid_index < IW_ENCODE_INDEX)) | |
688 | + { | |
689 | + wrq.u.essid.flags = essid_index; | |
690 | + ++i; | |
679 | 691 | } |
680 | 692 | } |
681 | 693 |
@@ -684,7 +696,7 @@ set_essid_info(int skfd, | ||
684 | 696 | |
685 | 697 | /* Finally set the ESSID value */ |
686 | 698 | wrq.u.essid.pointer = (caddr_t) essid; |
687 | - wrq.u.essid.length = strlen(essid); | |
699 | + wrq.u.essid.length = essid_len; | |
688 | 700 | if(we_kernel_version < 21) |
689 | 701 | wrq.u.essid.length++; |
690 | 702 |
@@ -1034,8 +1046,8 @@ set_power_info(int skfd, | ||
1034 | 1046 | wrq.u.power.disabled = 0; |
1035 | 1047 | |
1036 | 1048 | /* Is there any value to grab ? */ |
1037 | - value = strtod(args[0], &unit); | |
1038 | - if(unit != args[0]) | |
1049 | + value = strtod(args[i], &unit); | |
1050 | + if(unit != args[i]) | |
1039 | 1051 | { |
1040 | 1052 | struct iw_range range; |
1041 | 1053 | int flags; |
@@ -1420,8 +1432,8 @@ set_retry_info(int skfd, | ||
1420 | 1432 | wrq.u.retry.disabled = 0; |
1421 | 1433 | |
1422 | 1434 | /* Is there any value to grab ? */ |
1423 | - value = strtod(args[0], &unit); | |
1424 | - if(unit == args[0]) | |
1435 | + value = strtod(args[i], &unit); | |
1436 | + if(unit == args[i]) | |
1425 | 1437 | { |
1426 | 1438 | errarg = i; |
1427 | 1439 | return(IWERR_ARG_TYPE); |
@@ -1941,7 +1953,7 @@ main(int argc, | ||
1941 | 1953 | |
1942 | 1954 | /* The device name must be the first argument */ |
1943 | 1955 | if(argc == 2) |
1944 | - print_info(skfd, argv[1], NULL, 0); | |
1956 | + goterr = print_info(skfd, argv[1], NULL, 0); | |
1945 | 1957 | else |
1946 | 1958 | /* The other args on the line specify options to be set... */ |
1947 | 1959 | goterr = set_info(skfd, argv + 2, argc - 2, argv[1]); |
@@ -17,7 +17,7 @@ | ||
17 | 17 | |
18 | 18 | /***************************** INCLUDES *****************************/ |
19 | 19 | |
20 | -#include "iwlib.h" /* Header */ | |
20 | +#include "iwlib-private.h" /* Private header */ | |
21 | 21 | |
22 | 22 | #include <linux/netlink.h> |
23 | 23 | #include <linux/rtnetlink.h> |
@@ -341,10 +341,11 @@ print_event_token(struct iw_event * event, /* Extracted token */ | ||
341 | 341 | case SIOCSIWESSID: |
342 | 342 | case SIOCGIWESSID: |
343 | 343 | { |
344 | - char essid[IW_ESSID_MAX_SIZE+1]; | |
344 | + char essid[4*IW_ESSID_MAX_SIZE + 1]; | |
345 | 345 | memset(essid, '\0', sizeof(essid)); |
346 | 346 | if((event->u.essid.pointer) && (event->u.essid.length)) |
347 | - memcpy(essid, event->u.essid.pointer, event->u.essid.length); | |
347 | + iw_essid_escape(essid, | |
348 | + event->u.essid.pointer, event->u.essid.length); | |
348 | 349 | if(event->u.essid.flags) |
349 | 350 | { |
350 | 351 | /* Does it have an ESSID index ? */ |
@@ -365,7 +366,7 @@ print_event_token(struct iw_event * event, /* Extracted token */ | ||
365 | 366 | memcpy(key, event->u.data.pointer, event->u.data.length); |
366 | 367 | else |
367 | 368 | event->u.data.flags |= IW_ENCODE_NOKEY; |
368 | - printf("Set Encryption key:"); | |
369 | + printf("Set Encryption key:{%X}", event->u.data.flags); | |
369 | 370 | if(event->u.data.flags & IW_ENCODE_DISABLED) |
370 | 371 | printf("off\n"); |
371 | 372 | else |
@@ -9,7 +9,7 @@ | ||
9 | 9 | * Copyright (c) 1997-2004 Jean Tourrilhes <jt@hpl.hp.com> |
10 | 10 | */ |
11 | 11 | |
12 | -#include "iwlib.h" /* Header */ | |
12 | +#include "iwlib-private.h" /* Private header */ | |
13 | 13 | |
14 | 14 | #include <getopt.h> |
15 | 15 |
@@ -84,8 +84,8 @@ print_essid(int skfd, | ||
84 | 84 | int format) |
85 | 85 | { |
86 | 86 | struct iwreq wrq; |
87 | - char essid[IW_ESSID_MAX_SIZE + 1]; /* ESSID */ | |
88 | - char pessid[IW_ESSID_MAX_SIZE + 1]; /* Pcmcia format */ | |
87 | + char essid[IW_ESSID_MAX_SIZE + 2]; /* ESSID */ | |
88 | + char pessid[4 * IW_ESSID_MAX_SIZE + 1]; /* Printable format */ | |
89 | 89 | unsigned int i; |
90 | 90 | unsigned int j; |
91 | 91 |
@@ -94,7 +94,7 @@ print_essid(int skfd, | ||
94 | 94 | |
95 | 95 | /* Get ESSID */ |
96 | 96 | wrq.u.essid.pointer = (caddr_t) essid; |
97 | - wrq.u.essid.length = IW_ESSID_MAX_SIZE + 1; | |
97 | + wrq.u.essid.length = IW_ESSID_MAX_SIZE + 2; | |
98 | 98 | wrq.u.essid.flags = 0; |
99 | 99 | if(iw_get_ext(skfd, ifname, SIOCGIWESSID, &wrq) < 0) |
100 | 100 | return(-1); |
@@ -104,7 +104,7 @@ print_essid(int skfd, | ||
104 | 104 | case FORMAT_SCHEME: |
105 | 105 | /* Strip all white space and stuff */ |
106 | 106 | j = 0; |
107 | - for(i = 0; i < strlen(essid); i++) | |
107 | + for(i = 0; i < wrq.u.essid.length; i++) | |
108 | 108 | if(isalnum(essid[i])) |
109 | 109 | pessid[j++] = essid[i]; |
110 | 110 | pessid[j] = '\0'; |
@@ -116,7 +116,8 @@ print_essid(int skfd, | ||
116 | 116 | printf("%s\n", essid); |
117 | 117 | break; |
118 | 118 | default: |
119 | - printf("%-8.16s ESSID:\"%s\"\n", ifname, essid); | |
119 | + iw_essid_escape(pessid, essid, wrq.u.essid.length); | |
120 | + printf("%-8.16s ESSID:\"%s\"\n", ifname, pessid); | |
120 | 121 | break; |
121 | 122 | } |
122 | 123 |
@@ -0,0 +1,171 @@ | ||
1 | +/* | |
2 | + * Wireless Tools | |
3 | + * | |
4 | + * Jean II - HPLB 97->99 - HPL 99->09 | |
5 | + * | |
6 | + * Private common header for the Wireless Extension library... | |
7 | + * | |
8 | + * This file is released under the GPL license. | |
9 | + * Copyright (c) 1997-2009 Jean Tourrilhes <jt@hpl.hp.com> | |
10 | + */ | |
11 | + | |
12 | +#ifndef IWLIB_PRIVATE_H | |
13 | +#define IWLIB_PRIVATE_H | |
14 | + | |
15 | +/*#include "CHANGELOG.h"*/ | |
16 | + | |
17 | +/***************************** INCLUDES *****************************/ | |
18 | + | |
19 | +#include "iwlib.h" /* Public header */ | |
20 | + | |
21 | +/* Make gcc understand that when we say inline, we mean it. | |
22 | + * I really hate when the compiler is trying to be more clever than me, | |
23 | + * because in this case gcc is not able to figure out functions with a | |
24 | + * single call site, so not only I have to tag those functions inline | |
25 | + * by hand, but then it refuse to inline them properly. | |
26 | + * Total saving for iwevent : 150B = 0.7%. | |
27 | + * Fortunately, in gcc 3.4, they now automatically inline static functions | |
28 | + * with a single call site. Hurrah ! | |
29 | + * Jean II */ | |
30 | +#undef IW_GCC_HAS_BROKEN_INLINE | |
31 | +#if __GNUC__ == 3 | |
32 | +#if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4 | |
33 | +#define IW_GCC_HAS_BROKEN_INLINE 1 | |
34 | +#endif /* __GNUC_MINOR__ */ | |
35 | +#endif /* __GNUC__ */ | |
36 | +/* However, gcc 4.0 has introduce a new "feature", when compiling with | |
37 | + * '-Os', it does not want to inline iw_ether_cmp() and friends. | |
38 | + * So, we need to fix inline again ! | |
39 | + * Jean II */ | |
40 | +#if __GNUC__ == 4 | |
41 | +#define IW_GCC_HAS_BROKEN_INLINE 1 | |
42 | +#endif /* __GNUC__ */ | |
43 | +/* Now, really fix the inline */ | |
44 | +#ifdef IW_GCC_HAS_BROKEN_INLINE | |
45 | +#ifdef inline | |
46 | +#undef inline | |
47 | +#endif /* inline */ | |
48 | +#define inline inline __attribute__((always_inline)) | |
49 | +#endif /* IW_GCC_HAS_BROKEN_INLINE */ | |
50 | + | |
51 | +#ifdef __cplusplus | |
52 | +extern "C" { | |
53 | +#endif | |
54 | + | |
55 | +/****************************** DEBUG ******************************/ | |
56 | + | |
57 | +//#define DEBUG 1 | |
58 | + | |
59 | +/************************ CONSTANTS & MACROS ************************/ | |
60 | + | |
61 | +/* Paths */ | |
62 | +#define PROC_NET_WIRELESS "/proc/net/wireless" | |
63 | +#define PROC_NET_DEV "/proc/net/dev" | |
64 | + | |
65 | +/* Some usefull constants */ | |
66 | +#define KILO 1e3 | |
67 | +#define MEGA 1e6 | |
68 | +#define GIGA 1e9 | |
69 | +/* For doing log10/exp10 without libm */ | |
70 | +#define LOG10_MAGIC 1.25892541179 | |
71 | + | |
72 | +/* Backward compatibility for network headers */ | |
73 | +#ifndef ARPHRD_IEEE80211 | |
74 | +#define ARPHRD_IEEE80211 801 /* IEEE 802.11 */ | |
75 | +#endif /* ARPHRD_IEEE80211 */ | |
76 | + | |
77 | +#ifndef IW_EV_LCP_PK_LEN | |
78 | +/* Size of the Event prefix when packed in stream */ | |
79 | +#define IW_EV_LCP_PK_LEN (4) | |
80 | +/* Size of the various events when packed in stream */ | |
81 | +#define IW_EV_CHAR_PK_LEN (IW_EV_LCP_PK_LEN + IFNAMSIZ) | |
82 | +#define IW_EV_UINT_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(__u32)) | |
83 | +#define IW_EV_FREQ_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_freq)) | |
84 | +#define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) | |
85 | +#define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) | |
86 | +#define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) | |
87 | +#define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4) | |
88 | +#endif /* IW_EV_LCP_PK_LEN */ | |
89 | + | |
90 | +#ifndef IW_EV_LCP_PK2_LEN | |
91 | +struct iw_pk_event | |
92 | +{ | |
93 | + __u16 len; /* Real lenght of this stuff */ | |
94 | + __u16 cmd; /* Wireless IOCTL */ | |
95 | + union iwreq_data u; /* IOCTL fixed payload */ | |
96 | +} __attribute__ ((packed)); | |
97 | +struct iw_pk_point | |
98 | +{ | |
99 | + void __user *pointer; /* Pointer to the data (in user space) */ | |
100 | + __u16 length; /* number of fields or size in bytes */ | |
101 | + __u16 flags; /* Optional params */ | |
102 | +} __attribute__ ((packed)); | |
103 | + | |
104 | +#define IW_EV_LCP_PK2_LEN (sizeof(struct iw_pk_event) - sizeof(union iwreq_data)) | |
105 | +#define IW_EV_POINT_PK2_LEN (IW_EV_LCP_PK2_LEN + sizeof(struct iw_pk_point) - IW_EV_POINT_OFF) | |
106 | +#endif /* IW_EV_LCP_PK2_LEN */ | |
107 | + | |
108 | +/************************* INLINE FUNTIONS *************************/ | |
109 | +/* | |
110 | + * Functions that are so simple that it's more efficient inlining them | |
111 | + * Most inline are private because gcc is fussy about inline... | |
112 | + */ | |
113 | + | |
114 | +/*------------------------------------------------------------------*/ | |
115 | +/* | |
116 | + * Display an Ethernet Socket Address in readable format. | |
117 | + */ | |
118 | +static inline char * | |
119 | +iw_saether_ntop(const struct sockaddr *sap, char* bufp) | |
120 | +{ | |
121 | + iw_ether_ntop((const struct ether_addr *) sap->sa_data, bufp); | |
122 | + return bufp; | |
123 | +} | |
124 | +/*------------------------------------------------------------------*/ | |
125 | +/* | |
126 | + * Input an Ethernet Socket Address and convert to binary. | |
127 | + */ | |
128 | +static inline int | |
129 | +iw_saether_aton(const char *bufp, struct sockaddr *sap) | |
130 | +{ | |
131 | + sap->sa_family = ARPHRD_ETHER; | |
132 | + return iw_ether_aton(bufp, (struct ether_addr *) sap->sa_data); | |
133 | +} | |
134 | + | |
135 | +/*------------------------------------------------------------------*/ | |
136 | +/* | |
137 | + * Create an Ethernet broadcast address | |
138 | + */ | |
139 | +static inline void | |
140 | +iw_broad_ether(struct sockaddr *sap) | |
141 | +{ | |
142 | + sap->sa_family = ARPHRD_ETHER; | |
143 | + memset((char *) sap->sa_data, 0xFF, ETH_ALEN); | |
144 | +} | |
145 | + | |
146 | +/*------------------------------------------------------------------*/ | |
147 | +/* | |
148 | + * Create an Ethernet NULL address | |
149 | + */ | |
150 | +static inline void | |
151 | +iw_null_ether(struct sockaddr *sap) | |
152 | +{ | |
153 | + sap->sa_family = ARPHRD_ETHER; | |
154 | + memset((char *) sap->sa_data, 0x00, ETH_ALEN); | |
155 | +} | |
156 | + | |
157 | +/*------------------------------------------------------------------*/ | |
158 | +/* | |
159 | + * Compare two ethernet addresses | |
160 | + */ | |
161 | +static inline int | |
162 | +iw_ether_cmp(const struct ether_addr* eth1, const struct ether_addr* eth2) | |
163 | +{ | |
164 | + return memcmp(eth1, eth2, sizeof(*eth1)); | |
165 | +} | |
166 | + | |
167 | +#ifdef __cplusplus | |
168 | +} | |
169 | +#endif | |
170 | + | |
171 | +#endif /* IWLIB_PRIVATE_H */ |
@@ -1,17 +1,17 @@ | ||
1 | 1 | /* |
2 | 2 | * Wireless Tools |
3 | 3 | * |
4 | - * Jean II - HPLB 97->99 - HPL 99->07 | |
4 | + * Jean II - HPLB 97->99 - HPL 99->09 | |
5 | 5 | * |
6 | 6 | * Common subroutines to all the wireless tools... |
7 | 7 | * |
8 | 8 | * This file is released under the GPL license. |
9 | - * Copyright (c) 1997-2007 Jean Tourrilhes <jt@hpl.hp.com> | |
9 | + * Copyright (c) 1997-2009 Jean Tourrilhes <jt@hpl.hp.com> | |
10 | 10 | */ |
11 | 11 | |
12 | 12 | /***************************** INCLUDES *****************************/ |
13 | 13 | |
14 | -#include "iwlib.h" /* Header */ | |
14 | +#include "iwlib-private.h" /* Private header */ | |
15 | 15 | |
16 | 16 | /************************ CONSTANTS & MACROS ************************/ |
17 | 17 |
@@ -90,6 +90,15 @@ union iw_range_raw | ||
90 | 90 | #define iwr_off(f) ( ((char *) &(((struct iw_range *) NULL)->f)) - \ |
91 | 91 | (char *) NULL) |
92 | 92 | |
93 | +/* | |
94 | + * Union to perform unaligned access when working around alignement issues | |
95 | + */ | |
96 | +union iw_align_u16 | |
97 | +{ | |
98 | + __u16 value; | |
99 | + unsigned char byte[2]; | |
100 | +}; | |
101 | + | |
93 | 102 | /**************************** VARIABLES ****************************/ |
94 | 103 | |
95 | 104 | /* Modes as human readable strings */ |
@@ -707,12 +716,13 @@ iw_get_basic_config(int skfd, | ||
707 | 716 | |
708 | 717 | /* Get ESSID */ |
709 | 718 | wrq.u.essid.pointer = (caddr_t) info->essid; |
710 | - wrq.u.essid.length = IW_ESSID_MAX_SIZE + 1; | |
719 | + wrq.u.essid.length = IW_ESSID_MAX_SIZE + 2; | |
711 | 720 | wrq.u.essid.flags = 0; |
712 | 721 | if(iw_get_ext(skfd, ifname, SIOCGIWESSID, &wrq) >= 0) |
713 | 722 | { |
714 | 723 | info->has_essid = 1; |
715 | 724 | info->essid_on = wrq.u.data.flags; |
725 | + info->essid_len = wrq.u.essid.length; | |
716 | 726 | } |
717 | 727 | |
718 | 728 | /* Get operation mode */ |
@@ -923,6 +933,132 @@ iw_protocol_compare(const char * protocol1, | ||
923 | 933 | return(0); |
924 | 934 | } |
925 | 935 | |
936 | +/************************ ESSID SUBROUTINES ************************/ | |
937 | +/* | |
938 | + * The ESSID identify 802.11 networks, and is an array if 32 bytes. | |
939 | + * Most people use it as an ASCII string, and are happy with it. | |
940 | + * However, any byte is valid, including the NUL character. Characters | |
941 | + * beyond the ASCII range are interpreted according to the locale and | |
942 | + * the OS, which is somethign we don't control (network of other | |
943 | + * people). | |
944 | + * Routines in here try to deal with that in asafe way. | |
945 | + */ | |
946 | + | |
947 | +/*------------------------------------------------------------------*/ | |
948 | +/* | |
949 | + * Escape non-ASCII characters from ESSID. | |
950 | + * This allow us to display those weirds characters to the user. | |
951 | + * | |
952 | + * Source is 32 bytes max. | |
953 | + * Destination buffer needs to be at least 129 bytes, will be NUL | |
954 | + * terminated. | |
955 | + */ | |
956 | +void | |
957 | +iw_essid_escape(char * dest, | |
958 | + const char * src, | |
959 | + const int slen) | |
960 | +{ | |
961 | + const unsigned char * s = (const unsigned char *) src; | |
962 | + const unsigned char * e = s + slen; | |
963 | + char * d = dest; | |
964 | + | |
965 | + /* Look every character of the string */ | |
966 | + while(s < e) | |
967 | + { | |
968 | + int isescape; | |
969 | + | |
970 | + /* Escape the escape to avoid ambiguity. | |
971 | + * We do a fast path test for performance reason. Compiler will | |
972 | + * optimise all that ;-) */ | |
973 | + if(*s == '\\') | |
974 | + { | |
975 | + /* Check if we would confuse it with an escape sequence */ | |
976 | + if((e-s) > 4 && (s[1] == 'x') | |
977 | + && (isxdigit(s[2])) && (isxdigit(s[3]))) | |
978 | + { | |
979 | + isescape = 1; | |
980 | + } | |
981 | + else | |
982 | + isescape = 0; | |
983 | + } | |
984 | + else | |
985 | + isescape = 0; | |
986 | + | |
987 | + | |
988 | + /* Is it a non-ASCII character ??? */ | |
989 | + if(isescape || !isascii(*s) || iscntrl(*s)) | |
990 | + { | |
991 | + /* Escape */ | |
992 | + sprintf(d, "\\x%02X", *s); | |
993 | + d += 4; | |
994 | + } | |
995 | + else | |
996 | + { | |
997 | + /* Plain ASCII, just copy */ | |
998 | + *d = *s; | |
999 | + d++; | |
1000 | + } | |
1001 | + s++; | |
1002 | + } | |
1003 | + | |
1004 | + /* NUL terminate destination */ | |
1005 | + *d = '\0'; | |
1006 | +} | |
1007 | + | |
1008 | +/* ---------------------------------------------------------------- */ | |
1009 | +/* | |
1010 | + * Un-Escape non-ASCII characters from ESSID | |
1011 | + * This allow the user to specify weird characters in ESSID. | |
1012 | + * | |
1013 | + * The source is a NUL terminated string. | |
1014 | + * Destination buffer is at least the size of source (ESSID will shrink) | |
1015 | + * Destination may contains NUL, therefore we return the length. | |
1016 | + * This function still works is src and dest are the same ;-) | |
1017 | + */ | |
1018 | +int | |
1019 | +iw_essid_unescape(char * dest, | |
1020 | + const char * src) | |
1021 | +{ | |
1022 | + const char * s = src; | |
1023 | + char * d = dest; | |
1024 | + char * p; | |
1025 | + int len; | |
1026 | + | |
1027 | + /* Look-up the next '\' sequence, stop when no more */ | |
1028 | + while((p = strchr(s, '\\')) != NULL) | |
1029 | + { | |
1030 | + /* Copy block of unescaped chars before the '\' */ | |
1031 | + len = p - s; | |
1032 | + memcpy(d, s, len); | |
1033 | + d += len; | |
1034 | + s += len; /* Identical to 's = p' */ | |
1035 | + | |
1036 | + /* Check if it is really an escape sequence. We do also check for NUL */ | |
1037 | + if((s[1] == 'x') && (isxdigit(s[2])) && (isxdigit(s[3]))) | |
1038 | + { | |
1039 | + unsigned int temp; | |
1040 | + /* Valid Escape sequence, un-escape it */ | |
1041 | + sscanf(s + 2, "%2X", &temp); | |
1042 | + *d = temp; | |
1043 | + d++; | |
1044 | + s+=4; | |
1045 | + } | |
1046 | + else | |
1047 | + { | |
1048 | + /* Not valid, don't un-escape it */ | |
1049 | + *d = *s; | |
1050 | + d++; | |
1051 | + s++; | |
1052 | + } | |
1053 | + } | |
1054 | + | |
1055 | + /* Copy remaining of the string */ | |
1056 | + len = strlen(s); | |
1057 | + memcpy(d, s, len + 1); | |
1058 | + /* Return length */ | |
1059 | + return((d - dest) + len); | |
1060 | +} | |
1061 | + | |
926 | 1062 | /********************** FREQUENCY SUBROUTINES ***********************/ |
927 | 1063 | /* |
928 | 1064 | * Note : the two functions below are the cause of troubles on |
@@ -1987,54 +2123,6 @@ iw_check_if_addr_type(int skfd, | ||
1987 | 2123 | return(0); |
1988 | 2124 | } |
1989 | 2125 | |
1990 | -#if 0 | |
1991 | -/*------------------------------------------------------------------*/ | |
1992 | -/* | |
1993 | - * Check if interface support the right address types... | |
1994 | - */ | |
1995 | -int | |
1996 | -iw_check_addr_type(int skfd, | |
1997 | - char * ifname) | |
1998 | -{ | |
1999 | - /* Check the interface address type */ | |
2000 | - if(iw_check_if_addr_type(skfd, ifname) < 0) | |
2001 | - return(-1); | |
2002 | - | |
2003 | - /* Check the interface address type */ | |
2004 | - if(iw_check_mac_addr_type(skfd, ifname) < 0) | |
2005 | - return(-1); | |
2006 | - | |
2007 | - return(0); | |
2008 | -} | |
2009 | -#endif | |
2010 | - | |
2011 | -#if 0 | |
2012 | -/*------------------------------------------------------------------*/ | |
2013 | -/* | |
2014 | - * Ask the kernel for the MAC address of an interface. | |
2015 | - */ | |
2016 | -int | |
2017 | -iw_get_mac_addr(int skfd, | |
2018 | - const char * ifname, | |
2019 | - struct ether_addr * eth, | |
2020 | - unsigned short * ptype) | |
2021 | -{ | |
2022 | - struct ifreq ifr; | |
2023 | - int ret; | |
2024 | - | |
2025 | - /* Prepare request */ | |
2026 | - bzero(&ifr, sizeof(struct ifreq)); | |
2027 | - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); | |
2028 | - | |
2029 | - /* Do it */ | |
2030 | - ret = ioctl(skfd, SIOCGIFHWADDR, &ifr); | |
2031 | - | |
2032 | - memcpy(eth->ether_addr_octet, ifr.ifr_hwaddr.sa_data, 6); | |
2033 | - *ptype = ifr.ifr_hwaddr.sa_family; | |
2034 | - return(ret); | |
2035 | -} | |
2036 | -#endif | |
2037 | - | |
2038 | 2126 | /*------------------------------------------------------------------*/ |
2039 | 2127 | /* |
2040 | 2128 | * Display an arbitrary length MAC address in readable format. |
@@ -2557,13 +2645,17 @@ static const struct iw_ioctl_description standard_ioctl_descr[] = { | ||
2557 | 2645 | }, |
2558 | 2646 | [SIOCSIWENCODE - SIOCIWFIRST] = { |
2559 | 2647 | .header_type = IW_HEADER_TYPE_POINT, |
2560 | - .token_size = 1, | |
2648 | + /* Hack : this never returns any payload in event. | |
2649 | + * Fix the 64->32 bit hack... */ | |
2650 | + .token_size = 0, | |
2561 | 2651 | .max_tokens = IW_ENCODING_TOKEN_MAX, |
2562 | 2652 | .flags = IW_DESCR_FLAG_EVENT | IW_DESCR_FLAG_RESTRICT, |
2563 | 2653 | }, |
2564 | 2654 | [SIOCGIWENCODE - SIOCIWFIRST] = { |
2565 | 2655 | .header_type = IW_HEADER_TYPE_POINT, |
2566 | - .token_size = 1, | |
2656 | + /* Hack : this never returns any payload in event. | |
2657 | + * Fix the 64->32 bit hack... */ | |
2658 | + .token_size = 0, | |
2567 | 2659 | .max_tokens = IW_ENCODING_TOKEN_MAX, |
2568 | 2660 | .flags = IW_DESCR_FLAG_DUMP | IW_DESCR_FLAG_RESTRICT, |
2569 | 2661 | }, |
@@ -2827,13 +2919,21 @@ iw_extract_event_stream(struct stream_descr * stream, /* Stream of events */ | ||
2827 | 2919 | * Fixing that in the kernel would break 64 bits userspace. */ |
2828 | 2920 | if((token_len != extra_len) && (extra_len >= 4)) |
2829 | 2921 | { |
2830 | - __u16 alt_dlen = *((__u16 *) pointer); | |
2831 | - unsigned int alt_token_len = alt_dlen * descr->token_size; | |
2832 | - if((alt_token_len + 8) == extra_len) | |
2833 | - { | |
2922 | + union iw_align_u16 alt_dlen; | |
2923 | + unsigned int alt_token_len; | |
2924 | + /* Usespace seems to not always like unaligned access, | |
2925 | + * so be careful and make sure to align value. | |
2926 | + * I hope gcc won't play any of its aliasing tricks... */ | |
2927 | + alt_dlen.byte[0] = *(pointer); | |
2928 | + alt_dlen.byte[1] = *(pointer + 1); | |
2929 | + alt_token_len = alt_dlen.value * descr->token_size; | |
2834 | 2930 | #ifdef DEBUG |
2835 | - printf("DBG - alt_token_len = %d\n", alt_token_len); | |
2931 | + printf("DBG - alt_token_len = %d\n", alt_token_len); | |
2836 | 2932 | #endif |
2933 | + /* Verify that data is consistent if assuming 64 bit | |
2934 | + * alignement... */ | |
2935 | + if((alt_token_len + 8) == extra_len) | |
2936 | + { | |
2837 | 2937 | /* Ok, let's redo everything */ |
2838 | 2938 | pointer -= event_len; |
2839 | 2939 | pointer += 4; |
@@ -2841,8 +2941,12 @@ iw_extract_event_stream(struct stream_descr * stream, /* Stream of events */ | ||
2841 | 2941 | memcpy((char *) iwe + IW_EV_LCP_LEN + IW_EV_POINT_OFF, |
2842 | 2942 | pointer, event_len); |
2843 | 2943 | pointer += event_len + 4; |
2844 | - iwe->u.data.pointer = pointer; | |
2845 | 2944 | token_len = alt_token_len; |
2945 | + /* We may have no payload */ | |
2946 | + if(alt_token_len) | |
2947 | + iwe->u.data.pointer = pointer; | |
2948 | + else | |
2949 | + iwe->u.data.pointer = NULL; | |
2846 | 2950 | } |
2847 | 2951 | } |
2848 | 2952 |
@@ -2983,7 +3087,7 @@ iw_process_scanning_token(struct iw_event * event, | ||
2983 | 3087 | case SIOCGIWESSID: |
2984 | 3088 | wscan->b.has_essid = 1; |
2985 | 3089 | wscan->b.essid_on = event->u.data.flags; |
2986 | - memset(wscan->b.essid, '\0', IW_ESSID_MAX_SIZE+1); | |
3090 | + memset(wscan->b.essid, '\0', IW_ESSID_MAX_SIZE + 1); | |
2987 | 3091 | if((event->u.essid.pointer) && (event->u.essid.length)) |
2988 | 3092 | memcpy(wscan->b.essid, event->u.essid.pointer, event->u.essid.length); |
2989 | 3093 | break; |
@@ -3082,7 +3186,7 @@ iw_process_scan(int skfd, | ||
3082 | 3186 | if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0) |
3083 | 3187 | { |
3084 | 3188 | /* Check if buffer was too small (WE-17 only) */ |
3085 | - if((errno == E2BIG) && (we_version > 16)) | |
3189 | + if((errno == E2BIG) && (we_version > 16) && (buflen < 0xFFFF)) | |
3086 | 3190 | { |
3087 | 3191 | /* Some driver may return very large scan results, either |
3088 | 3192 | * because there are many cells, or because they have many |
@@ -3098,6 +3202,10 @@ iw_process_scan(int skfd, | ||
3098 | 3202 | else |
3099 | 3203 | buflen *= 2; |
3100 | 3204 | |
3205 | + /* wrq.u.data.length is 16 bits so max size is 65535 */ | |
3206 | + if(buflen > 0xFFFF) | |
3207 | + buflen = 0xFFFF; | |
3208 | + | |
3101 | 3209 | /* Try again */ |
3102 | 3210 | goto realloc; |
3103 | 3211 | } |
@@ -1,19 +1,17 @@ | ||
1 | 1 | /* |
2 | 2 | * Wireless Tools |
3 | 3 | * |
4 | - * Jean II - HPLB 97->99 - HPL 99->07 | |
4 | + * Jean II - HPLB 97->99 - HPL 99->09 | |
5 | 5 | * |
6 | 6 | * Common header for the Wireless Extension library... |
7 | 7 | * |
8 | 8 | * This file is released under the GPL license. |
9 | - * Copyright (c) 1997-2007 Jean Tourrilhes <jt@hpl.hp.com> | |
9 | + * Copyright (c) 1997-2009 Jean Tourrilhes <jt@hpl.hp.com> | |
10 | 10 | */ |
11 | 11 | |
12 | 12 | #ifndef IWLIB_H |
13 | 13 | #define IWLIB_H |
14 | 14 | |
15 | -/*#include "CHANGELOG.h"*/ | |
16 | - | |
17 | 15 | /***************************** INCLUDES *****************************/ |
18 | 16 | |
19 | 17 | /* Standard headers */ |
@@ -60,99 +58,19 @@ | ||
60 | 58 | /* Private copy of Wireless extensions (in this directoty) */ |
61 | 59 | #include "wireless.h" |
62 | 60 | |
63 | -/* Make gcc understant that when we say inline, we mean it. | |
64 | - * I really hate when the compiler is trying to be more clever than me, | |
65 | - * because in this case gcc is not able to figure out functions with a | |
66 | - * single call site, so not only I have to tag those functions inline | |
67 | - * by hand, but then it refuse to inline them properly. | |
68 | - * Total saving for iwevent : 150B = 0.7%. | |
69 | - * Fortunately, in gcc 3.4, they now automatically inline static functions | |
70 | - * with a single call site. Hurrah ! | |
71 | - * Jean II */ | |
72 | -#undef IW_GCC_HAS_BROKEN_INLINE | |
73 | -#if __GNUC__ == 3 | |
74 | -#if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4 | |
75 | -#define IW_GCC_HAS_BROKEN_INLINE 1 | |
76 | -#endif /* __GNUC_MINOR__ */ | |
77 | -#endif /* __GNUC__ */ | |
78 | -/* However, gcc 4.0 has introduce a new "feature", when compiling with | |
79 | - * '-Os', it does not want to inline iw_ether_cmp() and friends. | |
80 | - * So, we need to fix inline again ! | |
81 | - * Jean II */ | |
82 | -#if __GNUC__ == 4 | |
83 | -#define IW_GCC_HAS_BROKEN_INLINE 1 | |
84 | -#endif /* __GNUC__ */ | |
85 | -/* Now, really fix the inline */ | |
86 | -#ifdef IW_GCC_HAS_BROKEN_INLINE | |
87 | -#ifdef inline | |
88 | -#undef inline | |
89 | -#endif /* inline */ | |
90 | -#define inline inline __attribute__((always_inline)) | |
91 | -#endif /* IW_GCC_HAS_BROKEN_INLINE */ | |
92 | - | |
93 | 61 | #ifdef __cplusplus |
94 | 62 | extern "C" { |
95 | 63 | #endif |
96 | 64 | |
97 | -/****************************** DEBUG ******************************/ | |
98 | - | |
99 | -//#define DEBUG 1 | |
100 | - | |
101 | 65 | /************************ CONSTANTS & MACROS ************************/ |
102 | 66 | |
103 | 67 | /* Various versions information */ |
104 | 68 | /* Recommended Wireless Extension version */ |
105 | -#define WE_VERSION 21 | |
69 | +#define WE_VERSION 22 | |
106 | 70 | /* Maximum forward compatibility built in this version of WT */ |
107 | 71 | #define WE_MAX_VERSION 22 |
108 | 72 | /* Version of Wireless Tools */ |
109 | -#define WT_VERSION 29 | |
110 | - | |
111 | -/* Paths */ | |
112 | -#define PROC_NET_WIRELESS "/proc/net/wireless" | |
113 | -#define PROC_NET_DEV "/proc/net/dev" | |
114 | - | |
115 | -/* Some usefull constants */ | |
116 | -#define KILO 1e3 | |
117 | -#define MEGA 1e6 | |
118 | -#define GIGA 1e9 | |
119 | -/* For doing log10/exp10 without libm */ | |
120 | -#define LOG10_MAGIC 1.25892541179 | |
121 | - | |
122 | -/* Backward compatibility for network headers */ | |
123 | -#ifndef ARPHRD_IEEE80211 | |
124 | -#define ARPHRD_IEEE80211 801 /* IEEE 802.11 */ | |
125 | -#endif /* ARPHRD_IEEE80211 */ | |
126 | - | |
127 | -#ifndef IW_EV_LCP_PK_LEN | |
128 | -/* Size of the Event prefix when packed in stream */ | |
129 | -#define IW_EV_LCP_PK_LEN (4) | |
130 | -/* Size of the various events when packed in stream */ | |
131 | -#define IW_EV_CHAR_PK_LEN (IW_EV_LCP_PK_LEN + IFNAMSIZ) | |
132 | -#define IW_EV_UINT_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(__u32)) | |
133 | -#define IW_EV_FREQ_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_freq)) | |
134 | -#define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) | |
135 | -#define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) | |
136 | -#define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) | |
137 | -#define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4) | |
138 | - | |
139 | -struct iw_pk_event | |
140 | -{ | |
141 | - __u16 len; /* Real lenght of this stuff */ | |
142 | - __u16 cmd; /* Wireless IOCTL */ | |
143 | - union iwreq_data u; /* IOCTL fixed payload */ | |
144 | -} __attribute__ ((packed)); | |
145 | -struct iw_pk_point | |
146 | -{ | |
147 | - void __user *pointer; /* Pointer to the data (in user space) */ | |
148 | - __u16 length; /* number of fields or size in bytes */ | |
149 | - __u16 flags; /* Optional params */ | |
150 | -} __attribute__ ((packed)); | |
151 | - | |
152 | -#define IW_EV_LCP_PK2_LEN (sizeof(struct iw_pk_event) - sizeof(union iwreq_data)) | |
153 | -#define IW_EV_POINT_PK2_LEN (IW_EV_LCP_PK2_LEN + sizeof(struct iw_pk_point) - IW_EV_POINT_OFF) | |
154 | - | |
155 | -#endif /* IW_EV_LCP_PK_LEN */ | |
73 | +#define WT_VERSION 30 | |
156 | 74 | |
157 | 75 | /****************************** TYPES ******************************/ |
158 | 76 |
@@ -183,7 +101,8 @@ typedef struct wireless_config | ||
183 | 101 | int key_flags; /* Various flags */ |
184 | 102 | int has_essid; |
185 | 103 | int essid_on; |
186 | - char essid[IW_ESSID_MAX_SIZE + 1]; /* ESSID (extended network) */ | |
104 | + char essid[IW_ESSID_MAX_SIZE + 2]; /* ESSID (extended network) */ | |
105 | + int essid_len; | |
187 | 106 | int has_mode; |
188 | 107 | int mode; /* Operation mode */ |
189 | 108 | } wireless_config; |
@@ -197,7 +116,7 @@ typedef struct wireless_info | ||
197 | 116 | int has_sens; |
198 | 117 | iwparam sens; /* sensitivity */ |
199 | 118 | int has_nickname; |
200 | - char nickname[IW_ESSID_MAX_SIZE + 1]; /* NickName */ | |
119 | + char nickname[IW_ESSID_MAX_SIZE + 2]; /* NickName */ | |
201 | 120 | int has_ap_addr; |
202 | 121 | sockaddr ap_addr; /* Access point address */ |
203 | 122 | int has_bitrate; |
@@ -284,7 +203,7 @@ typedef struct iw_modul_descr | ||
284 | 203 | |
285 | 204 | /**************************** PROTOTYPES ****************************/ |
286 | 205 | /* |
287 | - * All the functions in iwcommon.c | |
206 | + * All the functions in iwlib.c | |
288 | 207 | */ |
289 | 208 | |
290 | 209 | /* ---------------------- SOCKET SUBROUTINES -----------------------*/ |
@@ -320,6 +239,14 @@ int | ||
320 | 239 | int |
321 | 240 | iw_protocol_compare(const char * protocol1, |
322 | 241 | const char * protocol2); |
242 | +/* ---------------------- ESSID SUBROUTINES ---------------------- */ | |
243 | +void | |
244 | + iw_essid_escape(char * dest, | |
245 | + const char * src, | |
246 | + const int slen); | |
247 | +int | |
248 | + iw_essid_unescape(char * dest, | |
249 | + const char * src); | |
323 | 250 | /* -------------------- FREQUENCY SUBROUTINES --------------------- */ |
324 | 251 | void |
325 | 252 | iw_float2freq(double in, |
@@ -416,18 +343,6 @@ int | ||
416 | 343 | int |
417 | 344 | iw_check_if_addr_type(int skfd, |
418 | 345 | const char * ifname); |
419 | -#if 0 | |
420 | -int | |
421 | - iw_check_addr_type(int skfd, | |
422 | - const char * ifname); | |
423 | -#endif | |
424 | -#if 0 | |
425 | -int | |
426 | - iw_get_mac_addr(int skfd, | |
427 | - const char * name, | |
428 | - struct ether_addr * eth, | |
429 | - unsigned short * ptype); | |
430 | -#endif | |
431 | 346 | char * |
432 | 347 | iw_mac_ntop(const unsigned char * mac, |
433 | 348 | int maclen, |
@@ -491,6 +406,7 @@ extern const struct iw_modul_descr iw_modul_list[]; | ||
491 | 406 | /************************* INLINE FUNTIONS *************************/ |
492 | 407 | /* |
493 | 408 | * Functions that are so simple that it's more efficient inlining them |
409 | + * Most inline are private because gcc is fussy about inline... | |
494 | 410 | */ |
495 | 411 | |
496 | 412 | /* |
@@ -502,7 +418,7 @@ extern const struct iw_modul_descr iw_modul_list[]; | ||
502 | 418 | /* |
503 | 419 | * Wrapper to push some Wireless Parameter in the driver |
504 | 420 | */ |
505 | -static inline int | |
421 | +static inline __attribute__((always_inline)) int | |
506 | 422 | iw_set_ext(int skfd, /* Socket to the kernel */ |
507 | 423 | const char * ifname, /* Device name */ |
508 | 424 | int request, /* WE ID */ |
@@ -518,7 +434,7 @@ iw_set_ext(int skfd, /* Socket to the kernel */ | ||
518 | 434 | /* |
519 | 435 | * Wrapper to extract some Wireless Parameter out of the driver |
520 | 436 | */ |
521 | -static inline int | |
437 | +static inline __attribute__((always_inline)) int | |
522 | 438 | iw_get_ext(int skfd, /* Socket to the kernel */ |
523 | 439 | const char * ifname, /* Device name */ |
524 | 440 | int request, /* WE ID */ |
@@ -540,59 +456,6 @@ iw_sockets_close(int skfd) | ||
540 | 456 | close(skfd); |
541 | 457 | } |
542 | 458 | |
543 | -/*------------------------------------------------------------------*/ | |
544 | -/* | |
545 | - * Display an Ethernet Socket Address in readable format. | |
546 | - */ | |
547 | -static inline char * | |
548 | -iw_saether_ntop(const struct sockaddr *sap, char* bufp) | |
549 | -{ | |
550 | - iw_ether_ntop((const struct ether_addr *) sap->sa_data, bufp); | |
551 | - return bufp; | |
552 | -} | |
553 | -/*------------------------------------------------------------------*/ | |
554 | -/* | |
555 | - * Input an Ethernet Socket Address and convert to binary. | |
556 | - */ | |
557 | -static inline int | |
558 | -iw_saether_aton(const char *bufp, struct sockaddr *sap) | |
559 | -{ | |
560 | - sap->sa_family = ARPHRD_ETHER; | |
561 | - return iw_ether_aton(bufp, (struct ether_addr *) sap->sa_data); | |
562 | -} | |
563 | - | |
564 | -/*------------------------------------------------------------------*/ | |
565 | -/* | |
566 | - * Create an Ethernet broadcast address | |
567 | - */ | |
568 | -static inline void | |
569 | -iw_broad_ether(struct sockaddr *sap) | |
570 | -{ | |
571 | - sap->sa_family = ARPHRD_ETHER; | |
572 | - memset((char *) sap->sa_data, 0xFF, ETH_ALEN); | |
573 | -} | |
574 | - | |
575 | -/*------------------------------------------------------------------*/ | |
576 | -/* | |
577 | - * Create an Ethernet NULL address | |
578 | - */ | |
579 | -static inline void | |
580 | -iw_null_ether(struct sockaddr *sap) | |
581 | -{ | |
582 | - sap->sa_family = ARPHRD_ETHER; | |
583 | - memset((char *) sap->sa_data, 0x00, ETH_ALEN); | |
584 | -} | |
585 | - | |
586 | -/*------------------------------------------------------------------*/ | |
587 | -/* | |
588 | - * Compare two ethernet addresses | |
589 | - */ | |
590 | -static inline int | |
591 | -iw_ether_cmp(const struct ether_addr* eth1, const struct ether_addr* eth2) | |
592 | -{ | |
593 | - return memcmp(eth1, eth2, sizeof(*eth1)); | |
594 | -} | |
595 | - | |
596 | 459 | #ifdef __cplusplus |
597 | 460 | } |
598 | 461 | #endif |
@@ -69,12 +69,13 @@ only) and normal users can only read left-over scan results. By | ||
69 | 69 | default, the way scanning is done (the scope of the scan) is dependant |
70 | 70 | on the card and card settings. |
71 | 71 | .br |
72 | -This command take optional arguments, however most drivers will ignore | |
72 | +This command takes optional arguments, however most drivers will ignore | |
73 | 73 | those. The option |
74 | 74 | .B essid |
75 | -is used to specify a scan on a specific ESSID. The option | |
75 | +is used to specify a scan on a specific ESSID. With some card/driver, | |
76 | +this enables to see hidden networks. The option | |
76 | 77 | .B last |
77 | -do not trigger a scan and read left-over scan results. | |
78 | +does not trigger a scan and read left-over scan results. | |
78 | 79 | .TP |
79 | 80 | .BR freq [uency]/ channel |
80 | 81 | Give the list of available frequencies in the device and the number of |
@@ -11,7 +11,7 @@ | ||
11 | 11 | * Copyright (c) 1997-2007 Jean Tourrilhes <jt@hpl.hp.com> |
12 | 12 | */ |
13 | 13 | |
14 | -#include "iwlib.h" /* Header */ | |
14 | +#include "iwlib-private.h" /* Private header */ | |
15 | 15 | #include <sys/time.h> |
16 | 16 | |
17 | 17 | /****************************** TYPES ******************************/ |
@@ -496,10 +496,11 @@ print_scanning_token(struct stream_descr * stream, /* Stream of events */ | ||
496 | 496 | break; |
497 | 497 | case SIOCGIWESSID: |
498 | 498 | { |
499 | - char essid[IW_ESSID_MAX_SIZE+1]; | |
499 | + char essid[4*IW_ESSID_MAX_SIZE+1]; | |
500 | 500 | memset(essid, '\0', sizeof(essid)); |
501 | 501 | if((event->u.essid.pointer) && (event->u.essid.length)) |
502 | - memcpy(essid, event->u.essid.pointer, event->u.essid.length); | |
502 | + iw_essid_escape(essid, | |
503 | + event->u.essid.pointer, event->u.essid.length); | |
503 | 504 | if(event->u.essid.flags) |
504 | 505 | { |
505 | 506 | /* Does it have an ESSID index ? */ |
@@ -799,7 +800,8 @@ print_scanning_info(int skfd, | ||
799 | 800 | if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0) |
800 | 801 | { |
801 | 802 | /* Check if buffer was too small (WE-17 only) */ |
802 | - if((errno == E2BIG) && (range.we_version_compiled > 16)) | |
803 | + if((errno == E2BIG) && (range.we_version_compiled > 16) | |
804 | + && (buflen < 0xFFFF)) | |
803 | 805 | { |
804 | 806 | /* Some driver may return very large scan results, either |
805 | 807 | * because there are many cells, or because they have many |
@@ -815,6 +817,10 @@ print_scanning_info(int skfd, | ||
815 | 817 | else |
816 | 818 | buflen *= 2; |
817 | 819 | |
820 | + /* wrq.u.data.length is 16 bits so max size is 65535 */ | |
821 | + if(buflen > 0xFFFF) | |
822 | + buflen = 0xFFFF; | |
823 | + | |
818 | 824 | /* Try again */ |
819 | 825 | goto realloc; |
820 | 826 | } |
@@ -1688,6 +1694,17 @@ static const char * event_capa_evt[] = | ||
1688 | 1694 | [IWEVEXPIRED - IWEVFIRST] = "Expired node", |
1689 | 1695 | }; |
1690 | 1696 | |
1697 | +static const struct iwmask_name iw_scan_capa_name[] = { | |
1698 | + { IW_SCAN_CAPA_ESSID, "ESSID" }, | |
1699 | + { IW_SCAN_CAPA_BSSID, "BSSID" }, | |
1700 | + { IW_SCAN_CAPA_CHANNEL, "Channel" }, | |
1701 | + { IW_SCAN_CAPA_MODE, "Mode" }, | |
1702 | + { IW_SCAN_CAPA_RATE, "Rate" }, | |
1703 | + { IW_SCAN_CAPA_TYPE, "Type" }, | |
1704 | + { IW_SCAN_CAPA_TIME, "Time" }, | |
1705 | +}; | |
1706 | +#define IW_SCAN_CAPA_NUM IW_ARRAY_LEN(iw_scan_capa_name) | |
1707 | + | |
1691 | 1708 | /*------------------------------------------------------------------*/ |
1692 | 1709 | /* |
1693 | 1710 | * Print the event capability for the device |
@@ -1740,6 +1757,16 @@ print_event_capa_info(int skfd, | ||
1740 | 1757 | cmd, event_capa_evt[cmd - IWEVFIRST]); |
1741 | 1758 | } |
1742 | 1759 | printf("\n"); |
1760 | + | |
1761 | + /* Add Scanning Capacity as a bonus, if available */ | |
1762 | + if(range.scan_capa != 0) | |
1763 | + { | |
1764 | + printf("%-8.16s Scanning capabilities :", ifname); | |
1765 | + iw_print_mask_name(range.scan_capa, | |
1766 | + iw_scan_capa_name, IW_SCAN_CAPA_NUM, | |
1767 | + "\n\t\t- "); | |
1768 | + printf("\n\n"); | |
1769 | + } | |
1743 | 1770 | } |
1744 | 1771 | return(0); |
1745 | 1772 | } |
@@ -2159,6 +2186,7 @@ main(int argc, | ||
2159 | 2186 | char **args; /* Command arguments */ |
2160 | 2187 | int count; /* Number of arguments */ |
2161 | 2188 | const iwlist_cmd *iwcmd; |
2189 | + int goterr = 0; | |
2162 | 2190 | |
2163 | 2191 | if(argc < 2) |
2164 | 2192 | iw_usage(1); |
@@ -2206,12 +2234,12 @@ main(int argc, | ||
2206 | 2234 | |
2207 | 2235 | /* do the actual work */ |
2208 | 2236 | if (dev) |
2209 | - (*iwcmd->fn)(skfd, dev, args, count); | |
2237 | + goterr = (*iwcmd->fn)(skfd, dev, args, count); | |
2210 | 2238 | else |
2211 | 2239 | iw_enum_devices(skfd, iwcmd->fn, args, count); |
2212 | 2240 | |
2213 | 2241 | /* Close the socket. */ |
2214 | 2242 | iw_sockets_close(skfd); |
2215 | 2243 | |
2216 | - return 0; | |
2244 | + return goterr; | |
2217 | 2245 | } |
@@ -11,7 +11,7 @@ | ||
11 | 11 | * Copyright (c) 1997-2007 Jean Tourrilhes <jt@hpl.hp.com> |
12 | 12 | */ |
13 | 13 | |
14 | -#include "iwlib.h" /* Header */ | |
14 | +#include "iwlib-private.h" /* Private header */ | |
15 | 15 | |
16 | 16 | /************************** DOCUMENTATION **************************/ |
17 | 17 |
@@ -10,7 +10,7 @@ | ||
10 | 10 | * Copyright (c) 1997-2004 Jean Tourrilhes <jt@hpl.hp.com> |
11 | 11 | */ |
12 | 12 | |
13 | -#include "iwlib.h" /* Header */ | |
13 | +#include "iwlib-private.h" /* Private header */ | |
14 | 14 | |
15 | 15 | /************************* DISPLAY ROUTINES **************************/ |
16 | 16 |
@@ -357,7 +357,7 @@ main(int argc, | ||
357 | 357 | /* The device name must be the first argument */ |
358 | 358 | /* Name only : show spy list for that device only */ |
359 | 359 | if(argc == 2) |
360 | - print_spy_info(skfd, argv[1], NULL, 0); | |
360 | + goterr = print_spy_info(skfd, argv[1], NULL, 0); | |
361 | 361 | else |
362 | 362 | /* Special commands */ |
363 | 363 | if(!strcmp(argv[2], "setthr")) |
@@ -1,39 +0,0 @@ | ||
1 | -diff -u -p udev-106/udev_rules.j1.c udev-106/udev_rules.c | |
2 | ---- udev-106/udev_rules.j1.c 2007-03-15 10:07:51.000000000 -0700 | |
3 | -+++ udev-106/udev_rules.c 2007-03-15 10:09:50.000000000 -0700 | |
4 | -@@ -186,7 +186,16 @@ static int import_keys_into_env(struct u | |
5 | - linepos = line; | |
6 | - if (get_key(&linepos, &variable, &value) == 0) { | |
7 | - dbg("import '%s=%s'", variable, value); | |
8 | -- name_list_key_add(&udev->env_list, variable, value); | |
9 | -+ /* handle device, renamed by external tool, | |
10 | -+ * returning new path */ | |
11 | -+ if (strcmp(variable, "DEVPATH") == 0) { | |
12 | -+ info("updating devpath from '%s' to '%s'", | |
13 | -+ udev->dev->devpath, value); | |
14 | -+ sysfs_device_set_values(udev->dev, value, | |
15 | -+ NULL, NULL); | |
16 | -+ } else | |
17 | -+ name_list_key_add(&udev->env_list, | |
18 | -+ variable, value); | |
19 | - setenv(variable, value, 1); | |
20 | - } | |
21 | - } | |
22 | -diff -u -p udev-106/udevtest.j1.c udev-106/udevtest.c | |
23 | ---- udev-106/udevtest.j1.c 2007-03-15 10:39:16.000000000 -0700 | |
24 | -+++ udev-106/udevtest.c 2007-03-15 10:42:09.000000000 -0700 | |
25 | -@@ -59,8 +59,13 @@ int main(int argc, char *argv[], char *e | |
26 | - | |
27 | - info("version %s", UDEV_VERSION); | |
28 | - udev_config_init(); | |
29 | -- if (udev_log_priority < LOG_INFO) | |
30 | -+ if (udev_log_priority < LOG_INFO) { | |
31 | -+ char priority[32]; | |
32 | -+ | |
33 | - udev_log_priority = LOG_INFO; | |
34 | -+ sprintf(priority, "%i", udev_log_priority); | |
35 | -+ setenv("UDEV_LOG", priority, 1); | |
36 | -+ } | |
37 | - | |
38 | - for (i = 1 ; i < argc; i++) { | |
39 | - char *arg = argv[i]; |
@@ -5,6 +5,12 @@ | ||
5 | 5 | * |
6 | 6 | * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com> |
7 | 7 | * Copyright (c) 1997-2005 Jean Tourrilhes, All Rights Reserved. |
8 | + * | |
9 | + * This file, and only this file, is licensed under the terms of the LGPL. | |
10 | + * You can redistribute it and/or modify it under the terms of the GNU | |
11 | + * Lesser General Public License as published by the Free Software | |
12 | + * Foundation; either version 2.1 of the License, or (at your option) | |
13 | + * any later version. | |
8 | 14 | */ |
9 | 15 | |
10 | 16 | #ifndef _LINUX_WIRELESS_H |
@@ -5,6 +5,12 @@ | ||
5 | 5 | * |
6 | 6 | * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com> |
7 | 7 | * Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved. |
8 | + * | |
9 | + * This file, and only this file, is licensed under the terms of the LGPL. | |
10 | + * You can redistribute it and/or modify it under the terms of the GNU | |
11 | + * Lesser General Public License as published by the Free Software | |
12 | + * Foundation; either version 2.1 of the License, or (at your option) | |
13 | + * any later version. | |
8 | 14 | */ |
9 | 15 | |
10 | 16 | #ifndef _LINUX_WIRELESS_H |
@@ -210,21 +216,21 @@ | ||
210 | 216 | * - Add explicit flag to tell stats are in dBm : IW_QUAL_DBM |
211 | 217 | * - Add IW_IOCTL_IDX() and IW_EVENT_IDX() macros |
212 | 218 | * |
213 | - * V19 to V20 | |
214 | - * ---------- | |
215 | - * - RtNetlink requests support (SET/GET) | |
216 | - * | |
217 | 219 | * V20 to V21 |
218 | 220 | * ---------- |
219 | 221 | * - Remove (struct net_device *)->get_wireless_stats() |
220 | 222 | * - Change length in ESSID and NICK to strlen() instead of strlen()+1 |
223 | + * - Add SIOCSIWMODUL/SIOCGIWMODUL for modulation setting | |
221 | 224 | * - Add IW_RETRY_SHORT/IW_RETRY_LONG retry modifiers |
225 | + * - Add IW_POWER_SAVING power type | |
222 | 226 | * - Power/Retry relative values no longer * 100000 |
227 | + * - Add bitrate flags for unicast/broadcast | |
223 | 228 | * - Add explicit flag to tell stats are in 802.11k RCPI : IW_QUAL_RCPI |
224 | 229 | * |
225 | 230 | * V21 to V22 |
226 | 231 | * ---------- |
227 | 232 | * - Prevent leaking of kernel space in stream on 64 bits. |
233 | + * - Scan capabilities in struct iw_range (Dan Williams) | |
228 | 234 | */ |
229 | 235 | |
230 | 236 | /**************************** CONSTANTS ****************************/ |
@@ -355,7 +361,7 @@ | ||
355 | 361 | #define SIOCIWLAST SIOCIWLASTPRIV /* 0x8BFF */ |
356 | 362 | #define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) |
357 | 363 | |
358 | -/* Odd : get (world access), even : set (root access) */ | |
364 | +/* Odd : get (world access), Even : set (root access) */ | |
359 | 365 | #define IW_IS_SET(cmd) (!((cmd) & 0x1)) |
360 | 366 | #define IW_IS_GET(cmd) ((cmd) & 0x1) |
361 | 367 |
@@ -545,6 +551,16 @@ | ||
545 | 551 | /* Maximum size of returned data */ |
546 | 552 | #define IW_SCAN_MAX_DATA 4096 /* In bytes */ |
547 | 553 | |
554 | +/* Scan capability flags - in (struct iw_range *)->scan_capa */ | |
555 | +#define IW_SCAN_CAPA_NONE 0x00 | |
556 | +#define IW_SCAN_CAPA_ESSID 0x01 | |
557 | +#define IW_SCAN_CAPA_BSSID 0x02 | |
558 | +#define IW_SCAN_CAPA_CHANNEL 0x04 | |
559 | +#define IW_SCAN_CAPA_MODE 0x08 | |
560 | +#define IW_SCAN_CAPA_RATE 0x10 | |
561 | +#define IW_SCAN_CAPA_TYPE 0x20 | |
562 | +#define IW_SCAN_CAPA_TIME 0x40 | |
563 | + | |
548 | 564 | /* Max number of char in custom event - use multiple of them if needed */ |
549 | 565 | #define IW_CUSTOM_MAX 256 /* In bytes */ |
550 | 566 |
@@ -988,6 +1004,9 @@ struct iw_range | ||
988 | 1004 | __u16 old_num_channels; |
989 | 1005 | __u8 old_num_frequency; |
990 | 1006 | |
1007 | + /* Scan capabilities */ | |
1008 | + __u8 scan_capa; /* IW_SCAN_CAPA_* bit field */ | |
1009 | + | |
991 | 1010 | /* Wireless event capability bitmasks */ |
992 | 1011 | __u32 event_capa[6]; |
993 | 1012 |
@@ -1134,6 +1153,6 @@ struct iw_event | ||
1134 | 1153 | #define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) |
1135 | 1154 | #define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) |
1136 | 1155 | #define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) |
1137 | -#define IW_EV_POINT_PK_LEN (IW_EV_LCP_LEN + 4) | |
1156 | +#define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4) | |
1138 | 1157 | |
1139 | 1158 | #endif /* _LINUX_WIRELESS_H */ |