Hardware doet het of niet, en in het laatste geval moet je het gewoon vervangen. Althans, dat is de gedachtegang van menig gebruiker. Maar toch hoef je je zeker niet meteen neer te leggen bij een haperende PC. We laten je hier zien hoe je zonder al te veel moeite grip krijgt op algemeen voorkomende problemen.  

Serge Gielkens

Hardware behoort plug-and-play te zijn. Je koopt het, monteert of stopt het in je PC en klaar ben je. Als het toch niet functioneert, is voor velen de enige mogelijke redding een reboot van het systeem. Werkt het daarna nog steeds niet, dan is het einde oefening.

Dat is op zich niet zo vreemd, omdat de computer een black box lijkt. Toch is dat niet het geval. Op Linux heb je juist allerlei tools om informatie over je hardware in te winnen. Daarmee en met wat speurwerk krijg je die weerbarstige pc vaak alsnog aan de gang.

Hardware info

Randapparatuur sluit je tegenwoordig normaal gesproken via USB aan. Om na te gaan of Linux deze hardware eigenlijk wel herkent, gebruik je het commando lsusb. Installeer daarvoor het pakket usbutils. Wil je het naadje van de kous weten, gebruik dan de optie -v. Daarmee krijg je alle mogelijke detailinformatie.

Check in de uitvoer of je device erbij staat. Zo niet, dan heeft Linux er waarschijnlijk geen drivers voor. Ga dan op de website van de fabrikant na of zij de benodigde drivers leveren. Nog beter is het natuurlijk om dit vooraf na te gaan. Een soortgelijk commando heb je voor uitbreidingskaarten, namelijk lspci van het pakket pciutils. Ook hier krijg je details via de optie -v. Voor een uitputtende lijst gebruik je in plaats daarvan -vv. Dit commando toont tevens informatie over chipsets op je moederbord, waaronder die voor audio en netwerkcontrollers. Dit komt even verderop nog van pas.

Om snel inzicht te krijgen in de staat van je netwerkinterfaces gebruik je ip link. Hierin staat normaliter altijd een interface die begint met en. Dat is je ethernetaansluiting. Wireless interfaces beginnen met de letters wl. Ontbreekt een interface, check dan met de commando’s van hierboven of Linux de hardware correct detecteert.

Heb je liever een grafische applicatie in plaats van commando’s? Geen zorgen, alle populaire desktops bieden een app voor het totaaloverzicht van je hardware. Zo vind je bij KDE als tool KInfocentre (afbeelding 1). Ga daar via het menu links naar USB Devices om vergelijkbare informatie zoals hierboven met lsusb in te winnen. Zit je op Mint, kies dan in het startmenu Administration -> System Reports. Selecteer vervolgens de optie System information.

Alle hardware op een rij.

Check firmware

Mogelijk herkent Linux het device wel, maar ontbreekt de zogenoemde firmware op je systeem. Dat is software die direct de hardware aanstuurt. De firmware brengt als het ware het device tot leven, zodat het besturingssysteem vervolgens via zijn driver instructies kan geven. Linux heeft weliswaar standaard al veel firmware aan boord, maar soms heb je voor bepaalde apparatuur een extra pakket nodig. Controleer dat met je pakketmanager. Zoek daar naar pakketten met het woord firmware in de naam. Zo werkt op onze laptop wifi alleen maar als het pakket iwl7260-firmware geïnstalleerd is. Hierbij slaat iwl7260 op een bepaalde Intel wireless chipset. Dat gegeven levert het hierboven genoemde lspci.

Logging

De Linux kernel houdt in logs bij hoe de communicatie met hardware verloopt. Om die te zien, gebruik je het commando dmesg -w. De optie -w zorgt ervoor dat nieuwe meldingen onderaan je scherm verschijnen. Als je nu bijvoorbeeld een USB-apparaat aansluit, zie je meteen of Linux overweg kan met je device. Als alternatief voor dmesg heb je journalctl, onderdeel van systemd dat tegenwoordig alle populaire distributies gebruiken. Gebruik in dat geval de optie -k om te filteren op kernelberichten en voeg -f toe, zodat nieuwe meldingen in de uitvoer blijven verschijnen. Ook hier zijn er grafische applicaties. Zo heb je voor de GNOME-desktop het pakket gnome-logs. Kies daar links in het menu de optie Hardware. KDE biedt zijn eigen variant met KSystemlog. Hier klik je bovenin op Kernel Log.

Informatie uit de logging.

Conflictsituatie

In het algemeen biedt Linux voldoende ondersteuning voor je hardware. Sommige fabrikanten leveren daarnaast hun eigen drivers. Je ziet dit met name bij grafische kaarten. In geval van Nvidia heb je dan als standaard Linux driver nouveau. Daarmee heb je in ieder geval een werkende kaart, maar helaas geen optimale prestaties. Gamers willen juist het maximale uit hun videokaart halen en kiezen daarom de alternatieve driver van Nvidia. Na installatie daarvan wil je game soms nog steeds niet soepel draaien. Controleer dan of de kernel toch niet de standaard Linux driver heeft geladen:

lsmod | grep nouveau

Staat die in de uitvoer, dan forceer je het laden van de Nvidia driver door de nouveau-module op een zwarte lijst te zetten. Ga daartoe naar de volgende directory:

/etc/modprobe.d

Maak hier een bestandje aan met de extensie .conf, bijvoorbeeld mijn_nouveau.conf, en voeg daar deze regel aan toe:

blacklist nouveau

Voer nu een reboot uit om de Nvidia driver te laden, en gamen maar!

Valkuilen

Soms is het een compleet raadsel. Gisteren deed wifi het nog, nu ineens niet meer. Voordat je het hele systeem overhoop haalt, ga je eerst na of je niet per ongeluk met een bepaalde functietoets draadloos internet hebt uitgeschakeld. Zo heeft onze laptop daarvoor een combinatie van de toetsen Fn met F11. Ook subtiele knopjes komen voor. Een andere valkuil is UEFI (vaak nog steeds ten onrechte BIOS genoemd). Krijg je het netwerk of de webcam maar niet aan de praat, dan loont het om de boot-instellingen na te gaan. Voer daarvoor een herstart uit en druk tijdens het booten een speciale toets in. Welke dat is, hangt af van de fabrikant. Vaak gebruikt zijn F2, F12 en Del. Voor het netwerk zoek je vervolgens naar settings in de trant van Onboard LAN.

UEFI kan ook je videokaart in de weg zitten. Als je namelijk behalve de grafische chipset op je moederbord ook nog een aparte videokaart hebt, dan hindert dat mogelijk Linux om de grafische kaart te gebruiken. Zoek dan in de UEFI-configuratie de optie om alleen de videokaart te activeren. Dat kan behoorlijk cryptisch omschreven zijn. Zo moeten we op ons systeem bij de geavanceerde instellingen de optie MSHybrid veranderen in Discrete.

Conclusie

In dit artikel heb je gezien dat hardwareproblemen zeker niet onoverkomelijk zijn. Met enkele commando’s en applicaties kom je vaak al snel op het juiste spoor. De oplossing is dan ineens een stuk dichterbij dan je verwacht had.