Wireless

Fra Debianguiden
Skift til: Navigation, Søgning

For mange der kører Linux på laptops, kan det være et problem at få det trådløse net til at virke.

Oftest ligger problemet i, at hardware vendorerne ikke tilbyder drivere til andet end Windows - og ofte kan især bærbare pc'ers hardware volde problemer med Linuxkernen og trådløse netkort.

Løsningerne på problemerne er ofte meget indviklede og indebærer en hel del 3.parts software og tidskrævende compiles af suspekte programmer. Men sådan behøver det ikke at være i Debian. Her kan du i bedste tilfælde faktisk få dit net til at virke helt uden at compile noget som helst!

Som det første skal du blive klar over, hvilket trådløst netkort du er i besiddelse af. Det kunne være du var så heldig, at der allerede fandtes en linux-driver til dit netkort på nettet.

Forberedelse

Undersøg om du har en kerne nyere end 2.6.8 (se hvordan du tjekker det her: Udskiftning af kernen)

Er din kerne nyere end den, og dit netkort er et forholdsvist kendt mærke, har din kerne højst sandsynligt allerede opdaget at netkortet eksisterer.

Man kan tage en søgning i kernens ringbuffer efter noget med 'wireless':

debian:~# dmesg |grep -i wireless
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, git-1.0.8
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

Her er netkortet fundet. Er dette tilfældet behøver du ikke at bekymre dig om drivere og wrappere, og du kan springe ned til Opsætning af netværket

Wrapping af driver

Findes dit netkort ikke, er fremgangsmåden at tage en windows-driver og 'wrappe' den til linux. Dette gøres med programmet ndiswrapper.

Til dette formål skal du bruge nogle pakker, nemlig ndiswrapper-utils og ndiswrapper-modules. NB: I skrivende stund (11/03-06) er der ikke pakket ndiswrapper-modules til nyere kerner end 2.6.8, og den nyeste stabile kerne er 2.6.15, du kan enten vælge at køre med 2.6.8, eller du kan hente ndiswrapper-source samt kernel-source pakkerne, og compile en ny version af ndiswrapper-modules, som passer til netop din kerne.

apt-get install ndiswrapper-modules-2.6.8-2-686
apt-get install ndiswrapper-utils

Hernæst skal du lokalisere en Windows driver til dit netkort. Det kan være på en medfølgende CD-ROM, diskette eller et websted for hardwareproducenten. Windowsdriver-filer har en .INF extension, så det er sådan en du skal lede efter. Når dette er gjort, kører du:

ndiswrapper -i DRIVER.inf

Tjek om det virker efter hensigten, ved at skrive:

ndiswrapper -l

Det skulle gerne give en liste som ligner denne:

Installed ndis drivers:
lsbcmnds        driver present
lsipnds driver present, hardware present
wmp11nds        driver present

Hvis der står hardware present, er det lykkedes.

Pakken ndiswrapper-modules blev installeret før, men det har ikke direkte loadet modulet, i stedet har den givet en fil der kan bruges til det, nemlig ndiswrapper.ko.

insmod lib/modules/`uname -r`/misc/ndiswrapper.ko

Bemærk: `uname -r` erstattes af din kerneversion ved eksekvering. Dette skal du KUN gøre hvis din kerne er ældre eller den samme som 2.6.8. Hvis din kerne er nyere skal du følge anvisningerne højere oppe.

Opsætning af netværket

Installér pakken wireless-tools

apt-get install wireless-tools

Denne pakke bidrager med en hel masse hjælpeværktøjer, blandt andet programmet iwconfig, der minder om linux' ifconfig. iwconfig vil vise de trådløse netværksinterfaces og ved at lukke for et eventuelt serielt netværksinterface kan du lade det trådløse tage over:

ifdown eth0

Med hensyn til trådløs kryptering, bringer iwconfig muligheder for alle disse. Hvis din router kører med WEP/WPA eller lignende kryptering, kan du ikke kommunikere med den fra din server, før du har auth'et det derfra.

Dette skal gøres fra terminalen, og en simpel kommando som:

iwconfig wlan0 key password_her

Tildel dig selv en IP:

dhclient wlan0

Forbindelse ved opstart

Som det er nu, vil det kræve man kører disse kommandoer manuelt hver gang computeren startes, dette er uoptimalt, og det er derfor foretrukket at lade Debian køre disse kommandoer under opstarten.

Dette har Debian et udemærket tool til, kaldet update-rc.d'. Læs om hvordan du bruger det på Opstartsfiler

Et muligt script kunne se således ud:

#!/bin/sh
#/etc/init.d/initwlan
#

# Some things that run always
# touch /var/lock/blah

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "************************"
    echo "Starting script iniwlan "
    echo "Shutting down eth0"
    ifdown eth0
    echo "... sleeping..."
    sleep 2
    echo "Sending passphrase"
    iwconfig eth1 key s:password_her
    echo "... sleeping again..."
    sleep 2
    echo "Trying to get DHCP...."
    dhclient eth1
    echo "**** ENDING ****"
    ;;
  stop)
    echo "***** STOPPING SCRIPT ****"
    echo "Stopping script initwlan"
    ifdown eth0
    ;;
  *)
    echo "Usage: /etc/init.d/initwlan {start|stop}"
    exit 1
    ;;
esac

exit 0