Een bestaan zonder internet kan natuurlijk al lang niet meer. Je moet toch gewoon dat lekkere recept kunnen googelen of even een paar likes geven op de sociale media. Des te frustrerender is het dan als je laptop maar geen verbinding kan krijgen met internet. Hoe speur je nu gestructureerd naar de oorzaak om weer snel verder te kunnen? In dit artikel leggen we je het uit.
Het originele artikel is geschreven door Serge Gielkens.
Mint en andere populaire distributies gebruiken voor de desktopomgeving in het algemeen NetworkManager voor de netwerkverbindingen. Die werkt normaal probleemloos en daarom kijk je daar verder niet naar om. Maar hier laten we het gebruik ervan op de commandoregel zien. Het voordeel is dat je niet allerlei verschillende commando’s hoeft te kennen, maar slechts één, namelijk nmcli. Daarnaast zitten andere tools en NetworkManager elkaar soms in de weg, waardoor je nog verder van huis raakt. Om nmcli te gebruiken heb je geen root-rechten nodig. NetworkManager is namelijk bedoeld om als gewone desktopgebruiker bijvoorbeeld een wifi-verbinding op te zetten.
Neem het zekere voor het onzekere en controleer als eerste of de service van NetworkManager eigenlijk wel draait:
systemctl status NetworkManager
Zo niet, activeer hem dan:
sudo systemctl start NetworkManager
En zorg dat die voortaan bij elke boot opstart:
sudo systemctl enable NetworkManager
Verder werkt NetworkManager met plug-ins voor verschillende soorten netwerkverbindingen. Mint levert de wifi plugin meteen mee met NetworkManager, maar bij Fedora bijvoorbeeld is dat een apart pakket, NetworkManager-wifi genaamd. Controleer daarvoor met de pakketbeheerder of die op je systeem staat. Mocht het pakket ontbreken, verbind dan je pc via een ethernetkabel met de router om hem alsnog te installeren. Maak tot slot de plug-in bekend bij NetworkManager:
sudo systemctl restart NetworkManager
Lukt de verbinding via de ethernetkabel niet of weigert wifi nog steeds, lees dan verder hoe je dat oplost.
Afbeelding 1: Netwerkstatus
Tik het volgende commando in voor een overzicht van netwerk devices op je systeem (afbeelding 1):
nmcli
Ethernetkaarten hebben een naam die begint met de letters ‘en’, terwijl dat voor wifi ‘wl’ is, dat wil zeggen wireless. Zie je die niet, check dan bij de BIOS-instellingen of de functionaliteit voor LAN of WLAN is uitgeschakeld. Helpt dat niet, dan moet je voor ethernet bijna wel concluderen dat er iets mankeert aan de hardware. Voor wifi speelt dan mogelijk een driver probleem, hoewel ook dat tegenwoordig nog maar weinig voorkomt. Aan het eind staat een link naar een lijst met door Linux ondersteunde hardware. Kijk daar of de fabrikant van jouw wifi erbij staat. Mocht je trouwens een USB-dongle gebruiken, probeer dan eerst de wifi van je laptop. Met een dongle loop je namelijk eerder tegen driver problemen aan.
Staat achter de naam van het wifi device ‘unavailable’, dan is wellicht wifi uitgeschakeld. Op veel laptops heb je daarvoor een speciale functietoets. Of misschien heb je op de desktop per ongeluk wifi uitgezet via de network applet in de system tray. Controleer dit op de commandoregel door:
nmcli radio
Als daar bij WIFI ‘disabled’ staat, zet je die aan door:
nmcli radio wifi on
Als de hardware correct werkt, ga je na of je een IP-adres hebt. Bij de uitvoer hierboven van het commando nmcli zie je per interface de verbindingsgegevens. Onder andere vind je daar bij ‘inet4’ het IP-adres. Heel waarschijnlijk zie je even daaronder ook ‘inet6’ staan met daarachter een lange string. Dat zijn IPv6-adressen, de opvolger van het oude IPv4. Heb je geen IP-adres, dan weigert mogelijk de DHCP-server van je router dienst.
Daarover krijg je het snelst zekerheid via ethernet. Bij wifi spelen namelijk nog andere factoren een rol voor een werkende verbinding. Koppel daarom je laptop via een netwerkkabel aan je router. Zie je nu bij de ethernetkaart wel een IP-adres verschijnen, dan functioneert de DHCP-server op je router. Is dat niet het geval, dan moet je naar de webinterface van je router om daar DHCP aan te zetten. Omdat je momenteel geen netwerk hebt, zetten we handmatig een verbinding op.
Afbeelding 2: Let hierop bij je router
Om dat voor elkaar te krijgen heb je wel het IP-adres van je router nodig. Als je niets aan de fabrieksinstellingen hebt veranderd, vind je het standaard IP-adres in de handleiding van je router. Sommige fabrikanten zetten het op de onderkant van het apparaat. Vaak begint dat IP-adres met ‘192.168’.
Een handmatige verbinding houdt in dat je zelf bepaalt welk IP-adres de netwerkkaart krijgt. Met NetworkManager regel je dat via een zogenaamd profiel. Daarin definieer je de verbindingsgegevens. Een lijst van al aanwezige profielen op je systeem krijg je via:
nmcli connection show
De kleur groen geeft aan dat het betreffende profiel actief is. Standaard maakt NetworkManager een profiel voor gebruik met DHCP aan. Per netwerkinterface zijn meerdere profielen mogelijk. Met nmcli schakel je makkelijk tussen die profielen, zodat je snel verschillende manieren van netwerkopbouw kunt testen. Voeg als volgt een nieuw profiel ‘mijn_profiel’ toe:
nmcli connection add con-name mijn_profiel ifname enp109s0f1 type ethernet ip4 192.168.0.42/24 gw4 192.168.0.1
Hiermee ken je een vast IPv4-adres 192.168.0.42 toe aan ethernetkaart enp109s0f1. Pas deze naam aan voor je eigen situatie. Het getal 24 is gebruikelijk voor het netwerkmasker. Dit bepaalt dat je pc deel uitmaakt van het netwerk met de nummers 192.168.0.1 tot en met 192.168.0.254. Het adres achter gw4 is het IPv4-adres van je router, in ons geval 192.168.0.1. Dit heet de gateway. Via deze maakt je systeem verbinding met internet. Het toegekende IP-adres en dat van je router moeten in hetzelfde netwerk zitten, zoals gedefinieerd door het netwerkmasker. Activeer vervolgens dit profiel:
nmcli connection up mijn_profiel
Ga nu in je browser naar het IP-adres van je router en controleer de DHCP-instellingen. Als DHCP weer werkt op je router, is ‘mijn_profiel’ niet meer nodig. Verwijder het door:
nmcli connection delete mijn_profiel
NetworkManager activeert dan automatisch het standaard profiel met DHCP.
De snelheid van draadloze netwerken wordt aangegeven met 802.11 gevolgd door één of meerdere letters. De modernste routers ondersteunen 802.11ac of zelfs al 802.11ax. Daarnaast kom je de voorgangers 802.11n en ook 802.11g nog geregeld tegen. Maar een netwerkkaart die bijvoorbeeld alleen 802.11g ondersteunt, kan niet overweg met de snellere varianten. Controleer daarom in dat geval of je router niet op bijvoorbeeld ‘Wireless N-only’ staat. De instellingen daarvoor vind je in je router bij ‘Wireless mode’ of ‘Network mode’ (afbeelding 2).
Heb je een wifi-kaart die 802.11n ondersteunt, maar op die snelheid toch geen verbinding kan maken? Dan zit mogelijk de gebruikte frequentie in de weg. Traditioneel werkt wifi op 2,4 GHz, terwijl tegenwoordig op 5 GHz is gestandaardiseerd. Bij 802.11n zijn beide frequenties mogelijk, maar dat hangt af van de netwerkkaart. Zet bij twijfel je router op 2,4 GHz. Die frequentie ondersteunen namelijk alle 802.11n kaarten.
Soms kan volgens de handleiding je 802.11n kaart weliswaar 5 GHz aan, maar wil er op die frequentie toch maar geen verbinding tot stand komen. Dat gebeurt als de Linux driver daarvoor geen volledige ondersteuning heeft. Vermijd daarom ook liever de hele goedkope kaarten. Daarmee riskeer je eerder dergelijke problemen, doordat de hardware niet helemaal conform de officiële specificaties is.
Om zich bekend te maken in de draadloze wereld gebruikt een router een identifier. Dat heet eigenlijk SSID, maar heel wat fabrikanten gebruiken termen als ‘Network name’ of simpelweg ‘Wireless’. Deze identifier vind je onder op de router. Normaal gesproken stuurt de router de SSID mee met het draadloze signaal. De wifi op je pc toont deze in de lijst van beschikbare netwerken in de netwerk applet. Op de commandoregel krijg je die lijst als volgt:
nmcli device wifi
Als de SSID van jouw router hier niet tussen staat, dan verbergt je router dit. Dat heet dan een hidden access point en daarmee kan NetworkManager niet automatisch verbinding maken. Zorg daarom dat je router de SSID wel bekend maakt. De optie daarvoor vind je bij de instellingen van je router als ‘Broadcast SSID’ of iets van die strekking. Nu verschijnt je router wel in de lijst van beschikbare netwerken. Zet vervolgens een wifi-verbinding op door:
nmcli device wifi connect <je_SSID>
NetworkManager vraagt je vervolgens nog om het wachtwoord. Wil je de SSID toch verborgen houden, maak dan bij NetworkManager bekend dat het om een hidden access point gaat:
nmcli device wifi connect <je_SSID> hidden yes
Nu klopt de wireless kaart bij elk verborgen netwerk aan met de vraag of zijn identiteit toevallig die van de SSID is. Zo ja, dan maakt hij verbinding.
Ga in je router na of die MAC-filtering gebruikt. Daarmee beperk je de toegang tot alleen apparaten met een bepaald MAC-adres. Dat adres bepaalt de fabrikant van de netwerkkaart. In de uitvoer van nmcli zie je dit staan achter ‘ethernet’ en ‘wifi’ als een string van karakters gescheiden door dubbele punten. Als je router MAC-filtering toepast, schakel het dan tijdelijk uit. Krijgt je wifi-kaart nu wel een IP-adres, dan weet je zeker dat je de instellingen van dit filter moet aanpassen. Voeg daartoe het MAC-adres van jouw kaart toe aan de lijst van toegelaten adressen.
Krijg je toch geen werkende internetverbinding, open dan een nieuwe tabblad in je terminal. Tik daar het volgende in om de logmeldingen van NetworkManager te zien:
journalctl --follow --unit NetworkManager
Als je nu met nmcli werkt, verschijnen door de optie ‘follow’ nieuwe meldingen achteraan de uitvoer. Doordat je zodoende volgt wat er gebeurt, achterhaal je sneller waar het misgaat bij het opbouwen van de verbinding.
Geen internet hebben is vervelend. Je hebt nu gezien waar je op moet letten en hoe je in enkele stappen de oorzaak vindt. Zelfs met de hand tijdelijk een verbinding opzetten is eigenlijk helemaal niet zo moeilijk. Zodoende hoef je nooit lang te wachten om weer online te zijn.
Wifi drivers: wireless.wiki.kernel.org/en/users/drivers
Zelfs met de hand tijdelijk een verbinding opzetten is eigenlijk helemaal niet zo moeilijk.