Tutoriel Linux

Ubuntu op Chromebook: geluid en Wi-Fi repareren

Débutant8 min de lecture
Chromebook open met Wi-Fi-module en luidspreker tijdens een Ubuntu-diagnose
Identificeer de Wi-Fi-kaart en de audio-uitgang voordat u het systeem wijzigt.

Ubuntu native of Crostini: controleer de omgeving en de beperkingen van het model

Deze gids betreft een Chromebook dat rechtstreeks op Ubuntu opstart, geïnstalleerd als hoofd-systeem of in native opstart. Het is niet van toepassing op Crostini: in deze Linux-omgeving die vanuit ChromeOS is gestart, worden de apparaten anders gepresenteerd en aanstuurt Ubuntu de Wi-Fi-kaart of de interne luidsprekers niet rechtstreeks. Als u zich in de Linux-terminal van ChromeOS bevindt, stop hier en zoek naar hulp die specifiek is voor Crostini.

Geluid en Wi-Fi kunnen tegelijkertijd uitvallen, maar ze hebben vaak onafhankelijke oorzaken. De eerste kan afhangen van de geselecteerde uitgang, de audio-stack of de controller; de tweede hangt af van de radio, de driver of de firmware. Beide worden afzonderlijk gediagnosticeerd, zonder aan te nemen dat één enkele correctie beide zal oplossen.

Maak voordat u wijzigingen aanbrengt een back-up van uw belangrijke bestanden en zorg ervoor dat u kunt terugkeren naar een functioneel systeem. Noteer de versie van Ubuntu, de kernel en de architectuur:

grep '^PRETTY_NAME=' /etc/os-release
uname -r
uname -m

Deze opdrachten geven respectievelijk de distributie, de kernelversie en de architectuur weer. Een architectuur x86_64 garandeert op zichzelf niet dat de Chromebook wordt ondersteund. aarch64 of arm64 vereist dat u documentatie specifiek voor het apparaat controleert; de lijst van MrChromebox hieronder betreft ondersteunde Intel/AMD x86_64-apparaten, niet ARM Chromebooks.

Identificeer de board name of de exacte HWID in een betrouwbare documentatie van het model. De handelsnaam — ook al verwijst deze naar een bekende reeks — is niet voldoende om de compatibiliteit vast te stellen. Als het board niet is gedocumenteerd voor het bedoelde gebruik, of als u het niet kunt identificeren, stop dan met het testen van drivers en firmware. De installatie- en compatibiliteitsgids van Ubuntu voor Chromebook helpt om de voorzichtigheden te onderscheiden die voor de installatie worden genomen, tegenover de diagnostiek die hier wordt gepresenteerd, die voorkomt na een native opstart.

Catalogiseer de Wi-Fi-kaart en de audio-controller afzonderlijk

Begin met de tools die al aanwezig zijn. lspci -nnk toont de PCI-apparaten met hun identificaties tussen haakjes, evenals de bijbehorende drivers en modules. lsusb catalogiseert de USB-apparaten, inclusief een externe netwerkadapter. Als inxi al is geïnstalleerd, kan inxi -Nxxx details geven over het netwerkgedeelte. Installeer geen driver om deze inventarisatie uit te voeren.

lspci -nnk
lsusb

In het resultaat van lspci geeft « Kernel driver in use » de driver aan die daadwerkelijk aan het apparaat is gekoppeld; « Kernel modules » geeft kandidaatmodules aan, geen bewijs dat een driver werkt. Noteer afzonderlijk de identificatie en de naam van de netwerkkaart en de audio-controller. Als een opdracht niet bestaat, ga dan verder met diegene die beschikbaar zijn: het ontbreken ervan is geen hardware-diagnose.

Conclusies trekken dat een kaart ontbreekt op basis van alleen lspci is niet verstandig. Sommige ingebouwde elementen worden niet gepresenteerd als PCI- of USB-apparaten. Vergelijk de inventaris met de logs en de documentatie van het board voordat u besluit.

Wi-Fi: radio geblokkeerd, interface afwezig of gewoon een disconnectie?

Controleer eerst de status van de radio en de interface. Deze opdrachten wijzigen de configuratie niet:

