4min

Tags in dit artikel

,

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
2
3
4
5
6
7
8
9
10
11
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
2
#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
1
$sudo ndiswrapper -m
Ndiswrapper wordt dan toegevoegd in de map /etc/modprobe.d/. Je wlan zal nu met ndiswrapper geladen worden. Tijd om te configureren!

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
2
3
4
5
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
1
#echo "alias wlan0 <naam_driver>" >> /etc/modprobe.conf
Bij de volgende boot zal de wlan met driver geladen worden.
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
2
3
4
5
6
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
2
#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
2
#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.