[[Vorlage(Getestet, general)]] [[Vorlage(Fortgeschritten, "")]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:sudo: Root-Rechte] [:Terminal: Ein Terminal öffnen] [:Metapakete: Restricted-Modules - Version wählen] [:Packprogramme: Archive entpacken] [:Programme_kompilieren: Programme kompilieren] [:wireless-tools: Wireless-Tools] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/Oxygen/network-wireless.png, 48, align=left)]] Das Treiberprojekt [https://wireless.wiki.kernel.org/ Linux Wireless] {en} fasst aktuelle bzw. aktualisierte Treiber für verschiedene WLAN-Chipsätze zusammen. Diese Zusammenfassungen werden regelmäßig aktualisiert - somit sind die enthaltenen WLAN-Treiber u.U. neuer als die in der jeweils aktuellen Ubuntu-Version (oder einer anderen Linux-Distribution) enthaltenen Kernelmodule. Eine Übersicht der enthaltenen Treiber, der unterstützten Chipsatzvarianten und der möglichen Betriebsmodi sind in dieser [https://wireless.wiki.kernel.org/en/users/Drivers Liste] {en} aufgeführt. Durch die Installation werden z.B. Fehler älterer Treiber behoben oder die Hardwareunterstützung verbessert. Insbesondere bei Treiberproblemen oder unzureichender Hardwareunterstützung bietet sich die Installation an. = Vorbereitung = Da die Treiber nicht speziell auf Ubuntu zugeschnitten sind, müssen einige Vorarbeiten erledigt werden. Um die Treiber kompilieren zu können, werden zuerst das Metapaket '''build-essential''' und die passenden "Kernel-Header" benötigt [1]: * '''build-essential''' * '''linux-headers-...''' ('''...''' passend zur eigenen Kernelversion [4]) Installation über Terminal [3]: {{{#!vorlage Befehl sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential }}} == Treiber herunterladen = Die aktuellen Treiber können als Archivdatei von der [https://www.kernel.org/pub/linux/kernel/projects/backports/stable/ FTP Backports-Seite] {dl} (stable) heruntergeladen werden. Das Archiv befindet sich nun üblicherweise unter '''~/Downloads'''. In das Verzeichnis wechseln und anschließend mit einem Archivmanager [5] oder über ein Terminal [3] entpacken: {{{#!vorlage Befehl cd ~/Downloads tar jxvf backports-*.tar.bz2 cd backports-* }}} == Auswahl eines Treibers == Vor dem Erstellen und Installieren des Treibermoduls muss das entpackte Backports-Paket für den gewünschten Treiber vorkonfiguriert werden. Im Paket befinden sich entsprechende Skripte, die man mit dem Befehl '''make''' in Verbindung mit dem gewünschten Modul aufruft. Genereller Aufruf: {{{#!vorlage Befehl make defconfig- }}} Ohne Option meldet '''make''' einen Fehler und zeigt die mögliche Auswahl an. Ausgabe in diesem Fall: {{{ | Your backport package isn't configured, please configure it | using one of the following options: | To configure manually: | make oldconfig | make menuconfig | | To get defaults for certain drivers: | make defconfig-alx | make defconfig-ar5523 | make defconfig-ath10k | make defconfig-ath5k | make defconfig-ath6kl | make defconfig-ath9k | make defconfig-b43 | make defconfig-b43legacy | make defconfig-brcmfmac | make defconfig-brcmsmac | make defconfig-carl9170 | make defconfig-drm | make defconfig-ieee802154 | make defconfig-iwlwifi | make defconfig-media | make defconfig-nfc | make defconfig-regulator | make defconfig-rtlwifi | make defconfig-wifi | make defconfig-wil6210 }}} === Beispiele === {{{#!vorlage Befehl make defconfig-b43 # benötigte Treiber für Broadcom WLAN-Karten werden selektiert (Einzelauswahl) make defconfig-rtlwifi # benötigte Treiber für Realtek WLAN-Karten werden selektiert (Gruppenauswahl) }}} = Installation = Nun kann der konkrete Treiber gebaut und installiert werden [1]. {{{#!vorlage Befehl make sudo make install }}} Hat man mehrere Versionen des Treiberarchivs heruntergeladen und entpackt, muss natürlich der komplette Verzeichnisname mit dem entsprechenden Datum angegeben werden! Eventuell auftretende Warnungen (warning) beim Kompilieren können ignoriert werden, nur Fehler (error) dürfen nicht auftreten! Die Installation dauert einen Moment, da verschiedene aktualisierte WLAN-Treiber und Kernelmodule für das [http://www.ieee802.org/11/ ieee80211-Subsystem] {en} enthalten sind. Der Rechner sollte abschließend neu gestartet werden, um die älteren Treibermodule vollständig zu entladen und die neuen Treiber zu aktivieren. == Funktionstest == Anschließend kann das Kernelmodul getestet werden, in dem man es über den Befehl '''modprobe''' lädt, zum Beispiel: {{{#!vorlage Befehl modprobe rtl8192cu # nur ein Beispiel für ein Kernelmodul! }}} Mit dem Befehl '''lsmod''' kann man sich dann die aktiven Kernelmodule auflisten lassen, in der das neue Modul erscheinen sollte. Anschließend kann mit den [:wireless-tools:] [7] geprüft werden, ob der Treiber funktioniert und eine Schnittstelle initialisiert wurde. == Beim Systemstart laden == Um das neue Kernelmodul bei jedem Systemstart automatisiert zu starten (Normalfall), muss der Treiber, z. B. ''rtl8192cu'', einfach als weitere Zeile in der Systemdatei '''/etc/modules''' mir Rootrechten hinzugefügt werden[8]. {{{#!vorlage Hinweis * Nach einem Kernelupdate muss das Treiberpaket für den aktuellen Kernel erneut kompiliert werden! * Einige Treiber müssen nach der Installation über die [:restricted-manager:Verwaltung eingeschränkter Treiber] wieder aktiviert werden! Dazu muss im Auswahlfenster für den entsprechenden Treiber das Häkchen bei "Aktiviert" gesetzt werden. * Wer auch VirtualBox installiert hat, muss unbedingt dessen Module neu kompilieren und installieren (/etc/init.d/vboxdrv setup). }}} = Links = * [https://wireless.wiki.kernel.org/ Linux Wireless] {en} * [https://www.kernel.org/pub/linux/kernel/projects/backports/stable/ ftp-Server] {dl} # tag: Internet, Netzwerk, WLAN