ubuntuusers.de

ubuntuusers.deWikiLinux Wireless

Linux Wireless

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Wiki/Icons/Oxygen/network-wireless.png

Das Treiberprojekt 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 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]:

sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential 

Treiber herunterladen

Die aktuellen Treiber können als Archivdatei compat-wireless.tar.bz2 {dl} (stable) heruntergeladen werden. Da das aktuellste Paket ohne Datumssuffix bereit gestellt wird, reicht es die Datei ohne Datum herunterzuladen, beim Entpacken entsteht dann aber die Ordnerstruktur mit Datum des letzten Release.

FTP-Server {dl} - Übersicht verfügbarer Installationspakete

Das Archiv befindet sich nun normalerweise unter ~/Downloads. In das Verzeichnis wechseln und anschließend mit einem Archivmanager [5] oder über ein Terminal [3] entpacken:

cd ~/Downloads
tar jxvf compat-wireless.tar.bz2
cd compat-wireless* 

Auswahl eines Treibers

Benötigt man nur einen bestimmten Treiber, so läßt sich in vorgegebenem Rahmen eine Vorauswahl treffen. Dazu befinden sich im Ordner compat-wireless-<DATUM>/scripts entsprechend vorbereitete Skripte.

Genereller Aufruf:

./scripts/driver-select [ <driver-name> | <driver-group-name> | restore ] 

Ohne Option wird die mögliche Auswahl und eine Hilfe zur Syntax angezeigt:

./scripts/driver-select 

Ausgabe in diesem Fall:

Usage: /home/<Benutzername>/Downloads/compat-wireless-2012-12-18/scripts/./driver-select [ <driver-name> | <driver-group-name> | restore ]
Supported 802.11 drivers:
	ath5k
	ath9k
	ath9k_ap
	ath9k_htc
	carl9170
	ath6kl
	b43
	zd1211rw
	rt2x00
	wl1251
	wl12xx
	brcmsmac
	brcmfmac

Supported Ethernet drivers:
	atl1
	atl2
	atl1e
	atl1c
	alx
Supported DRM drivers:
	i915

Supported group drivers:
	atheros <  ath5k ath9k carl9170 zd1211rw ath6kl>
	ath <  ath5k ath9k carl9170 ath6kl>
	brcm80211 <  brcmsmac brcmfmac >
	intel <  iwlwifi, iwlegacy >
	rtl818x <  rtl8180 rtl8187 >
	rtlwifi <  rtl8192ce >
	ti <  wl1251 wl12xx (SPI and SDIO)>

Supported group drivers: Bluetooth & Ethernet:
	atlxx <  atl1 atl2 atl1e alx>
	bt <  Linux bluetooth drivers >

Supported group drivers: DRM:
	drm <  i915>
Restoring compat-drivers:
	restore: you can use this option to restore compat-drivers to the original state

Beispiele

~/Downloads/compat*/scripts/./driver-select b43           # benötigte Treiber für Broadcom WLAN-Karten werden selektiert (Einzelauswahl)
~/Downloads/compat*/scripts/./driver-select intel         # benötigte Treiber für Intel WLAN-Karten werden selektiert (Gruppenauswahl)
~/Downloads/compat*/scripts/./driver-select restore       # Auswahl wird zurückgesetzt 

Ohne Auswahl über das Skript werden alle enthaltenen Module gebaut und in den aktuelle verwendeten Kernel eingebunden.

Installation

Nun können die Treiber gebaut und installiert werden [1]:

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 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.

Anschließend kann mit den Wireless-Tools [7] geprüft werden, ob der Treiber funktioniert und eine Schnittstelle initialisiert wurde.

Hinweis:

  • Nach einem Kernelupdate muss das Treiberpaket für den aktuellen Kernel erneut kompiliert werden!

  • Einige Treiber müssen nach der Installation über die 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, muß unbedingt dessen Module neu kompilieren und installieren (/etc/init.d/vboxdrv setup).

Problembehebung

Falsche Kanaleinstellung

Hinweis:

Die entsprechende Ubuntu-Version ist bei der Verwendung dieser Einstellungen zu beachten. Siehe dazu auch diesen Forenbeitrag.

Ab Ubuntu 9.04

Ab Ubuntu 9.04 erfolgt die Ländereinstellung über das Programm iw, welches zuerst installiert werden muss [1]:

  • iw (bis Ubuntu 11.10 in universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install iw 

sudo aptitude install iw 

Anschließend kann die Ländereinstellung gesetzt werden:

sudo iw reg set DE 

Weitere Informationen: Dokumentation zu iw {en} und Frequenzen_und_Kanäle.

Ubuntu 8.10

In Ubuntu 8.10 bzw. ab Kernel 2.6.27 sind die Funkkanäle 12 und 13 durch eine für Europa falsche Voreinstellung deaktiviert. Dieses Problem trifft für alle Treiber zu, die mit dem 802.11-Subsystem des Kernels arbeiten. Prüfen kann man das mit folgendem Terminalbefehl [3]:

iwlist chan 

Fehlen Kanal 12 und 13 in der Ausgabe für das 2,4GHz Frequenzband, schafft ein entsprechender Startparameter für das 802.11-Subsystem Abhilfe. Mit einem Editor [8] muss die Datei /etc/modprobe.d/cfg80211 erstellt und folgender Parameter eingetragen werden:

options cfg80211 ieee80211_regdom="EU"

Das läßt sich natürlich auch mit einem Terminal-Befehl [3] sehr rasch erledigen:

echo 'options cfg80211 ieee80211_regdom="EU"' | sudo tee /etc/modprobe.d/cfg80211.conf 

Sollte das nicht funktionieren, kann der Parameter auch ohne Anführungszeichen getestet werden:

options cfg80211 ieee80211_regdom=EU

Drei verschiedene Einstellungen sind möglich:

  • US für USA (Kanäle 1-11)

  • EU für Europa (Kanäle 1-13)

  • JP für Japan (Kanäle 1-14)

Nach einem Neustart des Systems stehen nun - unabhängig vom verwendeten Treiber - alle jeweils möglichen Funkkanäle zur Verfügung.

Diese Revision wurde am 19. Mai 2013 18:39 von elektronenblitz63 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Internet, WLAN