⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wlan-ng

📁 Linux的无线局域网方案是一个Linux设备驱动程序和子系统 一揽子方案的用意是提供全系列的IEEE 802.11标准的Mac 管理功能
💻
字号:
#! /bin/sh## etc/pcmcia/wlan-ng## Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.# --------------------------------------------------------------------## linux-wlan##   The contents of this file are subject to the Mozilla Public#   License Version 1.1 (the "License"); you may not use this file#   except in compliance with the License. You may obtain a copy of#   the License at http://www.mozilla.org/MPL/##   Software distributed under the License is distributed on an "AS#   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or#   implied. See the License for the specific language governing#   rights and limitations under the License.##   Alternatively, the contents of this file may be used under the#   terms of the GNU Public License version 2 (the "GPL"), in which#   case the provisions of the GPL are applicable instead of the#   above.  If you wish to allow the use of your version of this file#   only under the terms of the GPL and not to allow others to use#   your version of this file under the MPL, indicate your decision#   by deleting the provisions above and replace them with the notice#   and other provisions required by the GPL.  If you do not delete#   the provisions above, a recipient may use your version of this#   file under either the MPL or the GPL.## --------------------------------------------------------------------## Inquiries regarding the linux-wlan Open Source project can be# made directly to:## AbsoluteValue Systems Inc.# info@linux-wlan.com# http://www.linux-wlan.com## --------------------------------------------------------------------## Portions of the development of this software were funded by # Intersil Corporation as part of PRISM(R) chipset product development.## --------------------------------------------------------------------# [MSM]: Moved here because wlan/shared may is intended to be used by #  other scriptswlan_usage (){    echo "usage: wlan-ng [action] [device name] [debug]"    echo "  actions: start|resume, stop|suspend, check|cksum|restart"    echo "  debug  : enables shell debug"    exit 1}if [ "$3" = "debug" ]; then set -x ; fi# Note: this 'shared' comes with the WLAN packageif [ -f /etc/wlan/shared ]; then . /etc/wlan/shared ; fi# [MSM]: This test supplied by rlazarev, it's commented out due to pcmcia#   stab file movement.  This test needs to be 'functionized' and made a#   little more robust.#if [ ! -f /var/run/stab ] ; then#	echo "Error: Possibly PCMCIA CS is not started";#	wlan_usage;#	exit 1;#fi# If number of args is less than 2 display usageif [ $# -lt 2 ]; then wlan_usage ; fi# Note: this 'shared' comes with the PCMCIA package# ACTION=$1 and DEVICE=$2 are assigned in pcmcia/sharedif [ -f /etc/pcmcia/shared ] ; then . /etc/pcmcia/shared ; fi# Get device attributesget_info $DEVICEHWADDR=`/sbin/ifconfig $DEVICE | sed -n -e 's/.*addr \(.*\)/\1/p'`# Load site-specific settingsADDRESS="$SCHEME,$SOCKET,$INSTANCE,$HWADDR". $0.optsif [ -x /sbin/wlanctl-ng ] ; then WLANCTL=/sbin/wlanctl-ng ; ficase "$ACTION" in'start'|'resume')	#=======ENABLE========================================	# Do we want to init the card at all?	if ! is_true $WLAN_ENABLE ; then		exit 0	fi	#=======DOWNLOAD======================================	# If the card needs code/data downloaded, do it.	if is_true $WLAN_DOWNLOAD; then		if ! $WLAN_DOWNLOADER -r $WLAN_DLIMAGE $DEVICE ; then			echo Code/Data Download Failed.			exit 1		fi	fi	#=======ENABLE IFSTATE=============================	# Bring the device into its operable state	result=`$WLANCTL $DEVICE lnxreq_ifstate ifstate=enable`	if [ $? = 0 ] ; then		eval $result		if [ $resultcode != "success" ]; then			echo \				"Failed to enable the device, resultcode=" \				$resultcode "."			exit 1		fi	else		echo "Failed to enable the device, exitcode=" $? "."		exit 1	fi	#=======USER MIB SETTINGS=============================	# Set the user specified MIB items.	for i in $USER_MIBS ; do		result=`$WLANCTL $DEVICE dot11req_mibset "mibattribute=$i"`		if [ $? = 0 ] ; then			eval $result			if [ $resultcode != "success" ] ; then 				echo "Failed to set user MIB $i."				exit 1			fi		else			echo "Failed to set user MIB $i."			exit 1		fi	done	#=======WEP===========================================	# Setup privacy	result=`$WLANCTL $DEVICE dot11req_mibget mibattribute=dot11PrivacyOptionImplemented`	if [ $? = 0 ] ; then		eval $result		eval $mibattribute	else		echo "mibget failed."		exit 1	fi	if [ $dot11PrivacyOptionImplemented = "false" -a \	     $dot11PrivacyInvoked = "true" ] ; then		echo "Cannot enable privacy, dot11PrivacyOptionImplemented=false."		exit 1	fi	if [ $dot11PrivacyOptionImplemented = "true" -a \	     $dot11PrivacyInvoked = "true" ] ; then		$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11WEPDefaultKeyID=$dot11WEPDefaultKeyID		$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11ExcludeUnencrypted=$dot11ExcludeUnencrypted		$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11PrivacyInvoked=$dot11PrivacyInvoked		if [ "${PRIV_GENSTR:-empty}" != "empty" ] ; then			if [ ${PRIV_KEY128:-"false"} = "false" ]; then				keys=`$PRIV_GENERATOR "$PRIV_GENSTR" 5`			else				keys=`$PRIV_GENERATOR "$PRIV_GENSTR" 13`			fi			knum=0			for i in $keys ; do				$WLANCTL $DEVICE dot11req_mibset \				mibattribute=dot11WEPDefaultKey$knum=$i				knum=$[$knum + 1]			done		else 			$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11WEPDefaultKey0=$dot11WEPDefaultKey0			$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11WEPDefaultKey1=$dot11WEPDefaultKey1			$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11WEPDefaultKey2=$dot11WEPDefaultKey2			$WLANCTL $DEVICE dot11req_mibset \			mibattribute=dot11WEPDefaultKey3=$dot11WEPDefaultKey3		fi	fi	#=======MAC STARTUP=========================================	if is_true $IS_ADHOC ; then			#=======IBSS STARTUP==================================		startcmd="$WLANCTL $DEVICE dot11req_start "		startcmd="$startcmd ssid=$SSID"		startcmd="$startcmd bsstype=independent"		startcmd="$startcmd beaconperiod=$BCNINT" 		startcmd="$startcmd dtimperiod=3"		startcmd="$startcmd cfpollable=false"		startcmd="$startcmd cfpollreq=false"		startcmd="$startcmd cfpperiod=3"		startcmd="$startcmd cfpmaxduration=100"		startcmd="$startcmd probedelay=100"		startcmd="$startcmd dschannel=$CHANNEL"		j=1		for i in $BASICRATES ; do			startcmd="$startcmd basicrate$j=$i"			j=$[j + 1]		done		j=1		for i in $OPRATES ; do			startcmd="$startcmd operationalrate$j=$i"			j=$[j + 1]		done		results=`$startcmd`	# Here's where it runs		if [ $? = 0 ]; then 			eval $results			if [ $resultcode != "success" ] ; then 				echo "IBSS not started, resultcode=$resultcode"				exit 1			else				echo "IBSS mode started."			fi		else			echo FAILED: $startcmd			exit 1		fi		WLAN_SCHEMESSID="$SSID"	else #----------------------------		#======= INFRASTRUCURE STARTUP===========================		results=`$WLANCTL $DEVICE lnxreq_autojoin \			"ssid=$DesiredSSID" authtype=${AuthType:="opensystem"}`		if [ $? = 0 ]; then			eval $results			if [ ${resultcode:-"failure"} != "success" ]; then				echo 'error: Autojoin indicated failure!'				exit 1;			fi		fi		WLAN_SCHEMESSID="$DesiredSSID"	fi	# ==========PCMCIA NETDEVICE=============================	# Append the SSID to the pcmcia scheme name	wlan_set_ssid_schemefile "$WLAN_SCHEMESSID"	# Call the normal network initialization	./network $1 $2	if [ ! $? ] ; then		echo "/etc/pcmcia/network $1 $2 failed."		wlan_restore_schemefile		exit 1	fi		# Restore scheme file to it's prior contents	wlan_restore_schemefile	;;'stop'|'suspend')	if [ IS_ADHOC = 'y' ]; then		WLAN_SCHEMESSID="$SSID"	else		WLAN_SCHEMESSID="$DesiredSSID"	fi	# ==========PCMCIA NETDEVICE=============================	# Append the SSID to the pcmcia scheme name	wlan_set_ssid_schemefile "$WLAN_SCHEMESSID"	# Call the normal network initialization	./network $1 $2	if [ ! $? ] ; then		echo "/etc/pcmcia/network $1 $2 failed."		wlan_restore_schemefile		exit 1	fi		#=======DISABLE IFSTATE=============================	# Take the device down to a quiescent state.	result=`$WLANCTL $DEVICE lnxreq_ifstate ifstate=disable`	if [ $? = 0 ] ; then		eval $result		if [ $resultcode != "success" ]; then			echo \				"Failed to disable the device, resultcode=" \				$resultcode "."			exit 1		fi	else		echo "Failed to enable the device, exitcode=" $? "."		exit 1	fi	# Restore scheme file to it's prior contents	wlan_restore_schemefile	;;'check'|'cksum'|'restart')	# ==========STA ====================================	# Just passes through for normal network device	# behavior.	if [ IS_ADHOC = 'y' ]; then		WLAN_SCHEMESSID="$SSID"	else		WLAN_SCHEMESSID="$DesiredSSID"	fi	# ==========PCMCIA NETDEVICE=============================	# Append the SSID to the pcmcia scheme name	wlan_set_ssid_schemefile "$WLAN_SCHEMESSID"		# Call the normal network initialization	./network $1 $2	if [ ! $? ] ; then		echo "/etc/pcmcia/network $1 $2 failed."		wlan_restore_schemefile		exit 1	fi	# Restore scheme file to it's prior contents	wlan_restore_schemefile	;;*)    usage    ;;esacexit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -