Installatie van drivers in het systeem.
De eerste hobbel is nu genomen: we hebben de chipset van de wifi-kaart geïdentificeerd en we hebben er een passende driver bij gevonden, hetzij via de repositories, via online package-databases, via de chipset-fabrikant of via ndiswrapper.De volgende stap is nu om de drivers in het systeem te laden en te koppelen aan de wifi-kaart, zodat we bij het opstarten van de pc niet steeds weer de wifi-kaart moeten instellen. De wijze, waarop dit gebeurt, is afhankelijk van de distributie die je hebt geïnstalleerd. Vandaar dat we hier onderscheid maken tussen Ubuntu en Fedora.
Ubuntu: Drivers en ndiswrapper als kernelmodule laden bij het booten
Drivers als kernelmodule laden
De driver moet nu nog met de hardware geassocieerd worden. Ubuntu herkent namelijk wel de hardware, maar kan het apparaat nog niet aan de juiste software koppelen. Daarom voeren we eerst dit commando uit (een deel van de output staat eronder) om te controleren of de PCI-kaart of USB-dongle wordt herkend:
PHP Code
1 | sudo lshw [..] *-network description: Wireless interface physical id: 2 logical name: wlan0 serial: 00:1c:10:69:98:d3 capabilities: ethernet physical wireless configuration: broadcast=yes ip=192.168.1.30 multicast=yes wireless=IEEE 802.11g [..] |
Uit (een deel van de) output hierboven kun je opmaken dat het wifi-apparaat bekend is onder de naam ‘wlan0’. Dat gaan we dus ook in het verdere verloop gebruiken.
Mocht je de driver via synaptic of een .deb-package geïnstalleerd hebben, dan hoef je meestal niets meer te doen. Controleer in /etc/modprobe.d/aliases of je wlan0 correct in de lijst voorkomt. Is dat niet het geval of je hebt de drivers met de broncode geïnstalleerd, zoek dan met ‘lsmod’ de juiste benaming van de driver en voeg dan de volgende regel onderaan toe in /etc/modules, wanneer je gebruik gaat maken van NetworkManager:
PHP Code
1 | <naam_driver> |
Mocht je NetworkManager niet willen gebruiken, dan is het verstandig om in /etc/modprobe.d/aliases een regel toe te voegen:
PHP Code
1 | alias wlan0 <naam_driver> |
Je wlan zal nu met de juiste driver geladen worden. Tijd om te configureren!
ndiswrapper als kernelmodule laden
Als de driver goed geinstalleerd is, is het nodig om de driver als kernelmodule te laden:
PHP Code
1 | #depmod -a #modprobe ndiswrapper |
Om te controleren dat de kernelmodule correct is ingeladen, voer je het volgende command in:
PHP Code
1 | #dmesg | grep ndiswrapper |
Als er nu een output is met een regel ‘wlan0: ndiswrapper [..]’ is de kernelmodule correct geladen. Wanneer de voorgaande stappen goed zijn doorlopen en je gebruikt het netwerk via NetworkManager, dan moet er aan /etc/modules onderaan het bestand een regel toegevoegd worden met:
PHP Code
1 | ndiswrapper |
Niet meer en niet minder. Gebruik je NetworkManager niet, dan is het nodig om het volgende commando uit te voeren:
PHP Code
Ndiswrapper wordt dan toegevoegd in de map /etc/modprobe.d/. Je wlan zal nu met ndiswrapper geladen worden. Tijd om te configureren!1 | $sudo ndiswrapper -m |
Fedora: Drivers en ndiswrapper als kernelmodule laden bij het booten
Drivers als kernelmodule laden
De drivers moeten nu nog met de hardware geassocieerd worden. Fedora herkent namelijk wel de hardware, maar kan het apparaat nog niet aan de juiste software koppelen. Daarom kijken we eerst in het bestand /etc/sysconfig/hwconf om te kijken hoe de kaart of USB-dongle bekend staan. Zoek naar een vergelijkbare tekst als deze:
PHP Code
1 | class: NETWORK bus: PCI (of USB) detached: 0 device: wlan0 [..] |
Nu weten we dat de wlan bekend staat onder de naam ‘wlan0’. Dat gaan we dus ook in het verdere verloop gebruiken.
Als je yum ofeen rpm-package hebt gebruikt voor de installatie van een driver, hoef je meestal niets meer te doen. Controleer in /etc/modprobe.conf of er een alias verwijst naar je wlan. Is dat niet het geval, zoek dan met ‘lsmod’ de juiste benaming van de driver en voeg dan een regel toe aan /etc/modprobe.conf:
PHP Code
Bij de volgende boot zal de wlan met driver geladen worden.1 | #echo "alias wlan0 <naam_driver>" >> /etc/modprobe.conf |
Wanneer je echter een source-pakket zelf gecompileerd en gebuild hebt, zul je het bovenstaande commando zeker moeten uitvoeren. Maak vervolgens het bestand ‘ifcfg-wlan0’ aan in /etc/sysconfig/network-scripts/ met de volgende inhoud:
PHP Code
1 | TYPE=Wireless DEVICE=wlan0 ONBOOT=yes USERCTL=yes PEERDNS=yes RATE=54Mb/s |
Dit is nog zeer basaal, maar zal later aangevuld worden met meer informatie.
ndiswrapper als kernelmodule laden
Als de driver goed geïnstalleerd is, is het nodig om de driver als kernelmodule te laden:
PHP Code
1 | #depmod -a #modprobe ndiswrapper |
Om te controleren dat de kernelmodule correct is ingeladen, voer je het volgende command in:
PHP Code
1 | #dmesg | grep ndiswrapper |
Als er nu een output is met een regel ‘wlan0: ndiswrapper [..]’ is de kernelmodule correct geladen. Het is nu zaak dat ndiswrapper bij elke boot automatisch als kernelmodule geladen wordt en daarbij gekoppeld is aan je wlan:
PHP Code
1 | #ndiswrapper -ma #echo "alias wlan0 ndiswrapper" >> /etc/modprobe.conf |
Hiermee is je wlan geïnstalleerd via ndiswrapper. De volgende stap is het configureren van je netwerk.