rfkill list
nmcli device status
ip link

rfkill list geeft aan of een apparaat « Soft blocked » of « Hard blocked » is. Een softwarematige blokkade kan door het systeem worden opgeheven; een hardwarematige blokkade komt overeen met een fysieke opdracht of een voorwaarde die door het apparaat wordt opgelegd. Negeer deze laatste niet. Controleer de hardwarematige controle of de gedocumenteerde procedure voor het board.

nmcli device status geeft de status aan vanuit NetworkManager. Een Wi-Fi-interface die disconnected is, wordt gedetecteerd maar is niet verbonden: probeer een normale verbinding vanuit de netwerkinstellingen, en controleer vervolgens het netwerk of de router indien nodig. unavailable, unmanaged of het ontbreken van een interface vraagt eerder om een controle van de driver, de service en de kernel. De naam van de interface varieert: ga er niet automatisch van uit dat deze wlan0 heet.

ip link completeert deze controle door de netwerkintefaces te vermelden. Het ontbreken ervan bewijst niet op zichzelf dat de fysieke kaart niet bestaat: de driver heeft deze mogelijk niet geregistreerd, of het apparaat verschijnt mogelijk niet op deze bus. Koppel dit resultaat aan lspci -nnk, lsusb en de logs.

Gebruik nmcli radio wifi on alleen als de diagnose bevestigt dat de radio is uitgeschakeld of er een softwarematige blokkade aanwezig is. U kunt Wi-Fi ook opnieuw inschakelen in de instellingen van Ubuntu. Controleer daarna opnieuw rfkill list en nmcli device status. Deze opdracht heft geen hardware-blokkade op en creëert geen ontbrekende driver.

Lees de logs van de kernel zonder het systeem te wijzigen

Zoek naar berichten die verband houden met de betekenis van daadwerkelijk gedetecteerde drivers en de termen firmware, Wi-Fi en audio. De volgende twee opdrachten zijn alleen-lezen en filteren hun output om leesbaar te blijven op een mobiel scherm:

dmesg -T | grep -Ei 
  'firmware|iwlwifi|ath|brcm|rtw|wlan|wifi|sof|snd|audio'

journalctl -b -k --no-pager | grep -Ei 
  'firmware|iwlwifi|ath|brcm|rtw|wlan|wifi|sof|snd|audio'

Als dmesg geen toegang geeft, kan een administrator de uitlezing opnieuw starten met sudo dmesg -T. Het lezen van journalctl kan ook vereisen dat u rechten heeft op sommige installaties. Stuur geen volledige log zonder deze te filteren: verwijder vooral MAC-adressen, serienummers en andere persoonlijke identificaties.

Een fout die een ontbrekend firmwarebestand noemt, een initialisatiefout of een driver die aanhaakt zijn aanwijzingen die u moet confronteren met de hardware-id, de kernelversie en de documentatie van het board. Geen enkele gefilterde regel bewijst op zichzelf dat de hardware wordt ondersteund. De berichten van iwlwifi betreffen chips van Intel die compatibel zijn met deze driver, niet alle Wi-Fi-kaarten; de vermeldingen sof en snd verwijzen naar het audio-gedeelte en worden afzonderlijk gelezen.

Een update van de Ubuntu-firmware is alleen gerechtvaardigd als de logs een ontbrekende firmware noemen, de chip en het board zijn geïdentificeerd, er een back-upverbinding beschikbaar is en het officiële Ubuntu-pakket overeenkomt met uw installatie. Alleen in dat geval, maak eerst een back-up, herlees de betreffende log en gebruik dan de Ubuntu-repositories:

sudo apt update
sudo apt install --reinstall linux-firmware

Voer deze opdrachten niet uit als algemene poging: het herinstalleren van linux-firmware is geen garantie voor ondersteuning, en niet alle chips zijn afhankelijk van dit pakket. Na de installatie, herlees de berichten van de kernel om te controleren of de aangegeven fout is gewijzigd. Herstart pas nadat u uw werk heeft afgesloten en opgeslagen. Als er geen gedocumenteerd officieel pakket overeenkomt met de genoemde firmware, stop dan: kopieer geen upstream bestand en vervang de driver niet willekeurig.

Zonder geluid: controleer de uitgang vóór de controller

Begin met Instellingen > Geluid: controleer of de uitgang niet op stil staat, verhoog het volume voorzichtig en selecteer het verwachte apparaat. Ubuntu kan het geluid naar HDMI, een headset of een Bluetooth-apparaat sturen in plaats van naar de interne luidsprekers. Als er een uitgang beschikbaar is, gebruik dan de luidsprekerstest in de instellingen op een laag volume. Als het geluid via een andere uitgang komt, heeft het probleem in de eerste plaats met routering te maken, niet met een firmware die moet worden vervangen.

Controleer vervolgens de audio-apparaten die worden gezien door de beschikbare tools:

aplay -l
wpctl status

aplay -l lijst de ALSA-kaarten en -apparaten wanneer de tool is geïnstalleerd. « No soundcards found » wijst op een ontbrekende detectie of driver, eerder dan een eenvoudig volume-instelling. wpctl status, als uw sessie PipeWire gebruikt en wpctl beschikbaar is, toont de audio-uitgangen van de sessie en degene die is geselecteerd. Het ontbreken ervan bewijst niet dat de hardware-controller afwezig is.

Als ALSA een kaart ziet, maar PipeWire geen bruikbare uitgang biedt, controleert u de sessie en de audio-service voordat u actie onderneemt. Vermijd blinde herstarts. Als er geen kaart verschijnt, vergelijk lspci -nnk met de berichten van sof of snd in de logs. Een controller die ontbreekt in de inventaris repareer je niet door simpelweg de uitgang te veranderen; een controller die aanwezig is, maar HDMI of headset is geselecteerd, heeft vooral met routering te maken.

Back-up internet en criteria voor stopzetting

Als Wi-Fi niet werkt, kan een erkende USB Ethernet-adapter of USB tethering tijdelijk toegang bieden. Gebruik dit om de diagnostics te verzamelen en, alleen als de ontbrekende firmware is geïdentificeerd, om de officiële Ubuntu-updates te verkrijgen. Dit back-upnetwerk maakt het mogelijk om het onderzoek voort te zetten; het repareert de interne Wi-Fi-kaart niet.

Stop met proberen als de board name/HWID onbekend blijft, als de architectuur of het board geen gedocumenteerde ondersteuning heeft, als de kernel het apparaat niet ziet na controle, of als er geen officiële driver of firmware overeenkomt met de hardware-id. Voor hulp, verstrek de geverifieerde board/HWID, de architectuur, de versie van Ubuntu en de kernel, de netwerk- en audio-identificaties, de status van rfkill en nmcli, evenals de enige relevante logfragmenten, gefilterd. Geef ook aan wat nog werkt. Een gelijktijdige storing van geluid en Wi-Fi is op zich geen bewijs van een gemeenschappelijke oorzaak.

Veelgestelde vragen

Waarom werkt Wi-Fi onder ChromeOS maar niet onder Ubuntu?

De twee systemen kunnen verschillende drivers, een andere kernel of firmware gebruiken. Dit alleen stelt niet vast dat er een Ubuntu-driver voor uw chip bestaat. Identificeer de hardware-ID en het board, en controleer de berichten van de kernel en de bijbehorende documentatie.

Kan ik een driver installeren die ik op GitHub heb gevonden?

Niet als algemene oplossing. Een communityrepository of script kan specifiek gericht zijn op een chip, een kernel of een board en kan risico’s met zich meebrengen. Installeer het niet zonder gedocumenteerde overeenstemming met uw hardware en zonder de wijzigingen te begrijpen; kies voor officiële Ubuntu-pakketten.

Wanneer moet ik stoppen met het proberen?

Wanneer het board of de chip niet zijn geïdentificeerd, wanneer de ondersteuning voor de architectuur of het board niet is gedocumenteerd, of wanneer er geen officiële oplossing overeenkomt met de opgemerkte fouten. In deze gevallen, vermijd flash, improvisaties in drivers en firmware en vraag advies met gefilterde diagnostics.

Bronnen