--- wireless-tools-29.orig/iwconfig.c +++ wireless-tools-29/iwconfig.c @@ -1941,7 +1941,7 @@ /* The device name must be the first argument */ if(argc == 2) - print_info(skfd, argv[1], NULL, 0); + goterr = print_info(skfd, argv[1], NULL, 0); else /* The other args on the line specify options to be set... */ goterr = set_info(skfd, argv + 2, argc - 2, argv[1]); --- wireless-tools-29.orig/iwspy.c +++ wireless-tools-29/iwspy.c @@ -357,7 +357,7 @@ /* The device name must be the first argument */ /* Name only : show spy list for that device only */ if(argc == 2) - print_spy_info(skfd, argv[1], NULL, 0); + goterr = print_spy_info(skfd, argv[1], NULL, 0); else /* Special commands */ if(!strcmp(argv[2], "setthr")) --- wireless-tools-29.orig/iwlib.h +++ wireless-tools-29/iwlib.h @@ -60,6 +60,11 @@ /* Private copy of Wireless extensions (in this directoty) */ #include "wireless.h" +#ifdef IW_USES_ITS_OWN_DOGFOOD +/* Make sure that only iwlib uses it's own view of the world. Don't + try to be smarter than the compiler +*/ + /* Make gcc understant that when we say inline, we mean it. * I really hate when the compiler is trying to be more clever than me, * because in this case gcc is not able to figure out functions with a @@ -89,6 +94,7 @@ #endif /* inline */ #define inline inline __attribute__((always_inline)) #endif /* IW_GCC_HAS_BROKEN_INLINE */ +#endif /* IW_USES_ITS_OWN_DOGFOOD */ #ifdef __cplusplus extern "C" { --- wireless-tools-29.orig/Makefile +++ wireless-tools-29/Makefile @@ -73,8 +73,8 @@ # Install directories INSTALL_DIR= $(PREFIX)/sbin/ INSTALL_LIB= $(PREFIX)/lib/ -INSTALL_INC= $(PREFIX)/include/ -INSTALL_MAN= $(PREFIX)/man/ +INSTALL_INC= $(PREFIX)/usr/include/ +INSTALL_MAN= $(PREFIX)/usr/share/man/ # Various commands RM = rm -f @@ -102,9 +102,9 @@ endif # Other flags -CFLAGS=-Os -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow \ +#CFLAGS=-Os -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow \ -Wpointer-arith -Wcast-qual -Winline -I. -#CFLAGS=-O2 -W -Wall -Wstrict-prototypes -I. +CFLAGS=-O2 -W -Wall -Wstrict-prototypes -I. -DIW_USES_ITS_OWN_DOGFOOD DEPFLAGS=-MMD XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) $(WELIB_FLAG) $(WEDEF_FLAG) PICFLAG=-fPIC @@ -183,12 +183,14 @@ # How could you live without those manapages ? install-man:: - install -m 755 -d $(INSTALL_MAN)/man8/ - install -m 644 $(MANPAGES8) $(INSTALL_MAN)/man8/ - install -m 755 -d $(INSTALL_MAN)/man7/ - install -m 644 $(MANPAGES7) $(INSTALL_MAN)/man7/ - install -m 755 -d $(INSTALL_MAN)/man5/ - install -m 644 $(MANPAGES5) $(INSTALL_MAN)/man5/ + for lang in . cs fr; do \ + install -m 755 -d $(INSTALL_MAN)/$$lang/man8/; \ + install -m 644 $$lang/$(MANPAGES8) $(INSTALL_MAN)/$$lang/man8/; \ + install -m 755 -d $(INSTALL_MAN)/$$lang/man7/; \ + install -m 644 $$lang/$(MANPAGES7) $(INSTALL_MAN)/$$lang/man7/; \ + install -m 755 -d $(INSTALL_MAN)/$$lang/man5/; \ + install -m 644 $$lang/$(MANPAGES5) $(INSTALL_MAN)/$$lang/man5/; \ + done install-iwmulticall:: iwmulticall install -m 755 -d $(INSTALL_DIR) --- wireless-tools-29.orig/ifrename.c +++ wireless-tools-29/ifrename.c @@ -692,9 +692,9 @@ /* Check that it's not NULL */ if((ifnode->mac_len == 6) && (!memcmp(&ifnode->mac, &zero_mac, 6))) { - fprintf(stderr, - "Warning: MAC address is null at line %d, this is dangerous...\n", - linenum); + fprintf(stderr, "Error: Null MAC address (`%s') at line %d\n", + ifnode->mac_filter, linenum); + return(-1); } ifnode->active[SELECT_MAC] = HAS_MAC_EXACT; @@ -2197,11 +2197,11 @@ { /* If we have not yet printed an error, now is a good time ;-) */ if(ret == -13) - fprintf(stderr, "Error: Line %d ignored, no valid selectors\n", - linenum); + fprintf(stderr, "Error: %s line %d ignored, no valid selectors. Please correct or remove this line.\n", + filename, linenum); else - fprintf(stderr, "Error: Line %d ignored due to prior errors\n", - linenum); + fprintf(stderr, "Error: %s line %d ignored due to above errors. Please correct or remove this line.\n", + filename, linenum); free(ifnode); } --- wireless-tools-29.orig/iftab.5 +++ wireless-tools-29/iftab.5 @@ -50,11 +50,7 @@ (logical or), specify two different mappings with the same interface name (one on each line). .B Ifrename -always use the first matching mapping starting from the -.I end -of -.BR iftab , -therefore more restrictive mapping should be specified last. +always uses the last matching mapping in iftab. .\" .\" INTERFACE NAME part .\" --- wireless-tools-29.orig/iwlib.c +++ wireless-tools-29/iwlib.c @@ -667,6 +667,7 @@ { struct iwreq wrq; + memset((char *) &wrq, 0, sizeof(struct iwreq)); memset((char *) info, 0, sizeof(struct wireless_config)); /* Get wireless name */ --- wireless-tools-29.orig/iwlist.c +++ wireless-tools-29/iwlist.c @@ -2159,6 +2159,7 @@ char **args; /* Command arguments */ int count; /* Number of arguments */ const iwlist_cmd *iwcmd; + int goterr = 0; if(argc < 2) iw_usage(1); @@ -2206,12 +2207,12 @@ /* do the actual work */ if (dev) - (*iwcmd->fn)(skfd, dev, args, count); + goterr = (*iwcmd->fn)(skfd, dev, args, count); else iw_enum_devices(skfd, iwcmd->fn, args, count); /* Close the socket. */ iw_sockets_close(skfd); - return 0; + return goterr; } --- wireless-tools-29.orig/debian/wireless-tools.install +++ wireless-tools-29/debian/wireless-tools.install @@ -0,0 +1,7 @@ +debian/tmp/sbin/iw* +debian/tmp/sbin/rfkill +debian/tmp/usr/share/man/man8/iw*.8 +debian/tmp/usr/share/man/man7/*.7 +debian/tmp/usr/share/man/*/man8/iw*.8 +debian/tmp/usr/share/man/*/man7/*.7 +debian/tmp/usr/share/man/man1/*.1.gz --- wireless-tools-29.orig/debian/changelog +++ wireless-tools-29/debian/changelog @@ -0,0 +1,674 @@ +wireless-tools (29-2ubuntu6) karmic; urgency=low + + * Don't try to outsmart the compiler and don't redefine `inline' in an + installed header file. LP: #435793. + + /* Make gcc understant that when we say inline, we mean it. + * I really hate when the compiler is trying to be more clever than me, + * because in this case gcc is not able to figure out functions with a + * single call site, so not only I have to tag those functions inline + * by hand, but then it refuse to inline them properly. + * Total saving for iwevent : 150B = 0.7%. + * Fortunately, in gcc 3.4, they now automatically inline static functions + * with a single call site. Hurrah ! + * Jean II */ + + -- Matthias Klose Thu, 24 Sep 2009 13:01:03 +0200 + +wireless-tools (29-2ubuntu5) karmic; urgency=low + + * Update to rfkill-0.3 + add copyright notices + remove copyright notice from file + resync rfkill.h with kernel + version 0.3 + + -- Tim Gardner Thu, 03 Sep 2009 20:21:31 -0600 + +wireless-tools (29-2ubuntu4) karmic; urgency=low + + * Update to rfkill-0.2 + + -- Tim Gardner Wed, 26 Aug 2009 09:52:48 -0600 + +wireless-tools (29-2ubuntu3) karmic; urgency=low + + * Use sh to execute rfkill/version.sh + + -- Tim Gardner Fri, 24 Jul 2009 10:28:26 -0600 + +wireless-tools (29-2ubuntu2) karmic; urgency=low + + * Added rfkill from sipsolutions.net + http://git.sipsolutions.net/rfkill.git + HEAD 942974036993a84d0beede0c1bbc19cdd3e9db40 + Added rfkill/COPYING to debian/copyright + Added rfkill/README to debian/README.Debian + + -- Tim Gardner Mon, 20 Jul 2009 13:44:55 -0600 + +wireless-tools (29-2ubuntu1) karmic; urgency=low + + * Merge from Debian unstable, remaining changes: + - Fix confusing text in iftab(5) about mapping ordering. + - Rather than just warning about NULL MAC addresses, ignore them totally + and treat their appearance as an error, and try and hint where the + NULL MAC address is so the user can remove it. + - Remove the ifrename package; it conflicts with our own udev package + which provides /etc/iftab support. + + -- Steve Langasek Mon, 11 May 2009 08:55:27 +0000 + +wireless-tools (29-2) unstable; urgency=low + + * Apply and extend patch from Ritesh Raj Sarraf returning proper exit codes + on errors. Closes: #526187 + * Bump Standards-Version and debhelper compatibility level. + * Remove spurious commands from Czech iwconfig manpage. + * Update debian/copyright. + + -- Guus Sliepen Tue, 05 May 2009 16:22:49 +0200 + +wireless-tools (29-1.1ubuntu2) jaunty; urgency=low + + * Revert change to bring up the interface before changing wireless + settings; the softmac driver this was implemented for is now + obsolete, no other drivers are reported to need it, and it + introduces other problems such as breaking PPP interfaces + (LP: #268519) and preventing configuration of some settings such as + hardware addresses (LP: #219520). + + -- Steve Langasek Fri, 14 Nov 2008 21:13:27 +0000 + +wireless-tools (29-1.1ubuntu1) jaunty; urgency=low + + * Merge from Debian unstable, remaining changes: + - Fix confusing text in iftab(5) about mapping ordering. + - Rather than just warning about NULL MAC addresses, ignore them totally + and treat their appearance as an error, and try and hint where the + NULL MAC address is so the user can remove it. + - Remove the ifrename package; it conflicts with our own udev package + which provides /etc/iftab support. + - Bring up the interface before making any changes to the wireless + settings - required for at least softmac drivers. + + -- Steve Langasek Fri, 14 Nov 2008 05:34:45 +0000 + +wireless-tools (29-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Two changes requested for Debian Installer; closes: #474708. + - Add iwlist and iwevent to the udeb. + - Add menu item number for the udeb so that users can select it as + an optional component. + + -- Frans Pop Sun, 13 Jul 2008 00:07:00 +0200 + +wireless-tools (29-1ubuntu2) hardy; urgency=low + + * Dropped change: + - Don't diverge unnecessarily from upstream on socket.h header + inclusions, this only applies to ancient versions of the + wireless.h header that won't be shipped in the binary packages + (current versions of the header have a proper #ifdef __KERNEL__ guard) + + -- Steve Langasek Wed, 28 Nov 2007 16:49:17 -0800 + +wireless-tools (29-1ubuntu1) hardy; urgency=low + + * Merge from Debian unstable, remaining changes: + - Fix confusing text in iftab(5) about mapping ordering. + - Use like the socket(2) manpage says. + - Rather than just warning about NULL MAC addresses, ignore them totally + and treat their appearance as an error, and try and hint where the + NULL MAC address is so the user can remove it. + - Remove the ifrename package; it conflicts with our own udev package + which provides /etc/iftab support. + - Bring up the interface before making any changes to the wireless + settings - required for at least softmac drivers. + - Set Ubuntu maintainer address. + * Use sys/socket.h instead of linux/socket.h for the new version 21 + and 22 headers as well + + -- Steve Langasek Tue, 27 Nov 2007 18:10:48 -0800 + +wireless-tools (29-1) unstable; urgency=low + + * New upstream release. + + -- Guus Sliepen Mon, 15 Oct 2007 10:55:49 +0200 + +wireless-tools (29~pre22-1) unstable; urgency=low + + * New upstream release. + + -- Guus Sliepen Sun, 01 Jul 2007 18:03:58 +0200 + +wireless-tools (29~pre21-2) unstable; urgency=low + + * Don't look at LINUX_VERSION_CODE, only use generic header files in + iwlib.h. Closes: #425485 + + -- Guus Sliepen Tue, 22 May 2007 10:27:46 +0200 + +wireless-tools (29~pre21-1) unstable; urgency=low + + * New upstream release. Closes: #421569 + + -- Guus Sliepen Thu, 03 May 2007 13:55:01 +0200 + +wireless-tools (29~pre20-1ubuntu1) gutsy; urgency=low + + * Resynchronise with Debian. Remaining changes: + - Fix confusing text in iftab(5) about mapping ordering. + - Use like the socket(2) manpage says. + - Rather than just warning about NULL MAC addresses, ignore them totally + and treat their appearance as an error, and try and hint where the + NULL MAC address is so the user can remove it. + - Remove the ifrename package; it conflicts with our own udev package + which provides /etc/iftab support. + - Bring up the interface before making any changes to the wireless + settings - required for at least softmac drivers. + * Set Ubuntu maintainer address. + + -- Colin Watson Fri, 27 Apr 2007 14:37:37 +0100 + +wireless-tools (29~pre20-1) unstable; urgency=low + + * New upstream release. + * Update debian/copyright and remove section about kernel versions from + README.Debian. + * Fix compiler warning about wrong format specifiers in iwlist.c. + + -- Guus Sliepen Sun, 22 Apr 2007 12:51:43 +0200 + +wireless-tools (29~pre18-1) experimental; urgency=low + + * New upstream release. + + -- Guus Sliepen Wed, 18 Apr 2007 10:18:16 +0200 + +wireless-tools (29~pre17-1) experimental; urgency=low + + * New upstream release. Closes: #398018 + * Add LSB section to the ifrename init script. + + -- Guus Sliepen Tue, 27 Mar 2007 10:39:33 +0200 + +wireless-tools (28+29pre10-1) experimental; urgency=low + + * New upstream release. + + -- Guus Sliepen Thu, 4 May 2006 22:13:07 +0200 + +wireless-tools (28+29pre9-2) experimental; urgency=low + + * Compile with default gcc version. Closes: #364885 + + -- Guus Sliepen Wed, 26 Apr 2006 14:22:02 +0200 + +wireless-tools (28+29pre9-1) experimental; urgency=low + + * New upstream release. + + -- Guus Sliepen Fri, 14 Apr 2006 22:46:20 +0200 + +wireless-tools (28+29pre7-1) experimental; urgency=low + + * New upstream release. + + -- Guus Sliepen Tue, 11 Apr 2006 20:10:21 +0200 + +wireless-tools (28-1ubuntu3) feisty; urgency=low + + * Bring up the interface before making any changes to the wireless + settings - required for at least softmac drivers (Ubuntu: #63664) + + -- Matthew Garrett Thu, 21 Dec 2006 04:09:56 +0000 + +wireless-tools (28-1ubuntu2) edgy; urgency=low + + * Remove the ifrename package, it conflicts with our own udev package + which provides /etc/iftab support. + + -- Scott James Remnant Wed, 23 Aug 2006 09:36:17 +0200 + +wireless-tools (28-1ubuntu1) edgy; urgency=low + + [ Ongoing Merge Process ] + * Merge from debian unstable. + + -- Scott James Remnant Wed, 28 Jun 2006 23:40:55 +0100 + +wireless-tools (28-1) unstable; urgency=low + + * New upstream release. + + -- Guus Sliepen Tue, 11 Apr 2006 19:52:34 +0200 + +wireless-tools (27+28pre16-1) unstable; urgency=low + + * New upstream release. + * Move the symlink /lib/libiw.so back to /usr/lib. Closes: #360372 + + -- Guus Sliepen Wed, 5 Apr 2006 13:51:59 +0200 + +wireless-tools (27+28pre15-1) unstable; urgency=low + + * New upstream release. + * Move udeb library dependency to shlib file (patch from Frans Pop). + Closes: #357802 + + -- Guus Sliepen Tue, 21 Mar 2006 12:30:13 +0100 + +wireless-tools (27+28pre14-1) unstable; urgency=low + + * New upstream release. + * Move static library to /usr/lib. Closes: #350707 + * Remove /etc/iftab on purge. Closes: #345991 + + -- Guus Sliepen Tue, 14 Feb 2006 12:29:31 +0100 + +wireless-tools (27+28pre13-1ubuntu2) dapper; urgency=low + + * Don't run the init script if the udev renaming rules are in place. + + -- Scott James Remnant Thu, 9 Feb 2006 22:30:07 +0000 + +wireless-tools (27+28pre13-1ubuntu1) dapper; urgency=low + + * Resynchronise with Debian. + + -- Scott James Remnant Mon, 30 Jan 2006 09:54:45 +0000 + +wireless-tools (27+28pre13-1) unstable; urgency=low + + * New upstream release. + * Stricter version dependency on libiw28. Closes: #345146 + + -- Guus Sliepen Fri, 30 Dec 2005 19:18:46 +0100 + +wireless-tools (27+28pre11-1) unstable; urgency=low + + * New upstream release. + * Fix installation of translated manpages. + + -- Guus Sliepen Fri, 2 Dec 2005 12:30:21 +0100 + +wireless-tools (27+28pre10-1ubuntu1) dapper; urgency=low + + * Resynchronise with Debian. + + -- Colin Watson Mon, 31 Oct 2005 06:49:46 -0500 + +wireless-tools (27+28pre10-1) unstable; urgency=low + + * New upstream release. Closes: #272662 + + -- Guus Sliepen Mon, 17 Oct 2005 01:17:10 +0200 + +wireless-tools (27+28pre9-1) unstable; urgency=low + + * New upstream release. + * Put manpages in the right packages. Closes: #323223 + * Fix mistake in ifrename's init script that prevented it from running. + + -- Guus Sliepen Wed, 7 Sep 2005 12:59:48 +0200 + +wireless-tools (27+28pre8-1ubuntu4) breezy; urgency=low + + * Make the NULL MAC address error a little less scary, and try and hint + where it is so the user can remove it. (Ubuntu #15342). + + -- Scott James Remnant Mon, 19 Sep 2005 12:52:12 +0100 + +wireless-tools (27+28pre8-1ubuntu3) breezy; urgency=low + + * Rather than just warning about NULL MAC addresses, ignore them totally + and treat their appearance as an error. (Ubuntu #13993). + + -- Scott James Remnant Sat, 27 Aug 2005 00:53:35 +0100 + +wireless-tools (27+28pre8-1ubuntu2) breezy; urgency=low + + * Enable takeover support in ifrename startup script, this will allow + interfaces to swap names. (Ubuntu #8391, #10240, #13551). + + -- Scott James Remnant Thu, 18 Aug 2005 02:23:57 +0100 + +wireless-tools (27+28pre8-1ubuntu1) breezy; urgency=low + + * Resynchronise with Debian, resolving merge conflicts (Ubuntu #11980) + * New version is greater than 28pre3, so this should close #11434 + + -- Adam Conrad Wed, 29 Jun 2005 11:00:47 +0000 + +wireless-tools (27+28pre8-1) unstable; urgency=low + + * New upstream release. + * Use hyphens instead of underscores in README.Debian. Closes: #309805 + + -- Guus Sliepen Mon, 13 Jun 2005 11:41:28 +0200 + +wireless-tools (27-3ubuntu2) breezy; urgency=low + + * Use like the socket(2) manpage says. + + -- LaMont Jones Mon, 23 May 2005 10:43:12 -0600 + +wireless-tools (27-3ubuntu1) breezy; urgency=low + + * Resynchronise with Debian. + + -- Scott James Remnant Fri, 15 Apr 2005 00:00:56 +0100 + +wireless-tools (27-3) unstable; urgency=low + + * Add a post-down script that reverts any wireless setting present in + /etc/network/interfaces to sane defaults. Closes: #303782 + * Add missing wireless-ap option. Closes: #303784 + * Add init script that runs ifrename on system startup. Closes: #243382 + + -- Guus Sliepen Wed, 13 Apr 2005 12:51:03 +0200 + +wireless-tools (27-2) unstable; urgency=low + + * Backport fix from 28pre4 for MadWiFi scanning. + * Backport fix from 28pre4 for dashes in interface names. Closes: #289657 + + -- Guus Sliepen Sat, 5 Feb 2005 12:21:30 +0100 + +wireless-tools (27-1ubuntu1) hoary; urgency=low + + * fixed weird fromulation in iftab manpage (closes ubuntu bug #5727) + + -- Oliver Grawert (ogra) Thu, 17 Mar 2005 20:23:25 +0100 + +wireless-tools (27-1) unstable; urgency=low + + * New upstream release, that "hopefully will help the prompt release of the + new stable Debian ;-)" Thanks, Jean! + + -- Guus Sliepen Sat, 6 Nov 2004 15:03:40 +0100 + +wireless-tools (26+27pre28-1) unstable; urgency=low + + * New upstream release. Closes: #271574 + + -- Guus Sliepen Thu, 28 Oct 2004 16:12:36 +0200 + +wireless-tools (26+27pre26-2) unstable; urgency=low + + * Fill in version number in libiw27.shlibs by hand. Closes: #275550 + + -- Guus Sliepen Fri, 8 Oct 2004 22:36:29 +0200 + +wireless-tools (26+27pre26-1) unstable; urgency=low + + * New upstream release. + * Fix -c option. Closes: #272522 + * Let wireless-tools depend on same version of libiw. + Closes: #269520, #272431 + + -- Guus Sliepen Wed, 6 Oct 2004 16:49:49 +0200 + +wireless-tools (26+27pre25-2) unstable; urgency=low + + * Really remove version requirements from description. + + -- Guus Sliepen Wed, 18 Aug 2004 13:00:03 +0000 + +wireless-tools (26+27pre25-1) unstable; urgency=low + + * New upstream release. Closes: #264533 + * Drop kernel version requirements from description. Closes: #263342 + + -- Guus Sliepen Wed, 18 Aug 2004 14:55:22 +0200 + +wireless-tools (26+27pre22-1) unstable; urgency=low + + * New upstream release. + * Fix encoding of French manpages. Closes: #247302 + * Use hyphens instead of underscores in wireless(7) and related + documentation. Closes: #245436 + * Add Provides: libiw27 to libiw27-udeb. Closes: #250334 + * Make iw_get_basic_config() idiot kernel driver proof. Closes: #251277 + + -- Guus Sliepen Wed, 2 Jun 2004 16:30:27 +0000 + +wireless-tools (26+27pre21-1) unstable; urgency=low + + * New upstream release. + * Apply patch from upstream author to if-pre-up.d script, + so options are processed in more or less the same order as the + PCMCIA scripts do. Closes: #246062 + * Use underscores in wireless(7). Closes: #245436 + + -- Guus Sliepen Thu, 29 Apr 2004 15:19:30 +0200 + +wireless-tools (26+27pre20-1) unstable; urgency=low + + * New upstream release. + + -- Guus Sliepen Thu, 15 Apr 2004 15:30:17 +0200 + +wireless-tools (26+27pre18-1) unstable; urgency=low + + * New upstream release. + * Remove build-depends on di-packages-build, since debhelper can now + create udebs. Closes: #239492 + + -- Guus Sliepen Tue, 30 Mar 2004 21:19:02 +0200 + +wireless-tools (26+27pre16-1) unstable; urgency=low + + * New upstream release. Closes: #236670 + * Create a new binary package ifrename. + + -- Guus Sliepen Sat, 13 Mar 2004 12:17:28 +0100 + +wireless-tools (26+27pre15-1) unstable; urgency=low + + * New upstream release. Closes: #236136 + + -- Guus Sliepen Sun, 7 Mar 2004 15:30:50 +0100 + +wireless-tools (26+27pre10-3) unstable; urgency=low + + * Add patch for compatibility with drivers using old version of wireless + extensions. Closes: #235032 + + -- Guus Sliepen Fri, 27 Feb 2004 11:03:13 +0100 + +wireless-tools (26+27pre10-2) unstable; urgency=low + + * Make sure wireless-tools package depends on latest version of libiw27. + Closes: #234078 + * Build udeb for libiw. Closes: #234677 + + -- Guus Sliepen Wed, 25 Feb 2004 12:24:55 +0100 + +wireless-tools (26+27pre10-1) unstable; urgency=low + + * New upstream release. + * Make sure README.Debian is in the debs. Closes: #231848 + + -- Guus Sliepen Sat, 21 Feb 2004 16:47:25 +0100 + +wireless-tools (26+27pre9-2) unstable; urgency=low + + * Build udeb binaries without needing -lm. Closes: #230146 + + -- Guus Sliepen Sun, 1 Feb 2004 17:02:20 +0100 + +wireless-tools (26+27pre9-1) unstable; urgency=low + + * New upstream release. Closes: #225951 + * Reduce size of binaries in udeb. Closes: #228797 + + -- Guus Sliepen Wed, 21 Jan 2004 15:48:52 +0100 + +wireless-tools (26+27pre7-3) unstable; urgency=low + + * Fix typo in pre-up script. + + -- Guus Sliepen Sun, 18 Jan 2004 15:34:38 +0100 + +wireless-tools (26+27pre7-2) unstable; urgency=low + + * Provide udeb package. Closes: #225587 + + -- Guus Sliepen Sat, 10 Jan 2004 19:36:31 +0100 + +wireless-tools (26+27pre7-1) unstable; urgency=low + + * New upstream release. Closes: #197909 + * Don't quote options, except nick, nwid and nick. Closes: #224305 + * Add extra directives for powermanagement (see README.Debian). + + -- Guus Sliepen Sun, 14 Dec 2003 10:41:03 +0100 + +wireless-tools (26-6) unstable; urgency=low + + * Use eval for $IF_WIRELESS_KEY. Closes: #224079 + + -- Guus Sliepen Tue, 16 Dec 2003 18:38:35 +0100 + +wireless-tools (26-5) unstable; urgency=low + + * Use $IFACE in the pre-up script again. Closes: #223285 + + -- Guus Sliepen Tue, 9 Dec 2003 11:17:41 +0100 + +wireless-tools (26-4) unstable; urgency=low + + * There should be no need to know the details of iwconfig's command line + parsing, therefore pre-up directives in /etc/network/interfaces may + contain spaces and do not need to be quoted. Support for multiple keys + is added using new directives (see README.Debian). Closes: #220473 + * Fix typo in manpage. Closes: #221844 + + -- Guus Sliepen Sat, 22 Nov 2003 13:08:37 +0100 + +wireless-tools (26-3) unstable; urgency=low + + * Build copies of the tools for each version of wireless extensions, + use iwredir to select the right copy at runtime. Closes: #220240, #210249 + + -- Guus Sliepen Tue, 11 Nov 2003 23:09:42 +0100 + +wireless-tools (26-2) unstable; urgency=low + + * Quote environment variables passed to pre-up script. Closes: #219212 + + -- Guus Sliepen Wed, 5 Nov 2003 10:31:54 +0100 + +wireless-tools (26-1) unstable; urgency=low + + * New upstream release. + + -- Guus Sliepen Wed, 18 Jun 2003 13:53:45 +0200 + +wireless-tools (25-4) unstable; urgency=low + + * Make sure conffiles are not registered twice. Closes: #196362 + * libiw-dev belongs to section libdevel. + * Correct dependency on debhelper. + + -- Guus Sliepen Sat, 14 Jun 2003 18:10:29 +0200 + +wireless-tools (25-3) unstable; urgency=low + + * Add libiw-dev package so people can compile statically against libiw. + No shared library yet, the API hasn't stabilised and the soname changes + way too often. + + -- Guus Sliepen Tue, 21 Jan 2003 15:31:19 +0100 + +wireless-tools (25-2) unstable; urgency=low + + * Set channel/frequency after setting mode in pre-up script. Closes: #164012 + + -- Guus Sliepen Thu, 10 Oct 2002 20:40:08 +0200 + +wireless-tools (25-1) unstable; urgency=low + + * New upstream release. Closes: #150632 + * Compile with private copy of wireless extensions v15. Closes: #150055 + + -- Guus Sliepen Tue, 20 Aug 2002 14:24:34 +0200 + +wireless-tools (24-1) unstable; urgency=low + + * New upstream release. Closes: #144555, #144814 + + -- Guus Sliepen Sun, 28 Apr 2002 10:08:28 +0200 + +wireless-tools (23-2) unstable; urgency=low + + * Use eval when executing $IWCONFIG. Closes: #141417 + + -- Guus Sliepen Sun, 7 Apr 2002 14:06:59 +0200 + +wireless-tools (23-1) unstable; urgency=low + + * New upstream release. + * Added "key" and "commit" commands for the if-pre-up.d script. + Closes: #129890 + + -- Guus Sliepen Fri, 25 Jan 2002 11:29:45 +0100 + +wireless-tools (22+23beta3-3) unstable; urgency=low + + * Fixed if-pre-up.d script. Closes: #113128 + + -- Guus Sliepen Wed, 12 Dec 2001 23:40:17 +0100 + +wireless-tools (22+23beta3-2) unstable; urgency=low + + * Don't build libraries for now. Closes: #120538 + * Fix gcc-3.0 compiler warnings. + + -- Guus Sliepen Wed, 21 Nov 2001 20:25:08 +0100 + +wireless-tools (22+23beta3-1) unstable; urgency=low + + * I have taken over this package from Björn Andersson. + Closes: #81295, #90421, #91909, #93904, #96229, #103935, #104565, #105437, #107762 + * New upstream release. Closes: #117130 + * Added if-pre-up.d script. Closes: #113128 + + -- Guus Sliepen Tue, 20 Nov 2001 11:58:21 +0100 + +wireless-tools (21+22beta2-0.1) unstable; urgency=low + + * Non-maintainer upload. + * New upstream release. Closes: #107762, #104565, #96229, #93904, #81295 + * Show "mode" option. Closes: #103935 + * Correct URL in README file. Closes: #91909 + * Put binaries in /sbin since they might be required for booting properly. + Closes: #105437 + * Added manpage for iwgetid. + * Fixed lintian warnings and errors. + + -- Guus Sliepen Tue, 7 Aug 2001 11:57:07 +0200 + +wireless-tools (20-1.1) unstable; urgency=low + + * Bugsquash party NMU to fix a release-critical bug. + * Patch from Gerhard Muntingh to avoid using + (closes: #90421). + + -- Colin Watson Sat, 14 Apr 2001 00:49:19 +0100 + +wireless-tools (20-1) unstable; urgency=low + + * initial release + * Sponsored upload for Björn Andersson + + -- Joey Hess Sat, 1 Apr 2000 11:55:23 +0300 + +Local variables: +mode: debian-changelog +End: + --- wireless-tools-29.orig/debian/libiw-dev.install +++ wireless-tools-29/debian/libiw-dev.install @@ -0,0 +1,2 @@ +debian/tmp/lib/*.a usr/lib/ +debian/tmp/usr/include/* --- wireless-tools-29.orig/debian/pre-up +++ wireless-tools-29/debian/pre-up @@ -0,0 +1,108 @@ +#!/bin/sh + +IWCONFIG=/sbin/iwconfig + +if [ ! -x $IWCONFIG ]; then + exit 0 +fi + +if [ -n "$IF_WIRELESS_SENS" ]; then + $IWCONFIG "$IFACE" sens $IF_WIRELESS_SENS +fi + +if [ -n "$IF_WIRELESS_MODE" ]; then + $IWCONFIG "$IFACE" mode $IF_WIRELESS_MODE +fi + +if [ -n "$IF_WIRELESS_AP" ]; then + $IWCONFIG "$IFACE" ap $IF_WIRELESS_AP +fi + +if [ -n "$IF_WIRELESS_RATE" ]; then + $IWCONFIG "$IFACE" rate $IF_WIRELESS_RATE +fi + +if [ -n "$IF_WIRELESS_RTS" ]; then + $IWCONFIG "$IFACE" rts $IF_WIRELESS_RTS +fi + +if [ -n "$IF_WIRELESS_FRAG" ]; then + $IWCONFIG "$IFACE" frag $IF_WIRELESS_FRAG +fi + +if [ -n "$IF_WIRELESS_POWER" ]; then + $IWCONFIG "$IFACE" power $IF_WIRELESS_POWER +fi + +if [ -n "$IF_WIRELESS_POWERPERIOD" ]; then + $IWCONFIG "$IFACE" power period $IF_WIRELESS_POWERPERIOD +fi + +if [ -n "$IF_WIRELESS_POWERTIMEOUT" ]; then + $IWCONFIG "$IFACE" power timeout $IF_WIRELESS_POWERTIMEOUT +fi + +if [ -n "$IF_WIRELESS_TXPOWER" ]; then + $IWCONFIG "$IFACE" txpower $IF_WIRELESS_TXPOWER +fi + +if [ -n "$IF_WIRELESS_RETRY" ]; then + $IWCONFIG "$IFACE" retry $IF_WIRELESS_RETRY +fi + +if [ -n "$IF_WIRELESS_ENC" ]; then + eval $IWCONFIG "$IFACE" enc $IF_WIRELESS_ENC +fi + +if [ -n "$IF_WIRELESS_KEY" ]; then + eval $IWCONFIG "$IFACE" key $IF_WIRELESS_KEY +fi + +if [ -n "$IF_WIRELESS_KEY1" ]; then + $IWCONFIG "$IFACE" key [1] "$IF_WIRELESS_KEY1" +fi + +if [ -n "$IF_WIRELESS_KEY2" ]; then + $IWCONFIG "$IFACE" key [2] "$IF_WIRELESS_KEY2" +fi + +if [ -n "$IF_WIRELESS_KEY3" ]; then + $IWCONFIG "$IFACE" key [3] "$IF_WIRELESS_KEY3" +fi + +if [ -n "$IF_WIRELESS_KEY4" ]; then + $IWCONFIG "$IFACE" key [4] "$IF_WIRELESS_KEY4" +fi + +if [ -n "$IF_WIRELESS_DEFAULTKEY" ]; then + $IWCONFIG "$IFACE" key ["$IF_WIRELESS_DEFAULTKEY"] +fi + +if [ -n "$IF_WIRELESS_KEYMODE" ]; then + $IWCONFIG "$IFACE" key "$IF_WIRELESS_KEYMODE" +fi + +if [ -n "$IF_WIRELESS_FREQ" ]; then + $IWCONFIG "$IFACE" freq $IF_WIRELESS_FREQ +fi + +if [ -n "$IF_WIRELESS_CHANNEL" ]; then + $IWCONFIG "$IFACE" channel $IF_WIRELESS_CHANNEL +fi + +if [ -n "$IF_WIRELESS_NICK" ]; then + $IWCONFIG "$IFACE" nick "$IF_WIRELESS_NICK" +fi + +if [ -n "$IF_WIRELESS_NWID" ]; then + $IWCONFIG "$IFACE" nwid "$IF_WIRELESS_NWID" +fi + +if [ -n "$IF_WIRELESS_ESSID" ]; then + $IWCONFIG "$IFACE" essid "$IF_WIRELESS_ESSID" +fi + +if [ -n "$IF_WIRELESS_COMMIT" ]; then + $IWCONFIG "$IFACE" commit +fi + --- wireless-tools-29.orig/debian/wireless-tools.docs +++ wireless-tools-29/debian/wireless-tools.docs @@ -0,0 +1,4 @@ +DISTRIBUTIONS.txt +PCMCIA.txt +HOTPLUG.txt +README --- wireless-tools-29.orig/debian/rules +++ wireless-tools-29/debian/rules @@ -0,0 +1,59 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +UDEB_CFLAGS=-Os -I. + +build: build-stamp +build-stamp: + dh_testdir + $(MAKE) all libiw.a + $(MAKE) -C rfkill rfkill + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + $(MAKE) realclean + $(MAKE) -C rfkill clean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + $(MAKE) install install-static PREFIX="`pwd`/debian/tmp" + $(MAKE) -C rfkill install DESTDIR="`pwd`/debian/tmp" BINDIR=/sbin + dh_link + dh_install + install -D debian/pre-up debian/wireless-tools/etc/network/if-pre-up.d/wireless-tools + install -D debian/post-down debian/wireless-tools/etc/network/if-post-down.d/wireless-tools + $(MAKE) clean + $(MAKE) BUILD_NOLIBM=y CFLAGS="$(UDEB_CFLAGS)" PREFIX="`pwd`/debian/tmp" + dh_install -pwireless-tools-udeb iwconfig iwgetid iwlist iwevent rfkill/rfkill sbin/ + dh_install -plibiw29-udeb libiw.so.29 lib/ + +binary-indep: build install + +binary-arch: build install + dh_testdir + dh_testroot +# dh_installmanpages + dh_installdocs + dh_installchangelogs CHANGELOG.h + dh_installinit --no-start -- start 40 S . + dh_strip + dh_compress + dh_fixperms + dh_makeshlibs --add-udeb=libiw29-udeb + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- wireless-tools-29.orig/debian/README.Debian +++ wireless-tools-29/debian/README.Debian @@ -0,0 +1,66 @@ +/etc/network/interfaces +----------------------- + +You can now add extra statements to the iface sections of the files in +/etc/network/interfaces that are specific for wireless interfaces. They are of +the form: + + wireless- + +Before the interface is brought up, such a statement will result in the +execution of the following command: + + iwconfig + +If you bring the interface down, then for each wireless- statement +given it will execute a corresponding iwconfig command that reverts that +function back to sane defaults. For example, if you specified a wireless-key, +if you run ifdown it will set the wireless key to "off". + +If you want to specify a nick, nwid or essid with spaces in them, you must not +surround them with quotes. + +To specify multiple keys the following statements are also available: + + wireless-key + wireless-defaultkey + wireless-keymode restricted|open + +To finetune powermanagement the following statments are also available: + + wireless-powerperiod + wireless-powertimeout + +Example: + +iface eth0 inet static + address 192.168.1.2 + network 192.168.1.0 + netmask 255.255.255.0 + broadcast 192.168.1.255 + wireless-essid Home + wireless-mode ad-hoc + +Example of multiple keys: + + wireless-key1 0123-4567-89ab-cdef + wireless-key2 12345678 + wireless-key3 s:password + wireless-defaultkey 2 + wireless-keymode open + +--------------------------------------------------------------------------- + +rfkill/README: + +This is 'rfkill', a tool to use /dev/rfkill. + + +To build rfkill, just enter 'make'. + +'rfkill' is currently maintained at http://git.sipsolutions.net/rfkill.git/, +some more documentation is available at +http://wireless.kernel.org/en/users/Documentation/rfkill. + +Please send all patches to Johannes Berg +and CC linux-wireless@vger.kernel.org for community review. --- wireless-tools-29.orig/debian/libiw-dev.links +++ wireless-tools-29/debian/libiw-dev.links @@ -0,0 +1 @@ +/lib/libiw.so.29 /usr/lib/libiw.so --- wireless-tools-29.orig/debian/copyright +++ wireless-tools-29/debian/copyright @@ -0,0 +1,34 @@ +This package was debianized by Björn Andersson on +Sat, 1 Apr 2000 11:55:23 +0300. + +The current Debian maintainer is Guus Sliepen . + +It was downloaded from: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html + +Upstream Author: Jean Tourrilhes + +Copyright (c) 1997-2007 Jean Tourrilhes + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + +On Debian systems, the complete text of the GNU General Public +License, version 2, can be found in /usr/share/common-licenses/GPL-2. + +----------------------------------------------------------------------- +rfkill/COPYING: + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + --- wireless-tools-29.orig/debian/libiw29.install +++ wireless-tools-29/debian/libiw29.install @@ -0,0 +1 @@ +debian/tmp/lib/*.so.* --- wireless-tools-29.orig/debian/compat +++ wireless-tools-29/debian/compat @@ -0,0 +1 @@ +7 --- wireless-tools-29.orig/debian/libiw-dev.docs +++ wireless-tools-29/debian/libiw-dev.docs @@ -0,0 +1 @@ +README --- wireless-tools-29.orig/debian/libiw29.shlibs +++ wireless-tools-29/debian/libiw29.shlibs @@ -0,0 +1,2 @@ +libiw 29 libiw29 (>= 28+29pre7) +udeb: libiw 29 libiw29-udeb (>= 28+29pre7) --- wireless-tools-29.orig/debian/control +++ wireless-tools-29/debian/control @@ -0,0 +1,64 @@ +Source: wireless-tools +Section: net +Priority: extra +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Guus Sliepen +Standards-Version: 3.8.1 +Build-Depends: debhelper (>= 7.0.0) + +Package: wireless-tools +Section: net +Architecture: any +Depends: ${shlibs:Depends} +Description: Tools for manipulating Linux Wireless Extensions + This package contains the Wireless tools, used to manipulate + the Linux Wireless Extensions. The Wireless Extension is an interface + allowing you to set Wireless LAN specific parameters and get the + specific stats. + +Package: libiw29 +Section: libs +Architecture: any +Depends: ${shlibs:Depends} +Description: Wireless tools - library + Wireless tools are used to manipulate the Linux Wireless Extensions. The + Wireless Extension is an interface allowing you to set Wireless LAN specific + parameters and get the specific stats. + . + This package contains the dynamic library libiw. + +Package: libiw-dev +Section: libdevel +Architecture: any +Depends: libiw29 (= ${binary:Version}), libc6-dev +Description: Wireless tools - development files + Wireless tools are used to manipulate the Linux Wireless Extensions. The + Wireless Extension is an interface allowing you to set Wireless LAN specific + parameters and get the specific stats. + . + This package contains the header files and static version of libiw. + +Package: wireless-tools-udeb +Section: debian-installer +Architecture: any +XC-Package-Type: udeb +Depends: ${shlibs:Depends} +XB-Installer-Menu-Item: 99999 +Description: Tools for manipulating Linux Wireless Extensions + This package contains the Wireless tools, used to manipulate the Linux + Wireless Extensions. The Wireless Extension is an interface allowing you to + set Wireless LAN specific parameters and get the specific stats. + . + This is a udeb of the wireless tools. + +Package: libiw29-udeb +Section: debian-installer +Architecture: any +XC-Package-Type: udeb +Depends: ${shlibs:Depends} +Description: Tools for manipulating Linux Wireless Extensions + This package contains the Wireless tools, used to manipulate the Linux + Wireless Extensions. The Wireless Extension is an interface allowing you to + set Wireless LAN specific parameters and get the specific stats. + . + This is a udeb of the wireless tools. --- wireless-tools-29.orig/debian/post-down +++ wireless-tools-29/debian/post-down @@ -0,0 +1,60 @@ +#!/bin/sh + +IWCONFIG=/sbin/iwconfig + +if [ ! -x $IWCONFIG ]; then + exit 0 +fi + +if [ -n "$IF_WIRELESS_MODE" ]; then + $IWCONFIG "$IFACE" mode auto +fi + +if [ -n "$IF_WIRELESS_AP" ]; then + $IWCONFIG "$IFACE" ap off +fi + +if [ -n "$IF_WIRELESS_RATE" ]; then + $IWCONFIG "$IFACE" rate auto +fi + +if [ -n "$IF_WIRELESS_RTS" ]; then + $IWCONFIG "$IFACE" rts auto +fi + +if [ -n "$IF_WIRELESS_FRAG" ]; then + $IWCONFIG "$IFACE" frag auto +fi + +if [ -n "$IF_WIRELESS_POWER" ]; then + $IWCONFIG "$IFACE" power off +fi + +if [ -n "$IF_WIRELESS_TXPOWER" ]; then + $IWCONFIG "$IFACE" txpower auto +fi + +if [ -n "$IF_WIRELESS_ENC" ]; then + $IWCONFIG "$IFACE" enc off +fi + +if [ -n "$IF_WIRELESS_KEY" ]; then + $IWCONFIG "$IFACE" key off +fi + +if [ -n "$IF_WIRELESS_DEFAULTKEY" ]; then + $IWCONFIG "$IFACE" key off +fi + +if [ -n "$IF_WIRELESS_NWID" ]; then + $IWCONFIG "$IFACE" nwid off +fi + +if [ -n "$IF_WIRELESS_ESSID" ]; then + $IWCONFIG "$IFACE" essid any +fi + +if [ -n "$IF_WIRELESS_COMMIT" ]; then + $IWCONFIG "$IFACE" commit +fi + --- wireless-tools-29.orig/rfkill/COPYING +++ wireless-tools-29/rfkill/COPYING @@ -0,0 +1,15 @@ +Copyright 2009 Johannes Berg +Copyright 2009 Marcel Holtmann +Copyright 2009 Tim Gardner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --- wireless-tools-29.orig/rfkill/rfkill.c +++ wireless-tools-29/rfkill/rfkill.c @@ -0,0 +1,297 @@ +/* + * rfkill userspace tool + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "rfkill.h" +#include "core.h" + +static void rfkill_event(void) +{ + struct rfkill_event event; + struct pollfd p; + ssize_t len; + int fd, n; + + fd = open("/dev/rfkill", O_RDONLY); + if (fd < 0) { + perror("Can't open RFKILL control device"); + return; + } + + memset(&p, 0, sizeof(p)); + p.fd = fd; + p.events = POLLIN | POLLHUP; + + while (1) { + n = poll(&p, 1, -1); + if (n < 0) { + perror("Failed to poll RFKILL control device"); + break; + } + + if (n == 0) + continue; + + len = read(fd, &event, sizeof(event)); + if (len < 0) { + perror("Reading of RFKILL events failed"); + break; + } + + if (len != RFKILL_EVENT_SIZE_V1) { + fprintf(stderr, "Wrong size of RFKILL event\n"); + continue; + } + + printf("RFKILL event: idx %u type %u op %u soft %u hard %u\n", + event.idx, event.type, event.op, + event.soft, event.hard); + } + + close(fd); +} + +static const char *get_name(__u32 idx) +{ + static char name[128]; + ssize_t len; + char *pos, filename[64]; + int fd; + + snprintf(filename, sizeof(filename) - 1, + "/sys/class/rfkill/rfkill%u/name", idx); + + fd = open(filename, O_RDONLY); + if (fd < 0) + return NULL; + + memset(name, 0, sizeof(name)); + len = read(fd, name, sizeof(name) - 1); + + pos = strchr(name, '\n'); + if (pos) + *pos = '\0'; + + close(fd); + + return name; +} + +static const char *type2string(enum rfkill_type type) +{ + switch (type) { + case RFKILL_TYPE_ALL: + return "All"; + case RFKILL_TYPE_WLAN: + return "Wireless LAN"; + case RFKILL_TYPE_BLUETOOTH: + return "Bluetooth"; + case RFKILL_TYPE_UWB: + return "Ultra-Wideband"; + case RFKILL_TYPE_WIMAX: + return "WiMAX"; + case RFKILL_TYPE_WWAN: + return "Wireless WAN"; + case RFKILL_TYPE_GPS: + return "GPS"; + case NUM_RFKILL_TYPES: + return NULL; + } + + return NULL; +} + +static void rfkill_list(void) +{ + struct rfkill_event event; + const char *name; + ssize_t len; + int fd; + + fd = open("/dev/rfkill", O_RDONLY); + if (fd < 0) { + perror("Can't open RFKILL control device"); + return; + } + + if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0) { + perror("Can't set RFKILL control device to non-blocking"); + close(fd); + } + + while (1) { + len = read(fd, &event, sizeof(event)); + if (len < 0) { + if (errno == EAGAIN) + break; + perror("Reading of RFKILL events failed"); + break; + } + + if (len != RFKILL_EVENT_SIZE_V1) { + fprintf(stderr, "Wrong size of RFKILL event\n"); + continue; + } + + if (event.op != RFKILL_OP_ADD) + continue; + + name = get_name(event.idx); + + printf("%u: %s: %s\n", event.idx, name, + type2string(event.type)); + printf("\tSoft blocked: %s\n", event.soft ? "yes" : "no"); + printf("\tHard blocked: %s\n", event.hard ? "yes" : "no"); + } + + close(fd); +} + +static void rfkill_block(bool all, __u32 idx, __u8 block, __u8 type) +{ + struct rfkill_event event; + ssize_t len; + int fd; + + fd = open("/dev/rfkill", O_RDWR); + if (fd < 0) { + perror("Can't open RFKILL control device"); + return; + } + + memset(&event, 0, sizeof(event)); + if (!all) { + event.idx = idx; + event.op = RFKILL_OP_CHANGE; + } else { + event.op = RFKILL_OP_CHANGE_ALL; + event.type = type; + } + event.soft = block; + + len = write(fd, &event, sizeof(event)); + if (len < 0) + perror("Failed to change RFKILL state"); + + close(fd); +} + +struct rfkill_type_str { + enum rfkill_type type; + char *name; +}; +static struct rfkill_type_str rfkill_type_strings[] = { + { .type = RFKILL_TYPE_ALL, .name = "all" }, + { .type = RFKILL_TYPE_WLAN, .name = "wifi" }, + { .type = RFKILL_TYPE_BLUETOOTH, .name = "bluetooth" }, + { .type = RFKILL_TYPE_UWB, .name = "uwb" }, + { .type = RFKILL_TYPE_WIMAX, .name = "wimax" }, + { .type = RFKILL_TYPE_WWAN, .name = "wwan" }, + { .type = RFKILL_TYPE_GPS, .name = "gps" }, + { .name = NULL } +}; + +static enum rfkill_type rfkill_str_to_type(char *s) +{ + struct rfkill_type_str *p; + + for (p = rfkill_type_strings; p->name != NULL; p++) { + if ((strlen(s) == strlen(p->name)) && (!strcmp(s,p->name))) + return p->type; + } + return NUM_RFKILL_TYPES; +} + +static const char *argv0; + +#define BLOCK_PARAMS "{,all,wifi,bluetooth,uwb,wimax,wwan,gps}" + +static void usage(void) +{ + fprintf(stderr, "Usage:\t%s [options] command\n", argv0); + fprintf(stderr, "Options:\n"); + fprintf(stderr, "\t--version\tshow version (%s)\n", rfkill_version); + fprintf(stderr, "Commands:\n"); + fprintf(stderr, "\thelp\n"); + fprintf(stderr, "\tevent\n"); + fprintf(stderr, "\tlist\n"); + fprintf(stderr, "\tblock "BLOCK_PARAMS"\n"); + fprintf(stderr, "\tunblock "BLOCK_PARAMS"\n"); +} + +static void version(void) +{ + printf("rfkill %s\n", rfkill_version); +} + +static void do_block_unblock(__u8 block, char *param) +{ + enum rfkill_type t; + __u32 idx; + + if (islower(*param)) { + /* assume alphabetic characters imply a wireless type name */ + t = rfkill_str_to_type(param); + if (t < NUM_RFKILL_TYPES) + rfkill_block(true, 0, block, t); + else + goto err; + } else if (isdigit(*param)) { + /* assume a numeric character implies an index. */ + idx = atoi(param); + rfkill_block(false, idx, block, 0); + } else + goto err; + + return; +err: + fprintf(stderr,"Bogus %sblock argument '%s'.\n",block?"":"un",param); + exit(1); +} + +int main(int argc, char **argv) +{ + /* strip off self */ + argc--; + argv0 = *argv++; + + if (argc > 0 && strcmp(*argv, "--version") == 0) { + version(); + return 0; + } + + if (argc == 0 || strcmp(*argv, "help") == 0) { + usage(); + return 0; + } + + if (strcmp(*argv, "event") == 0) { + rfkill_event(); + } else if (strcmp(*argv, "list") == 0) { + rfkill_list(); + } else if (strcmp(*argv, "block") == 0 && argc > 1) { + argc--; + argv++; + do_block_unblock(1,*argv); + } else if (strcmp(*argv, "unblock") == 0 && argc > 1) { + argc--; + argv++; + do_block_unblock(0,*argv); + } else { + usage(); + return 1; + } + + return 0; +} --- wireless-tools-29.orig/rfkill/core.h +++ wireless-tools-29/rfkill/core.h @@ -0,0 +1,8 @@ +#ifndef __CORE +#define __CORE + +#include "rfkill.h" + +extern const char rfkill_version[]; + +#endif --- wireless-tools-29.orig/rfkill/rfkill.1 +++ wireless-tools-29/rfkill/rfkill.1 @@ -0,0 +1,36 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH RFKILL 1 "July 10, 2009" +.SH NAME +rfkill \- tool for enabling and disabling wireless devices +.SH SYNOPSIS +.B rfkill +.RI [ options ] " command" +.SH OPTIONS +.TP +.B \-\-version +Show the version of rfkill. +.SH COMMANDS +.TP +.B help +Show rfkill's built-in help text. +.TP +.B event +Listen for rfkill events and display them on stdout. +.TP +.B list +List the current state of all available rfkill-using devices. +.TP +.BI block " index|type" +Disable the device corresponding to the given index. +\fItype\fR is one of "all", "wifi", "bluetooth", "uwb", "wimax", "wwan" or "gps". +.TP +.BI unblock " index|type" +Enable the device corresponding to the given index. If the device is +hard-blocked, e.g. via a hardware switch, it will remain unavailable though +it is now soft-unblocked. +.SH AUTHORS +rfkill was originally written by Johannes Berg +and Marcel Holtmann . +.PP +This manual page was written by Darren Salt , +for the Debian project (and may be used by others). --- wireless-tools-29.orig/rfkill/version.sh +++ wireless-tools-29/rfkill/version.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +VERSION="0.3" +OUT="$1" + +if head=`git rev-parse --verify HEAD 2>/dev/null`; then + git update-index --refresh --unmerged > /dev/null + descr=$(git describe 2>/dev/null || echo "v$VERSION") + + # on git builds check that the version number above + # is correct... + [ "${descr%%-*}" = "v$VERSION" ] || exit 2 + + echo -n 'const char rfkill_version[] = "' > "$OUT" + v="${descr#v}" + if git diff-index --name-only HEAD | read dummy ; then + v="$v"-dirty + fi +else + v="$VERSION" +fi + +echo "const char rfkill_version[] = \"$v\";" > "$OUT" --- wireless-tools-29.orig/rfkill/Makefile +++ wireless-tools-29/rfkill/Makefile @@ -0,0 +1,58 @@ +MAKEFLAGS += --no-print-directory + +PREFIX ?= /usr +BINDIR ?= $(PREFIX)/bin +MANDIR ?= $(PREFIX)/share/man + +MKDIR ?= mkdir -p +INSTALL ?= install +CC ?= "gcc" + +CFLAGS ?= -O2 -g +CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration + +OBJS = rfkill.o version.o +ALL = rfkill + +ifeq ($(V),1) +Q= +NQ=true +else +Q=@ +NQ=echo +endif + +all: $(ALL) + +VERSION_OBJS := $(filter-out version.o, $(OBJS)) + +version.c: version.sh $(patsubst %.o,%.c,$(VERSION_OBJS)) rfkill.h Makefile \ + $(wildcard .git/index .git/refs/tags) + @$(NQ) ' GEN ' $@ + $(Q)sh ./version.sh $@ + +%.o: %.c rfkill.h + @$(NQ) ' CC ' $@ + $(Q)$(CC) $(CFLAGS) -c -o $@ $< + +rfkill: $(OBJS) + @$(NQ) ' CC ' rfkill + $(Q)$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o rfkill + +check: + $(Q)$(MAKE) all CC="REAL_CC=$(CC) CHECK=\"sparse -Wall\" cgcc" + +%.gz: % + @$(NQ) ' GZIP' $< + $(Q)gzip < $< > $@ + +install: rfkill rfkill.1.gz + @$(NQ) ' INST rfkill' + $(Q)$(MKDIR) $(DESTDIR)$(BINDIR) + $(Q)$(INSTALL) -m 755 -t $(DESTDIR)$(BINDIR) rfkill + @$(NQ) ' INST rfkill.1' + $(Q)$(MKDIR) $(DESTDIR)$(MANDIR)/man1/ + $(Q)$(INSTALL) -m 644 -t $(DESTDIR)$(MANDIR)/man1/ rfkill.1.gz + +clean: + $(Q)rm -f rfkill *.o *~ *.gz version.c *-stamp --- wireless-tools-29.orig/rfkill/rfkill.h +++ wireless-tools-29/rfkill/rfkill.h @@ -0,0 +1,387 @@ +#ifndef __RFKILL_H +#define __RFKILL_H + +/* + * Copyright (C) 2006 - 2007 Ivo van Doorn + * Copyright (C) 2007 Dmitry Torokhov + * Copyright 2009 Johannes Berg + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include + +/* define userspace visible states */ +#define RFKILL_STATE_SOFT_BLOCKED 0 +#define RFKILL_STATE_UNBLOCKED 1 +#define RFKILL_STATE_HARD_BLOCKED 2 + +/** + * enum rfkill_type - type of rfkill switch. + * + * @RFKILL_TYPE_ALL: toggles all switches (userspace only) + * @RFKILL_TYPE_WLAN: switch is on a 802.11 wireless network device. + * @RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device. + * @RFKILL_TYPE_UWB: switch is on a ultra wideband device. + * @RFKILL_TYPE_WIMAX: switch is on a WiMAX device. + * @RFKILL_TYPE_WWAN: switch is on a wireless WAN device. + * @NUM_RFKILL_TYPES: number of defined rfkill types + */ +enum rfkill_type { + RFKILL_TYPE_ALL = 0, + RFKILL_TYPE_WLAN, + RFKILL_TYPE_BLUETOOTH, + RFKILL_TYPE_UWB, + RFKILL_TYPE_WIMAX, + RFKILL_TYPE_WWAN, + RFKILL_TYPE_GPS, + NUM_RFKILL_TYPES, +}; + +/** + * enum rfkill_operation - operation types + * @RFKILL_OP_ADD: a device was added + * @RFKILL_OP_DEL: a device was removed + * @RFKILL_OP_CHANGE: a device's state changed -- userspace changes one device + * @RFKILL_OP_CHANGE_ALL: userspace changes all devices (of a type, or all) + */ +enum rfkill_operation { + RFKILL_OP_ADD = 0, + RFKILL_OP_DEL, + RFKILL_OP_CHANGE, + RFKILL_OP_CHANGE_ALL, +}; + +/** + * struct rfkill_event - events for userspace on /dev/rfkill + * @idx: index of dev rfkill + * @type: type of the rfkill struct + * @op: operation code + * @hard: hard state (0/1) + * @soft: soft state (0/1) + * + * Structure used for userspace communication on /dev/rfkill, + * used for events from the kernel and control to the kernel. + */ +struct rfkill_event { + __u32 idx; + __u8 type; + __u8 op; + __u8 soft, hard; +} __packed; + +/* + * We are planning to be backward and forward compatible with changes + * to the event struct, by adding new, optional, members at the end. + * When reading an event (whether the kernel from userspace or vice + * versa) we need to accept anything that's at least as large as the + * version 1 event size, but might be able to accept other sizes in + * the future. + * + * One exception is the kernel -- we already have two event sizes in + * that we've made the 'hard' member optional since our only option + * is to ignore it anyway. + */ +#define RFKILL_EVENT_SIZE_V1 8 + +/* ioctl for turning off rfkill-input (if present) */ +#define RFKILL_IOC_MAGIC 'R' +#define RFKILL_IOC_NOINPUT 1 +#define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT) + +/* and that's all userspace gets */ +#ifdef __KERNEL__ +/* don't allow anyone to use these in the kernel */ +enum rfkill_user_states { + RFKILL_USER_STATE_SOFT_BLOCKED = RFKILL_STATE_SOFT_BLOCKED, + RFKILL_USER_STATE_UNBLOCKED = RFKILL_STATE_UNBLOCKED, + RFKILL_USER_STATE_HARD_BLOCKED = RFKILL_STATE_HARD_BLOCKED, +}; +#undef RFKILL_STATE_SOFT_BLOCKED +#undef RFKILL_STATE_UNBLOCKED +#undef RFKILL_STATE_HARD_BLOCKED + +#include +#include +#include +#include +#include +#include + +/* this is opaque */ +struct rfkill; + +/** + * struct rfkill_ops - rfkill driver methods + * + * @poll: poll the rfkill block state(s) -- only assign this method + * when you need polling. When called, simply call one of the + * rfkill_set{,_hw,_sw}_state family of functions. If the hw + * is getting unblocked you need to take into account the return + * value of those functions to make sure the software block is + * properly used. + * @query: query the rfkill block state(s) and call exactly one of the + * rfkill_set{,_hw,_sw}_state family of functions. Assign this + * method if input events can cause hardware state changes to make + * the rfkill core query your driver before setting a requested + * block. + * @set_block: turn the transmitter on (blocked == false) or off + * (blocked == true) -- ignore and return 0 when hard blocked. + * This callback must be assigned. + */ +struct rfkill_ops { + void (*poll)(struct rfkill *rfkill, void *data); + void (*query)(struct rfkill *rfkill, void *data); + int (*set_block)(void *data, bool blocked); +}; + +#if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) +/** + * rfkill_alloc - allocate rfkill structure + * @name: name of the struct -- the string is not copied internally + * @parent: device that has rf switch on it + * @type: type of the switch (RFKILL_TYPE_*) + * @ops: rfkill methods + * @ops_data: data passed to each method + * + * This function should be called by the transmitter driver to allocate an + * rfkill structure. Returns %NULL on failure. + */ +struct rfkill * __must_check rfkill_alloc(const char *name, + struct device *parent, + const enum rfkill_type type, + const struct rfkill_ops *ops, + void *ops_data); + +/** + * rfkill_register - Register a rfkill structure. + * @rfkill: rfkill structure to be registered + * + * This function should be called by the transmitter driver to register + * the rfkill structure. Before calling this function the driver needs + * to be ready to service method calls from rfkill. + * + * If rfkill_init_sw_state() is not called before registration, + * set_block() will be called to initialize the software blocked state + * to a default value. + * + * If the hardware blocked state is not set before registration, + * it is assumed to be unblocked. + */ +int __must_check rfkill_register(struct rfkill *rfkill); + +/** + * rfkill_pause_polling(struct rfkill *rfkill) + * + * Pause polling -- say transmitter is off for other reasons. + * NOTE: not necessary for suspend/resume -- in that case the + * core stops polling anyway + */ +void rfkill_pause_polling(struct rfkill *rfkill); + +/** + * rfkill_resume_polling(struct rfkill *rfkill) + * + * Pause polling -- say transmitter is off for other reasons. + * NOTE: not necessary for suspend/resume -- in that case the + * core stops polling anyway + */ +void rfkill_resume_polling(struct rfkill *rfkill); + + +/** + * rfkill_unregister - Unregister a rfkill structure. + * @rfkill: rfkill structure to be unregistered + * + * This function should be called by the network driver during device + * teardown to destroy rfkill structure. Until it returns, the driver + * needs to be able to service method calls. + */ +void rfkill_unregister(struct rfkill *rfkill); + +/** + * rfkill_destroy - free rfkill structure + * @rfkill: rfkill structure to be destroyed + * + * Destroys the rfkill structure. + */ +void rfkill_destroy(struct rfkill *rfkill); + +/** + * rfkill_set_hw_state - Set the internal rfkill hardware block state + * @rfkill: pointer to the rfkill class to modify. + * @state: the current hardware block state to set + * + * rfkill drivers that get events when the hard-blocked state changes + * use this function to notify the rfkill core (and through that also + * userspace) of the current state. They should also use this after + * resume if the state could have changed. + * + * You need not (but may) call this function if poll_state is assigned. + * + * This function can be called in any context, even from within rfkill + * callbacks. + * + * The function returns the combined block state (true if transmitter + * should be blocked) so that drivers need not keep track of the soft + * block state -- which they might not be able to. + */ +bool rfkill_set_hw_state(struct rfkill *rfkill, bool blocked); + +/** + * rfkill_set_sw_state - Set the internal rfkill software block state + * @rfkill: pointer to the rfkill class to modify. + * @state: the current software block state to set + * + * rfkill drivers that get events when the soft-blocked state changes + * (yes, some platforms directly act on input but allow changing again) + * use this function to notify the rfkill core (and through that also + * userspace) of the current state. + * + * Drivers should also call this function after resume if the state has + * been changed by the user. This only makes sense for "persistent" + * devices (see rfkill_init_sw_state()). + * + * This function can be called in any context, even from within rfkill + * callbacks. + * + * The function returns the combined block state (true if transmitter + * should be blocked). + */ +bool rfkill_set_sw_state(struct rfkill *rfkill, bool blocked); + +/** + * rfkill_init_sw_state - Initialize persistent software block state + * @rfkill: pointer to the rfkill class to modify. + * @state: the current software block state to set + * + * rfkill drivers that preserve their software block state over power off + * use this function to notify the rfkill core (and through that also + * userspace) of their initial state. It should only be used before + * registration. + * + * In addition, it marks the device as "persistent", an attribute which + * can be read by userspace. Persistent devices are expected to preserve + * their own state when suspended. + */ +void rfkill_init_sw_state(struct rfkill *rfkill, bool blocked); + +/** + * rfkill_set_states - Set the internal rfkill block states + * @rfkill: pointer to the rfkill class to modify. + * @sw: the current software block state to set + * @hw: the current hardware block state to set + * + * This function can be called in any context, even from within rfkill + * callbacks. + */ +void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw); + +/** + * rfkill_blocked - query rfkill block + * + * @rfkill: rfkill struct to query + */ +bool rfkill_blocked(struct rfkill *rfkill); +#else /* !RFKILL */ +static inline struct rfkill * __must_check +rfkill_alloc(const char *name, + struct device *parent, + const enum rfkill_type type, + const struct rfkill_ops *ops, + void *ops_data) +{ + return ERR_PTR(-ENODEV); +} + +static inline int __must_check rfkill_register(struct rfkill *rfkill) +{ + if (rfkill == ERR_PTR(-ENODEV)) + return 0; + return -EINVAL; +} + +static inline void rfkill_pause_polling(struct rfkill *rfkill) +{ +} + +static inline void rfkill_resume_polling(struct rfkill *rfkill) +{ +} + +static inline void rfkill_unregister(struct rfkill *rfkill) +{ +} + +static inline void rfkill_destroy(struct rfkill *rfkill) +{ +} + +static inline bool rfkill_set_hw_state(struct rfkill *rfkill, bool blocked) +{ + return blocked; +} + +static inline bool rfkill_set_sw_state(struct rfkill *rfkill, bool blocked) +{ + return blocked; +} + +static inline void rfkill_init_sw_state(struct rfkill *rfkill, bool blocked) +{ +} + +static inline void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw) +{ +} + +static inline bool rfkill_blocked(struct rfkill *rfkill) +{ + return false; +} +#endif /* RFKILL || RFKILL_MODULE */ + + +#ifdef CONFIG_RFKILL_LEDS +/** + * rfkill_get_led_trigger_name - Get the LED trigger name for the button's LED. + * This function might return a NULL pointer if registering of the + * LED trigger failed. Use this as "default_trigger" for the LED. + */ +const char *rfkill_get_led_trigger_name(struct rfkill *rfkill); + +/** + * rfkill_set_led_trigger_name -- set the LED trigger name + * @rfkill: rfkill struct + * @name: LED trigger name + * + * This function sets the LED trigger name of the radio LED + * trigger that rfkill creates. It is optional, but if called + * must be called before rfkill_register() to be effective. + */ +void rfkill_set_led_trigger_name(struct rfkill *rfkill, const char *name); +#else +static inline const char *rfkill_get_led_trigger_name(struct rfkill *rfkill) +{ + return NULL; +} + +static inline void +rfkill_set_led_trigger_name(struct rfkill *rfkill, const char *name) +{ +} +#endif + +#endif /* __KERNEL__ */ + +#endif /* RFKILL_H */ --- wireless-tools-29.orig/rfkill/README +++ wireless-tools-29/rfkill/README @@ -0,0 +1,12 @@ + +This is 'rfkill', a tool to use /dev/rfkill. + + +To build rfkill, just enter 'make'. + +'rfkill' is currently maintained at http://git.sipsolutions.net/rfkill.git/, +some more documentation is available at +http://wireless.kernel.org/en/users/Documentation/rfkill. + +Please send all patches to Johannes Berg +and CC linux-wireless@vger.kernel.org for community review. --- wireless-tools-29.orig/cs/iwconfig.8 +++ wireless-tools-29/cs/iwconfig.8 @@ -257,7 +257,7 @@ (tím se nezmìní aktuální klíè). Je také mo¾né zadat klíè jako øetìzec ASCII znakù pomocí pøedpony .I s: -. Passphrase není v souèasnosti podporovaná. +Passphrase není v souèasnosti podporovaná. .br Pro urèení, který klíè má být aktivní, se vlo¾í .I [index] @@ -281,7 +281,7 @@ Pokud je tøeba nastavit více klíèù, nebo nastavit klíè a urèit aktivní klíè, je nutné pou¾ít více pøepínaèù .B key -. Parametry mohou být v jakémkoliv poøadí, poslední má pøednost. +Parametry mohou být v jakémkoliv poøadí, poslední má pøednost. .br .B Pøíklady: .br @@ -310,7 +310,7 @@ .IR "timeout `hodnota'" . Je také mo¾né pøidat modifikátory .IR min " a " max -. Hodnoty znamenají poèet sekund, pro urèení v milisekundách +Hodnoty znamenají poèet sekund, pro urèení v milisekundách nebo mikrosekundách se pou¾ije pøípona m nebo u. Nìkdy jsou tyto hodnoty bez jednotek (poèet období mezi beacons a podobnì). .br @@ -375,7 +375,7 @@ .br je také mo¾né pøidat modifikátory .IR min " a " max -. Pokud karta podporuje automatický re¾im, urèují tyto modifikátory rozmezí pro limit nebo lifetime. +Pokud karta podporuje automatický re¾im, urèují tyto modifikátory rozmezí pro limit nebo lifetime. Nìkteré karty definují rùzné hodnoty v závislosti na velikosti paketù, napø. v 802.11 urèuje .I min limit