Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Parametry niezbędne dla sieci bezprzewodowej http://forum.freesco.pl/viewtopic.php?f=22&t=6226 |
Strona 1 z 1 |
Autor: | Mis' [ wtorek, 21 grudnia 2004, 20:15 ] |
Tytuł: | Parametry niezbędne dla sieci bezprzewodowej |
Jakie parametry są niezbędne dla działania sieci bezprzewodowej? Najnowsza wersja net_conf ma mieć wbudowaną obsługę dostępu do internetu poprzez sieć bezprzewodową i musimy wiedzieć jakie parametry ma zawierać script startowy. Jak na razie wydaje się, że iwconfig wymaga podania: 1. interface 2. essid 3. chanel 4. mode 5. rate czy to wszystko? czy może któryś z tych parametrów jest zbędny? Dodatkowo prosiłbym o podanie jakie wartości mogą przyjmować poszczególne parametry. |
Autor: | gizmo5418 [ wtorek, 21 grudnia 2004, 21:08 ] |
Tytuł: | |
Witam !!! Najważniejsze to interface,essid,channel. channel - numer kanału od 1 do 13 rate - jeżeli się nie poda to jest ustawiany jako auto, natomiast przy linku na większą odległość warto podać. (wartości zależą są od karty, dla Ralinka: 1M , 2M , 5.5M , 11M). Przed linijką z parametrem rate warto na parę sekund (dla pewności do 5 sekund)zatrzymać wykonywanie skryptu. Spowodowane to jest tym, że karta przy łączeniu z punktem dostępowym potrzebuje trochę czasu na zestawienie połączenia i wynegocjowanie przędkości połączenia. Jeżeli ktoś na sztywno chce ustawić prędkość połączenia, to parametr rate musi być ustawiony dopiero po zestawieniu połączenia z punktem dostępowym (nie wiem dlaczego tak jest, ale u mnie tak było). mode - jeżeli się nie poda to karta pracuje jako klient punktu dostępowego Jeśli natomiast w sieci bezprzewodowej stosuje się szyfrowanie WEP to potrzebny będzie jeszcze parametr za to odpowiedzialny A najlepiej jak będą wszystkie wymienione uwzględnione w skrypcie. Mam nadzieje, że nie namieszałem za bardzo. Z Linuxem i NND mam do czynienia od całkiem niedawna. Pozdrawiam. |
Autor: | suhopar [ wtorek, 21 grudnia 2004, 22:47 ] |
Tytuł: | |
Z gory przepraszam ze az tyle wklejam ale narazie nie mam gdzie tego wrzucic ![]() Skrypt pochodzi ze sterownikow do kart radiowych prawdopodobnie zawiera wiekszosc ustawien karty #!/bin/bash ######################################### # start_net script # # acx100 project # # acx100.sourceforge.net # # edited by arnie <urnotwelcome@gmx.de> # ######################################### # with modifications by craig # # summary at end of file # ######################################### # Please edit below # syntax is: VARIABLENAME=VALUE, with _no_ spaces in between # make sure to _preserve_ any double-quotes (") # text beginning with the comment delimiter (#) is ignored # make sure to _preserve_ at least one space before any # comment delimiters (#) that do not begin a line # "uncommenting" a line means to remove it's leading "#" character ESSID="Your_ESSID" # THIS IS CASE SeNsItIvE!! any == associate to any ESSID # Default rate configured as 11Mbps to not cause speed problems (while # using auto rate) or connection problems (while not using auto rate) # with non-22Mbps hardware... RATE=22M AUTORATE=1 # only disable auto rate if you know what you're doing... CHAN=2 # it's useful to try to stick to channels 1, 6 or 11 only, since these don't overlap with other channels SHORTPREAMBLE=1 # set a value of 1 in order to force "Short Preamble" (incompatible with very old WLAN hardware!) instead of peer autodetect TXPOWER=19 # 0..20 (dBm) (18dBm is firmware default) overly large setting might perhaps destroy your radio eventually! MODE=Managed # Managed for infrastructure, Ad-hoc for peer-to-peer, or Auto to auto-select depending on environment DEBUG=0xb # 0xffff for maximum debug info, 0 for none # WEP Key(s) # ascii keys (passphrase) should look like this: KEY="s:asciikey" # hex keys should look like this: KEY="4378c2f43a" # most wep users will want to use this line KEY="" # [ *** NOTE ***: WEP still doesn't work with acx111 cards yet! ] # alternatively, you can uncomment and use these lines to # set all 4 possible WEP keys #KEY1="1234567890" #WEP64 #KEY2="1234567890" #KEY3="1234567890" #KEY4="1234567890" # you must select which of the 4 keys above to use here: #KEY="[1]" # for KEY1, "[2]" for KEY2, etc ALG=open # open == Open System, restricted == Shared Key #IP address USE_DHCP=0 # set to 1 for auto configuration instead of fixed IP setting IP=10.4.4.1 # set this if you did not set USE_DHCP=1 NETMASK=255.255.255.0 # set this if you did not set USE_DHCP=1 GATEWAY=0.0.0.0 # set this if you did not set USE_DHCP=1 LED_OFF=1 # set to 1 to turn off the power LED to save power MTU_576=0 # set to 1 if you have buffer management problems # DO NOT EDIT BELOW THIS LINE ################################################################## if test "$UID" != "0"; then echo "You are not root. To insert the module into your kernel, you need to be root. Enter su and try again. Bailing..."; exit 1; fi SYNC=`which sync` INSMOD=`which insmod` IFCONF=`which ifconfig` IWCONF=`which iwconfig` IWPRIV=`which iwpriv` ROUTE=`which route` SCRIPT_AT=`dirname $0` # while we check for all 3, we run them in this # "preferred" order: dhcpcd, pump, dhclient # so if more than one exists it's ok which dhcpcd &> /dev/null if [ $? -eq 0 ]; then DHCPCD=`which dhcpcd`; fi which pump &> /dev/null if [ $? -eq 0 ]; then PUMP=`which pump`; fi which dhclient &> /dev/null if [ $? -eq 0 ]; then DHCLIENT=`which dhclient`; fi if test -z "$SYNC"; then echo "sync not found. Go get a sane Linux system. Bailing..."; exit 1; fi if test -z "$INSMOD"; then echo "insmod not found. Go get a sane Linux system. Bailing..."; exit 1; fi if test -z "$IFCONF"; then echo "ifconfig not found. I can insert the module for you, but you won't be able to configure your interface."; CONTINUE=ASK; fi if test -z "$IWCONF"; then echo "iwconfig not found. Make sure it is installed. The interface might work without, though."; CONTINUE=ASK; fi if test -n "$CONTINUE"; then echo -n "Problems encountered. Do you want to continue? [n] "; read ANSWER case $ANSWER in ( y | Y | Yes | YES | yes | j | J | ja | Ja | JA ) ;; ( * ) exit 1 ;; esac fi case "`uname -r`" in 2.4*) MODULE_AT="${SCRIPT_AT}/../src/acx_pci.o" ;; *) MODULE_AT="${SCRIPT_AT}/../src/acx_pci.ko" ;; esac if test ! -r "$MODULE_AT"; then echo "Module not found or not readable. Have you built it? This script expects it to be at ../src/acx_pci.[k]o, relative to the script's location. Bailing..."; exit 1; fi # FIRMWARE_AT has to be given as an absolute path!! FIRMWARE_AT="${SCRIPT_AT}/../firmware" # check whether either of the two required main firmware files is # available in our acx100/firmware directory: if test ! -r "$FIRMWARE_AT/WLANGEN.BIN" -a ! -r "$FIRMWARE_AT/TIACX111.BIN"; then # nope no firmware there, let's also look in the # *default* directory: /usr/share/acx, before bailing, shall we? FIRMWARE_AT="/usr/share/acx" if test ! -r "$FIRMWARE_AT/WLANGEN.BIN" -a ! -r "$FIRMWARE_AT/TIACX111.BIN"; then echo "Firmware not found or not readable. Have you placed it in the firmware directory or run make extract_firmware once? This script expects it to be either at ../firmware/WLANGEN.BIN (or ../firmware/TIACX111.BIN for the ACX111 chip), relative to the script's location, OR have you placed it in the default directory:/usr/share/acx?. Bailing..."; exit 1; fi fi if test $AUTORATE != "1"; then if test "$RATE" != "11M"; then echo "Transfer rate is not set to 11 Mbps, but $RATE (and not using auto rate either). If something doesn't work, try 11 Mbps or auto rate."; fi fi test "$AUTORATE" = "1" && AUTO=auto || AUTO= # for better debugging # set -x #echo 8 > /proc/sys/kernel/printk # just in case ;) $SYNC sleep 1 DEV=wlan0 # this may become wlan1, wlan2, etc depending on if any other wlanX devices are found if test -n "`lsmod | grep acx_pci`"; then ${SCRIPT_AT}/stop_net;fi # now that the interface is "down", let's also check for and remove # those *really* old modules that might be supplied with some distributions lsmod | grep acx100_pci &> /dev/null if test "$?" = "0"; then rmmod acx100_pci; echo "NOTICE: Found a very old version of the driver loaded (acx100_pci), removing." # we could also add the old module's name to the blacklist, though this # only benefits hotplug devices and might be considered invasive # echo acx100_pci >> /etc/hotplug/blacklist fi # before inserting the module, let's check for the presence of existing wlan devices # and if necessary, adjust our $DEV variable to be wlan1, wlan2, etc. # these could be other wireless drivers' devs, or the device created by acx_usb MAX_WLANS=9 # failsafe break counter while true do # at this point $DEV is always "wlan0" $IFCONF $DEV &> /dev/null if test "$?" = "0"; then echo -n "$DEV exists, " DIGIT=`echo $DEV | cut -d 'n' -f 2` DIGIT=`expr $DIGIT + 1` DEV="wlan${DIGIT}" echo -n "trying $DEV..." else echo "using $DEV." break fi # failsafe break if test $MAX_WLANS -eq 0; then break;fi MAX_WLANS=`expr $MAX_WLANS - 1` done $INSMOD $MODULE_AT debug=$DEBUG firmware_dir=$FIRMWARE_AT if test "$?" = "0"; then echo "Module successfully inserted."; else echo "Error while inserting module! Bailing..."; exit 1; fi # before we get too involved in trying to setup $DEV, let's verify that it exists $IFCONF $DEV &> /dev/null if test "$?" = "0"; then # $DEV exists if test -n "$IWCONF"; then if test -n "$RATE"; then echo Setting rate to $RATE $AUTO. $IWCONF $DEV rate $RATE $AUTO test "$?" != "0" && echo Failed. fi if test -n "$CHAN"; then echo Setting channel $CHAN. $IWCONF $DEV channel $CHAN test "$?" != "0" && echo Failed. fi if test -n "$SHORTPREAMBLE"; then echo Setting short preamble to $SHORTPREAMBLE. $IWPRIV $DEV SetSPreamble $SHORTPREAMBLE test "$?" != "0" && echo Failed. sleep 1 fi if test -n "$TXPOWER"; then echo Setting Tx power level to $TXPOWER dBm. $IWCONF $DEV txpower $TXPOWER test "$?" != "0" && echo Failed. sleep 1 fi echo Going to try to join or setup ESSID $ESSID. $IWCONF $DEV essid "$ESSID" test "$?" != "0" && echo Failed. if test -n "$MODE"; then echo Setting mode to $MODE. $IWCONF $DEV mode $MODE test "$?" != "0" && echo Failed. fi if test -n "$KEY1"; then echo Setting key 1 to $KEY1, algorithm $ALG. $IWCONF $DEV key $ALG "$KEY1" [1] test "$?" != "0" && echo Failed. fi if test -n "$KEY2"; then echo Setting key 2 to $KEY2, algorithm $ALG. $IWCONF $DEV key $ALG "$KEY2" [2] test "$?" != "0" && echo Failed. fi if test -n "$KEY3"; then echo Setting key 3 to $KEY3, algorithm $ALG. $IWCONF $DEV key $ALG "$KEY3" [3] test "$?" != "0" && echo Failed. fi if test -n "$KEY4"; then echo Setting key 4 to $KEY4, algorithm $ALG. $IWCONF $DEV key $ALG "$KEY4" [4] test "$?" != "0" && echo Failed. fi # this is now placed after the "KEY%D" stuff # to support the "KEY=[1]" option if test -n "$KEY"; then echo Setting key to $KEY, algorithm $ALG. $IWCONF $DEV key $ALG "$KEY" test "$?" != "0" && echo Failed. fi fi # end "if found(iwconfig)" # for notebook use - a power LED is sooo useless anyway ;-)) if test "$LED_OFF" -eq 1; then test -n "$IWPRIV" && "$IWPRIV" $DEV SetLEDPower 0 echo Setting power LED to off. fi # It shouldn't hurt to bring the device up, and dhcp seems to like it that way $IFCONF $DEV up sleep 1 # if they want dhcp or they've set to managed mode, then we # take up to 10 seconds to wait for something to show up # in iwconfig besides zeros, we don't want to give the user # the wrong impression re: success/failure and mainly we don't # want to bother with a dhcp attempt without association # we could also use /proc/driver/acx_$DEV instead ?? # check MODE for some form of the word "managed", case-insensitive echo $MODE | grep -ic managed &> /dev/null if test "$?" = "0" -o $USE_DHCP -eq 1; then # begin test for association WAIT_ASSOC=10 echo -n "Waiting for association..." while true do echo -n "$WAIT_ASSOC " if test "`$IWCONF $DEV | grep -c 00:00:00:00:00:00`" = "0"; then echo "OK." # ok, have association, now verify that the card associated with # the desired AP, it could easily have found a stray linksys instead ;^} if test -n "$ESSID"; then echo "$ESSID" | grep -ic any &> /dev/null # don't bother checking "essid=any" if test "$?" = "0" -a "`$IWCONF $DEV | grep -c $ESSID`" = "0"; then echo "NOTICE: $DEV associated, but NOT with $ESSID!" fi fi break fi WAIT_ASSOC=`expr $WAIT_ASSOC - 1` if test "$WAIT_ASSOC" = "0"; then echo FAILED. # if they wanted dhcp, tell them the bad news if test $USE_DHCP -eq 1; then echo "Error: $DEV failed to associate, can't use DHCP for IP address." USE_DHCP=0; fi break fi # we *could* issue an iwconfig here at the end of each loop: # $IWCONF $DEV essid $ESSID # I'm not sure if it would help or hinder...it isn't necessary w/my hardware sleep 1 # give it a second done fi # end test for association, if mode=managed or USE_DHCP=1 if test $USE_DHCP -eq 1; then # now we fetch an IP address from DHCP # first, try dhcpcd: if test -n "$DHCPCD"; then echo -n "Attempting to use $DHCPCD for DHCP, this may take a moment..." rm -f /etc/dhcpc/dhcpcd-$DEV.pid > /dev/null $DHCPCD -d $DEV -t 5 &> /dev/null if test "$?" = "0"; then echo "OK." echo "Interface has been set up successfully."; else echo "FAILED" fi # no dhcpcd was found, next we try pump: elif test -n "$PUMP"; then echo -n "Attempting to use $PUMP for DHCP, this may take a moment..." $PUMP -i $DEV &> /dev/null if test "$?" = "0"; then echo "OK." echo "Interface has been set up successfully."; else echo "FAILED" fi # no dhcpcd or pump was found, finally we try dhclient; elif test -n "$DHCLIENT"; then echo -n "Attempting to use $DHCLIENT for DHCP, this may take a moment..." rm -f /var/run/dhclient.pid $DHCLIENT $DEV &> /dev/null if test "$?" = "0"; then echo "OK." echo "Interface has been set up successfully."; else echo "FAILED" fi else # dhcpcd, pump, and dhclient not found, inform user and bail echo "ERROR: USE_DHCP=1 , but no dhcp clients could be found" echo "Bailing..." exit 1; fi #end check for usable dhcp client else # wants manual config # Hehe, this can be done after iwconfigs now :) $IFCONF $DEV $IP netmask $NETMASK if test "$?" != "0"; then echo "Error in \"$IFCONF $DEV $IP netmask $NETMASK\". Bailing..."; exit 1; else echo "Interface has been set up successfully."; test -n "$GATEWAY" && $ROUTE add default gw $GATEWAY $DEV fi fi # end if USE_DHCP=1 # ugly workaround for buffer management problems if test "$MTU_576" -eq 1; then echo "Setting mtu down to 576. NOTE that e.g. IPv6 would need >= 1280, so make sure you're doing the right thing here!" test -n "$IFCONF" && "$IFCONF" $DEV mtu 576 if test "$?" != "0"; then echo "Error in \"$IFCONF $DEV mtu 576\". Bailing..."; exit 1; fi fi else # $DEV is not found by ifconfig echo "Error: Failed to create device: $DEV...bailing." exit 1; fi # end test for $DEV exists # just in case ;) $SYNC ############################################################## # summary of craig's changes to pf33's start_net: # added SET_LED and MTU_576 vars, moved DEV below the do-not-edit line # changed KEY0-KEY3 vars to KEY1-KEY4 to match iwconfig's scheme # added a line for selecting a numbered key eg: "KEY=[1]" # moved setting wep key to last in the order for above to work # added attempt to automagically find/use a dhcp client # added checking for firmware in /usr/share/acx before bailing # check for and unload the old acx100_pci module if present # don't assume $DEV is going to always be wlan0 (needs more work) # don't assume that $DEV exists, even after a successful module load # if MODE=managed || USE_DHCP=1, wait for association # upon assoc, test for correct SSID if one was specified # added $DEV to route add default gw command ############################################################## # end of file |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |