diff options
author | jhb <jhb@FreeBSD.org> | 2008-07-04 18:15:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2008-07-04 18:15:36 +0000 |
commit | cb0b8573c7a8427ae1fc840dfae0a197ed255063 (patch) | |
tree | 4a416c17f565be349b5676a518d2186e34603244 /usr.sbin | |
parent | e06b58767a51f46bbbd0068fee71506856408a28 (diff) | |
download | FreeBSD-src-cb0b8573c7a8427ae1fc840dfae0a197ed255063.zip FreeBSD-src-cb0b8573c7a8427ae1fc840dfae0a197ed255063.tar.gz |
Remove the arl(4) driver. It is reported to not work on 6.x or later
even though the driver hasn't changed since 4.x (last known working
release).
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/Makefile | 2 | ||||
-rw-r--r-- | usr.sbin/arlcontrol/Makefile | 10 | ||||
-rw-r--r-- | usr.sbin/arlcontrol/arlcontrol.8 | 166 | ||||
-rw-r--r-- | usr.sbin/arlcontrol/arlcontrol.c | 430 |
4 files changed, 0 insertions, 608 deletions
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index d6a7fee..61f99c6 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -12,7 +12,6 @@ SUBDIR= ac \ ancontrol \ ${_apm} \ ${_apmd} \ - ${_arlcontrol} \ arp \ ${_asf} \ ${_atm} \ @@ -317,7 +316,6 @@ _zzz= zzz .if ${MK_ACPI} != "no" _acpi= acpi .endif -_arlcontrol= arlcontrol _boot0cfg= boot0cfg _wlconfig= wlconfig .elif ${MACHINE} == "pc98" diff --git a/usr.sbin/arlcontrol/Makefile b/usr.sbin/arlcontrol/Makefile deleted file mode 100644 index dc95a93..0000000 --- a/usr.sbin/arlcontrol/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# -# $RISS: if_arl/arlconfig/Makefile,v 1.5 2003/01/13 08:05:29 frol Exp $ -# $FreeBSD$ -# - -PROG= arlcontrol -CFLAGS+= -I${.CURDIR}/../../sys -DARLCACHE -MAN= arlcontrol.8 - -.include <bsd.prog.mk> diff --git a/usr.sbin/arlcontrol/arlcontrol.8 b/usr.sbin/arlcontrol/arlcontrol.8 deleted file mode 100644 index d0e5409..0000000 --- a/usr.sbin/arlcontrol/arlcontrol.8 +++ /dev/null @@ -1,166 +0,0 @@ -.\" Copyright (c) 2004 -.\" <ran@styx.aic.net>. All right reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by <ran@styx.aic.net> -.\" 4. Neither the name of the author nor the names of any co-contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY ran@styx.aic.net AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL <ran@styx.aic.net> OR THE VOICES IN HIS -.\" HEAD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -.\" THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd March 15, 2004 -.Dt ARLCONTROL 8 i386 -.Os -.Sh NAME -.Nm arlcontrol -.Nd configure Aironet Arlan 655 device -.Sh SYNOPSIS -.Nm -.Ar iface -.Nm -.Ar iface Cm country Ar country Pq Cm 9 Ns - Ns Cm 15 -.Nm -.Ar iface Cm priority Ar priority Pq Cm normal , high , highest -.Nm -.Ar iface Cm txretry Ar txretry -.Nm -.Ar iface Cm stat -.Nm -.Ar iface Cm quality -.Sh DESCRIPTION -The -.Nm -utility controls the operation of Aironet Arlan 655 wireless networking -devices via the -.Xr arl 4 -driver. -Most of the parameters that can be changed are related to the -Aironet protocol which the Aironet Arlan 655 card implements. -The -.Nm -utility can also be used to view the current NIC status, configuration, -and to dump out the values of the card's statistics counters. -.Pp -The -.Ar iface -argument given to -.Nm -should be the logical interface name associated with the Aironet Arlan 655 -device -.Li ( arl0 , arl1 , -etc.) and must be specified. -.Sh OPTIONS -The options are as follows: -.Bl -tag -width indent -.It Ar iface -Display current settings of the specified wireless interface. -This retrieves current card settings from the driver and prints -them out. -.It Ar iface Cm country Ar country Pq Cm 9 Ns - Ns Cm 15 -Chose -.Ar country , channel -parameters that depend on the -.Ar country -according to the following table: -.Bl -column ".No North America" ".Em Channel" ".Em MHz" -.Em "Country Ch_Set MHz" -.It "North America" Ta 9 Ta "2412, 2427, 2442, 2457, 2465" -.It "U.S.A" Ta 9 Ta "2412, 2427, 2442, 2457, 2465" -.It "Canada" Ta 9 Ta "2412, 2427, 2442, 2457, 2465" -.It "Mexico" Ta 9 Ta "2412, 2427, 2442, 2457, 2465" -.It "New Zealand" Ta 9 Ta "2412, 2427, 2442, 2457, 2465" -.It "E.T.S.I" Ta 10 Ta "2412, 2427, 2442, 2457, 2472" -.It "Japan" Ta 11 Ta "2484" -.It "France" Ta 12 Ta "2457, 2465, 2475" -.It "Australia" Ta 13 Ta "2411, 2425, 2439" -.It "Germany" Ta 14 Ta "2427, 2442, 2457" -.It "U.K.(MPT1349)" Ta 15 Ta "2460" -.It "U.K." Ta 15 Ta "2460" -.It "Spain" Ta 15 Ta "2460" -.El -.It Ar iface Cm priority Ar priority Pq Cm normal , high , highest -Use the -.Ar priority -parameter to set the priority of the Arlan 655 Radio Media Access Control -the values are -.Cm normal , high -or -.Cm highest . -The higher the priority is set, the more likely this unit will be the first -to successfully transmit a packet when multiple units are trying -to transmit at the same time. -.Pp -The percentage of units on your network that you set to values other than -.Cm normal -should be kept small - 10 percent or less. -.It Ar iface Cm txretry Ar txretry -Set transmit retries. -Default is 0. -.It Ar iface Cm stat -Print internal Arlan 655 statistics block. -.It Ar iface Cm quality -Display the cached signal level and quality maintained by the -.Xr arl 4 -driver. -The driver retains information about quality and level for packets -received from different hosts. -Also the driver extracts values from ACK packets. -.El -.Sh EXAMPLES -.Bd -literal -offset indent -arlcontrol arl0 country 11 priority high -arlcontrol arl0 quality -arlcontrol arl0 stat -arlcontrol arl0 -.Ed -.Pp -You can configure the Arlan 655 card from -.Pa /etc/start_if.arl0 . -For example: -.Bd -literal -offset indent -#!/bin/sh -/usr/sbin/arlcontrol country 9 priority highest -.Ed -.Sh SEE ALSO -.Xr arl 4 -.Rs -.%T "Arlan 655 ISA Wireless LAN Client Card User Guide" -.Re -.Sh HISTORY -The -.Nm -utility first appeared in -.Fx 5.3 . -.Sh AUTHORS -.An -nosplit -The -.Nm -utility was written by -.Aq ran@styx.aic.net . -This manpage was written by -.An Yuri Kurenkov Aq y.kurenkov@init.ru . -.Sh BUGS -Aironet Arlan 640 bridges and Arlan 630 access points do not understand -country codes other than 9. diff --git a/usr.sbin/arlcontrol/arlcontrol.c b/usr.sbin/arlcontrol/arlcontrol.c deleted file mode 100644 index cc45c37..0000000 --- a/usr.sbin/arlcontrol/arlcontrol.c +++ /dev/null @@ -1,430 +0,0 @@ -/* - * $RISS: if_arl/arlconfig/arlconfig.c,v 1.5 2004/03/16 05:00:21 count Exp $ - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <sys/param.h> -#include <sys/socket.h> -#include <sys/ioctl.h> - -#include <net/if.h> -#include <net/ethernet.h> -#include <netinet/in.h> -#include <netinet/if_ether.h> - -#include <err.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <time.h> -#include <unistd.h> -#include <limits.h> - -#include <dev/arl/if_arlreg.h> - -struct freq_list { - short fr_no; - char* name; -}; - -struct freq_list freq_list_1[] = { - { 0, "908.50" }, - { 1, "910.06" }, - { 2, "915.52" }, - { 3, "915.00" }, - { 4, "917.83" }, - { 5, "919.22" }, - { 6, "922.26" }, - { 7, "911.45" }, - { 8, "915.00" }, - { 9, "918.55" }, - { 10,"915.00" }, - { 11,"915.00" } -}; - -struct freq_list freq_list_6[] = { - { 0, "920.31" }, - { 1, "920.33" }, - { 2, "921.55" }, - { 3, "922.17" }, - { 4, "922.79" }, - { 5, "921.46" }, - { 6, "921.55" } -}; - -struct freq_list freq_list_9[] = { - { 0, "Bad" }, - { 1, "2412" }, - { 2, "2427" }, - { 3, "2442" }, - { 4, "2457" }, - { 5, "2465" } -}; - - -struct freq_list freq_list_10[] = { - { 0, "Bad" }, - { 1, "2412" }, - { 2, "2427" }, - { 3, "2442" }, - { 4, "2457" }, - { 5, "2472" } -}; - -struct freq_list freq_list_11[] = { - { 0, "Bad" }, - { 1, "2484" } -}; - -struct freq_list freq_list_12[] = { - { 0, "Bad" }, - { 1, "2457" }, - { 2, "2465" }, - { 3, "2472" }, -}; - -struct freq_list freq_list_13[] = { - { 0, "Bad" }, - { 1, "2411" }, - { 2, "2425" }, - { 3, "2439" } -}; - -struct freq_list freq_list_14[] = { - { 0, "Bad" }, - { 1, "2427" }, - { 2, "2442" }, - { 3, "2457" } -}; - -struct freq_list freq_list_15[] = { - { 0, "Bad" }, - { 1, "2460" } -}; - -#define MAXFREQ(a) sizeof(a)/sizeof(struct freq_list) - -struct rate_list { - short rate_no; - char* name; -}; - -struct rate_list rate_list_2400[] = { - { 0, "Bad" }, - { 1, "354" }, - { 2, "512" }, - { 3, "1000" }, - { 4, "2000" } -}; - -struct radio_type { - int id; - char* name; -} radio_type_list [] = { - { 0, "No EPROM" }, - { 1, "092/094" }, - { 2, "020" }, - { 3, "092A" }, - { 4, "020B" }, - { 5, "095" }, - { 6, "024" }, - { 7, "025B" }, - { 8, "024B" }, - { 9, "024C" }, - {10, "025C" }, - {11, "024-1A" }, - {12, "025-1A" }, - {13, "Other" } -}; - -static struct ch_list { - short chan; - char* fr; - char* country; - struct rate_list* rate; - struct freq_list* freq; - int max_freq; -} CHSET[] = { - { 0, 0, 0, 0, 0, 0 }, - { 1, "900 Mhz", "Canada, U.S.A., Mexico", 0, freq_list_1, MAXFREQ(freq_list_1) }, - { 2, 0, 0, 0, 0, 0 }, - { 3, 0, 0, 0, 0, 0 }, - { 4, 0, 0, 0, 0, 0 }, - { 5, 0, 0, 0, 0, 0 }, - { 6, "900 Mhz", "Australia", 0, freq_list_6, MAXFREQ(freq_list_6) }, - { 7, 0, 0, 0, 0, 0 }, - { 8, 0, 0, 0, 0, 0 }, - { 9, "2400 Mhz", "North America", rate_list_2400, freq_list_9, MAXFREQ(freq_list_9) }, - { 10, "2400 Mhz", "E.T.S.I", rate_list_2400, freq_list_10, MAXFREQ(freq_list_10) }, - { 11, "2400 Mhz", "Japan", rate_list_2400, freq_list_11, MAXFREQ(freq_list_11) }, - { 12, "2400 Mhz", "France", rate_list_2400, freq_list_12, MAXFREQ(freq_list_12) }, - { 13, "2400 Mhz", "Australia", rate_list_2400, freq_list_13, MAXFREQ(freq_list_13) }, - { 14, "2400 Mhz", "Germany", rate_list_2400, freq_list_14, MAXFREQ(freq_list_14) }, - { 15, "2400 Mhz", "U.K.(MPT1349),Spain", rate_list_2400, freq_list_15, MAXFREQ(freq_list_15) } -}; - -char* registrationMode[] = { - "NON-TMA", - "TMA", - "PSP" -}; - -char* priorityList[] = { - "normal", - "high", - "highest" -}; - -void -usage() -{ - const char *progname = getprogname(); - -#if 0 - fprintf(stderr, "\nArlan configuration utility.\n\n"); -#endif - fprintf(stderr, "Usage: %s <ifname> [<param> <value> ...]\n", progname); - fprintf(stderr, "\t<ifname>\tArlan interface name.\n"); - fprintf(stderr, "\t<param>\t\tParameter name (see below).\n"); - fprintf(stderr, "\t<value>\t\tNew value for parameter.\n"); - fprintf(stderr, "Parameter name:\t\tValue:\n"); - fprintf(stderr, "\tcountry\t\tset Country (9-15)\n"); - fprintf(stderr, "\tpriority\tset Priority (normal, high, highest)\n"); - fprintf(stderr, "\ttxretry\t\tset Arlan Tx retry.\n"); - fprintf(stderr, "or: %s <ifname> stat\n", progname); - fprintf(stderr, "\tprint internal arlan statistics block\n"); -#ifdef ARLCACHE - fprintf(stderr,"or: %s <ifname> quality\n", progname); - fprintf(stderr,"\tprint receive packet level and quality\n"); -#endif - exit(0); -} - -void -print_al(struct arl_cfg_param *arl_io) -{ - printf("Arlan-655(IC2000) type 0x%x v%d.%d, radio module type %s\n", - arl_io->hardwareType, - arl_io->majorHardwareVersion, - arl_io->minorHardwareVersion, - (arl_io->radioModule < 13) ? - radio_type_list[arl_io->radioModule].name : "Unknown" ); - printf("\tname %s, sid 0x%06x, mode %s, num tx retry %d\n", - arl_io->name, - *(int *)arl_io->sid, - (arl_io->registrationMode < 3) ? - registrationMode[arl_io->registrationMode]:"Unknown", - arl_io->txRetry ); - printf("\tchannel set %d, %s, %s\n", - arl_io->channelSet, - CHSET[arl_io->channelSet].fr, - CHSET[arl_io->channelSet].country); - printf("\tfrequency %s Mhz, bitrate %s kb/s, priority %s, receive mode %d\n", - (CHSET[arl_io->channelSet].freq && - CHSET[arl_io->channelSet].max_freq > arl_io->channelNumber) ? - CHSET[arl_io->channelSet].freq[arl_io->channelNumber].name : - "unknown", - (CHSET[arl_io->channelSet].rate) ? - CHSET[arl_io->channelSet].rate[arl_io->spreadingCode].name : - "unknown", - arl_io->priority <= 2 ? - priorityList[arl_io->priority] : "unknown", - arl_io->receiveMode); - printf("\tether %s", - (char *)ether_ntoa((struct ether_addr *)arl_io->lanCardNodeId)); - printf(" registered to %s\n", - (char *)ether_ntoa((struct ether_addr *)arl_io->specifiedRouter)); -} - -void -print_stb( struct arl_stats stb ) -{ - printf("Arlan internal statistics block\n\n"); - printf("%8u\tdatagrams transmitted\n", - stb.numDatagramsTransmitted); - printf("%8u\tre-transmitted\n", - stb.numReTransmissions); - printf("%8u\tframes discarded internally in a router\n", - stb.numFramesDiscarded); - printf("%8u\tdatagrams received\n", - stb.numDatagramsReceived); - printf("%8u\tduplicate received frame\n", - stb.numDuplicateReceivedFrames); - printf("%8u\tdatagrams discarded due to unavailable mail box buffer\n", - stb.numDatagramsDiscarded); - printf("%8d\tmaximum of re-transmissions datagram\n", - stb.maxNumReTransmitDatagram); - printf("%8d\tmaximum of re-transmissions frame\n", - stb.maxNumReTransmitFrames); - printf("%8d\tmaximum of consecutive duplicate received frames\n", - stb.maxNumConsecutiveDuplicateFrames); - printf("%8u\tbytes transmitted\n", - stb.numBytesTransmitted); - printf("%8u\tbytes received\n", - stb.numBytesReceived); - printf("%8u\tCRC errors\n", - stb.numCRCErrors); - printf("%8u\tlength errors\n", - stb.numLengthErrors); - printf("%8u\tabort errors\n", - stb.numAbortErrors); - printf("%8u\tTX underuns\n", - stb.numTXUnderruns); - printf("%8u\tRX overruns\n", - stb.numRXOverruns); - printf("%8u\tHold Offs (channel tested busy, tx delayed)\n", - stb.numHoldOffs); - printf("%8u\tframes transmitted\n", - stb.numFramesTransmitted); - printf("%8u\tframes received\n", - stb.numFramesReceived); - printf("%8u\treceive frames lost due unavailable buffer\n", - stb.numReceiveFramesLost); - printf("%8u\tRX buffer overflows \n", - stb.numRXBufferOverflows); - printf("%8u\tframes discarded due to Address mismatch\n", - stb.numFramesDiscardedAddrMismatch); - printf("%8u\tframes discarded due to SID mismatch\n", - stb.numFramesDiscardedSIDMismatch); - printf("%8u\tpolls transmitted\n", - stb.numPollsTransmistted); - printf("%8u\tpoll acknowledges received\n", - stb.numPollAcknowledges); - printf("%8u\tstatus vector timeout\n", - stb.numStatusVectorTimeouts); - printf("%8u\tNACK packets received\n", - stb.numNACKReceived); -} - -#ifdef ARLCACHE -void -print_qlt(struct arl_sigcache *qlt) -{ - int i; - u_int8_t zero[6] = {0, 0, 0, 0, 0, 0}; - - for (i = 0; i < MAXARLCACHE && bcmp(qlt->macsrc, zero, 6); i++) { - printf("[%d]:", i+1); - printf(" %02x:%02x:%02x:%02x:%02x:%02x,", - qlt->macsrc[0]&0xff, - qlt->macsrc[1]&0xff, - qlt->macsrc[2]&0xff, - qlt->macsrc[3]&0xff, - qlt->macsrc[4]&0xff, - qlt->macsrc[5]&0xff); - printf(" rx lvl/qlty: %d/%d,", qlt->level[ARLCACHE_RX], - qlt->quality[ARLCACHE_RX]); - printf(" tx lvl/qlty: %d/%d", qlt->level[ARLCACHE_TX], - qlt->quality[ARLCACHE_TX]); - printf("\n"); - qlt++; - } -} -#endif - -int -main(int argc, char *argv[]) -{ - struct ifreq ifr; - struct arl_req arl_io; - struct ether_addr *ea; - struct arl_stats stb; - struct arl_sigcache qlt[MAXARLCACHE]; - int sd, argind, val = -1; - char *param, *value; - - if (argc < 2) - usage(); - - sd = socket(AF_INET, SOCK_DGRAM, 0); - if (sd < 0) - err(1,"socket"); - strncpy(ifr.ifr_name, argv[1], sizeof(ifr.ifr_name)); - ifr.ifr_addr.sa_family = AF_INET; - bzero(&arl_io, sizeof(arl_io)); - ifr.ifr_data = (caddr_t)&arl_io; - - if (argc == 2) { - if (ioctl(sd, SIOCGARLALL, (caddr_t)&ifr)) - err(1,"Get ALL"); - print_al(&arl_io.cfg); - exit(0); - } - - if (argc == 3) { - if (!strcasecmp(argv[2], "stat")) { - strncpy(ifr.ifr_name, argv[1], sizeof(ifr.ifr_name)); - ifr.ifr_addr.sa_family = AF_INET; - ifr.ifr_data = (caddr_t)&stb; - if (ioctl(sd, SIOCGARLSTB, (caddr_t)&ifr)) - err(1,"Get STB"); - print_stb(stb); - exit(0); - } -#ifdef ARLCACHE - if (!strcasecmp( argv[2],"quality")) { - printf("\n"); - strncpy(ifr.ifr_name, argv[1], sizeof(ifr.ifr_name)); - ifr.ifr_addr.sa_family = AF_INET; - ifr.ifr_data = (caddr_t)qlt; - if (ioctl(sd, SIOCGARLQLT, (caddr_t)&ifr)) - err(1,"Get QLT"); - print_qlt(qlt); - exit(0); - } -#endif - } - - arl_io.what_set = 0; - - for (argind = 2; argind < argc; argind += 2) { - param = argv[argind]; - value = argv[argind+1]; - val = -1; - - if (!strcasecmp(param, "priority")) { - if (!strcasecmp(value, "normal")) - val = 0; - else if (!strcasecmp(value, "high")) - val = 1; - else if (!strcasecmp(value, "highest")) - val = 2; - if (val == -1) - err( 1, "Bad priority - %s", value); - arl_io.cfg.priority = val; - arl_io.what_set |= ARLAN_SET_priority; - } - - if (!strcasecmp(param, "parent")) { - if ((ea = (struct ether_addr*) ether_aton(value)) == NULL) - err (1, "Bad parent's MAC - %s", value); - for (val = 0; val < 6; val++) { - arl_io.cfg.specifiedRouter[val] = - (int) ea->octet[val]; - } - arl_io.what_set |= ARLAN_SET_specifiedRouter; - } - - if (!strcasecmp(param, "country")) { - arl_io.cfg.channelSet = atoi(value); - arl_io.what_set |= ARLAN_SET_channelSet; - } - - if (!strcasecmp(param, "txretry")) { - arl_io.cfg.txRetry = atoi(value); - arl_io.what_set |= ARLAN_SET_txRetry; - } - } - - if (arl_io.what_set) { - if (ioctl(sd, SIOCSARLALL, (caddr_t)&ifr)) - err (1, "Set ALL" ); - if (ioctl(sd, SIOCGARLALL, (caddr_t)&ifr)) - err (1, "Get ALL"); - print_al(&arl_io.cfg); - } - - return 0; -} |