Kompilieren und installieren Sie den rtl8192cu-Treiber

15

Kann mir jemand bei diesem Problem helfen? Ich bin neu in Linux, kenne also keine Befehle und habe noch nie so etwas wie das Installieren oder Kompilieren mit der Befehlszeile gemacht.

Ich habe einen WLAN-Adapter von Edimax, Modell EW-7811UN, für meinen PC gekauft (kein Laptop, daher habe ich keine WLAN-Karte, nur Ethernet). Als ich die Anleitung auf CD durchging, stieß ich auf eine Version des Kernels. Es hieß, ich brauche Version 2.6, aber ich habe 3.5.0-22-generic.

Ich habe Fehler, weil ich keine Datei, keinen Ordner usw. habe. Kann mir jemand sagen, wo ich den kompilierten Treiber herunterladen kann und wo ich ihn ablegen muss? Oder ein anderer Rat. Ich möchte keinen Downgrade-Kernel, wenn dies nicht erforderlich ist.

Maroš Káčko-Donnie Kario
quelle
Es scheint nicht mehr zu funktionieren; 13.04, 3.8.0-25-generic; Der Kerneltreiber ermöglicht die Verbindung zum Öffnen von WLANs, die Verbindung wird jedoch nach ca. 2 Minuten getrennt. Dann habe ich versucht, den Realtek-Treiber mit allen Patches zu erstellen, die ich finden konnte. es kompiliert, aber die Verbindung ist so flockig wie zuvor; Außerdem, als ich den Adapter aus der Steckdose zog, bekam ich eine Kernel-Panik. Hilft das?
Antti Haapala
@AnttiHaapala etwas spät, aber versuchen Sie es mit einer der Git-Hub-Versionen mit den neueren Kerneln und aktivieren Sie das Modul mit 8192cu anstelle von rtl8192cu oder bauen Sie es mit dem Treiber von der Realtek-Website mit Kernel 3.2LTS
mchid
NP jetzt für mich jetzt, ich weiß nicht einmal mehr, wo dieses Gerät ist, ich brauchte es nur für meinen Laptop, nachdem die interne Antenne abgetrennt (jetzt
Antti Haapala

Antworten:

19

Wenn Sie auf dieses Problem stoßen, funktionierte für mich die Installation des folgenden Treibers: https://github.com/pvaret/rtl8192cu-fixes

Aus der README.md- Datei:

Installation

Stellen Sie sicher, dass Sie über die erforderlichen Voraussetzungen verfügen:

sudo apt-get install linux-headers-generic build-essential dkms

Klonen Sie dieses Repository:

git clone https://github.com/pvaret/rtl8192cu-fixes.git

Richten Sie es als DKMS-Modul ein:

sudo dkms add ./rtl8192cu-fixes

Erstellen und installieren Sie es (diese Versionsnummer kann sich ändern, es ist .11 vom 7. November 2019)

sudo dkms install 8192cu/1.11

Aktualisieren Sie die Modulliste:

sudo depmod -a

Stellen Sie sicher, dass der native (und fehlerhafte) Kerneltreiber auf der schwarzen Liste steht:

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

Und neu starten. Sie sind fertig.

Johnnyaug
quelle
1
Als Hinweis habe ich das getan und nach der Zeile: sudo dkms install 8192cu/1.8Ich habe einen Fehler bekommen. Dieser Fehler war: Es Error! Could not find module source directory. Directory: /usr/src/8192cu-1.8 does not exist.stellte sich heraus , dass ich brauchte, um die Änderung /usr/src/8192cu-1.8zu /usr/src/8192cu-1.9einem letzten Update des GIT gewesen sein muss und diese Anweisungen sind veraltet durch , dass eine Ziffer.
Schauen Sie sich das Verzeichnis / usr / src an. Möglicherweise haben Sie stattdessen 1.9, wenn Sie die neueste Version heruntergeladen haben. ;)
Will Sams
Dies funktioniert gut für mich für TL-WN823N V1.2 unter Ubuntu 16.04, Vielen Dank!
Javier Garcia
1
Dies funktioniert unter Ubuntu 16.10. Eine Frage: lsmodZeigt mir, dass der neue Treiber anstelle des alten Treibers funktioniert (und meine Verbindung jetzt stabil ist ...). Wenn ich jedoch in meinem Unity-Tray visuell auf "Verbindungsinformationen" klicke, wird angezeigt, dass rtl8192cu(anstatt nur 8192cu) noch verwendet wird. Weiß jemand, warum das so ist?
Nearoo
13

12.04 & 14.04+: Sie können diese Anweisungen anzeigen oder einfach tun, was ich sage.

(Befolgen Sie diese Anweisungen, wenn Ihr drahtloses USB-Gerät [rtl8192cu] von Ubuntu nicht automatisch erkannt wird.)

sudo modprobe rtl8192cu
echo "2001 330D" | sudo tee /sys/bus/usb/drivers/rtl8192cu/new_id
echo "rtl8192cu" | sudo tee -a /etc/modules

Bearbeiten Sie dann /etc/rc.local, indem Sie die Datei mit Ihrem bevorzugten Texteditor wie im folgenden Beispiel öffnen:

sudo gedit /etc/rc.local

Stellen Sie sicher, dass es heißt. . .

echo "2001 330D" | tee /sys/bus/usb/drivers/rtl8192cu/new_id

exit 0

Sie können jetzt die drahtlose Verbindung verwenden oder alternativ sicherstellen, dass Ihre gesamte Arbeit gespeichert ist, bevor Sie Folgendes eingeben:

sudo reboot

Ihr drahtloser Treiber sollte automatisch gestartet werden.


Führen Sie die folgenden Befehle in einem offenen Terminal aus, um den proprietären Realtek 8192cu-Treiber zu kompilieren und zu installieren:

sudo apt-get update && sudo apt-get install git build-essential linux-headers-generic dkms
git clone https://github.com/dz0ny/rt8192cu.git --depth 1
cd rt8192cu
sudo make dkms

Für harte Installation verwenden Sie:

make
sudo make install

statt sudo make dkms.

Verwenden Sie den folgenden Befehl, um diesen Treiber zu aktivieren:

sudo modprobe 8192cu

Aktualisieren Sie zum Schluss / etc / modules mit diesem Befehl, bevor Sie neu starten:

echo '8192cu' | sudo tee -a /etc/modules

Quelle 1: bernaerts.dyndns.org

Quelle 2: github.com/dz0ny

mchid
quelle
Dies funktioniert hervorragend für D-Link A-131
mchid
Ich danke dir sehr. Ich habe mit meinem Asus USBN13 zwei Tage gekämpft, bevor ich deine Antwort gefunden habe. Es funktionierte, als alles andere versagt hatte und ich aufgeben wollte.
Swoogan
Toll, hat beim ersten Durchgang für TP-Link TL-WN821N auf Xubuntu 12.04 gearbeitet.
Premek Brada
Ich kann die $ sudo make install install -p -m 644 8192cu.ko /lib/modules/3.13.0-44-generic/kernel/drivers/net/wireless/ install: cannot stat ‘8192cu.ko’: No such file or directory
Andy
@Andy Führen Sie zuerst aus make. Dann renne sudo make install. Ich habe die Antwort bearbeitet. Vielen Dank für den Hinweis.
Mittwoch,
4

Generell wäre jeder Linux-Treiber auf einer Hersteller-CD veraltet und in den meisten Fällen nicht zu bemühen. Das RTL8192cu-Modul ist seit Version 2.6.38 Teil des Linux-Kernels, sodass Sie das Gerät im Idealfall nur noch anschließen müssen und es funktioniert. Leider hat dieses spezielle Modul noch nie funktioniert, und ein Fix war meiner Meinung nach längst überfällig ( Fehlerbericht ).

Also, was solltest du tun? Stecken Sie das Gerät ein. Vergewissern Sie sich, dass der Netzwerkmanager die drahtlosen Netzwerke in der Nähe "sieht" (möglicherweise wird auch überprüft, ob das richtige Modul geladen ist, indem es ausgeführt wird lsmod | grep 8192). Versuchen Sie, eine Verbindung zu Ihrem Netzwerk herzustellen. Wenn dies nicht funktioniert, versuchen Sie, eine Verbindung zu einem Netzwerk herzustellen. Wenn das nicht funktioniert, sind Sie von dem Fehler betroffen und müssen den Treiber von http://www.realtek.com ausprobieren .

  • Laden Sie den Treiber von hier herunter und legen Sie die heruntergeladene Datei in Ihrem privaten Ordner ab.

  • Das vorhandene Modul auf die schwarze Liste setzen. Führen Sie in einem Terminalfenster aus

    gksu gedit /etc/modprobe.d/blacklist.conf, blacklist rtl8192cuunten hinzufügen , speichern und beenden, dann neu starten.

  • Extrahieren Sie das heruntergeladene Archiv: Klicken Sie mit der rechten Maustaste, extrahieren Sie es hier oder führen Sie es aus

    unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  • Installieren. Führen Sie in einem Terminalfenster aus

    sudo bash ./RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/install.sh

wie auch immer
quelle
Vielen Dank, es ist besser, aber ich habe ein Problem ... Die Kompilierung ist in Ordnung, aber danach muss ich die Datei install.sh oder etwas ändern, da der neue Ordner mit dem kompilierten Treiber "gesperrt" ist und ich für jeden Ordner und chmod 777 ausführen muss datei für root ... per tutorial ohne bearbeitung mein pc eingefroren und ich musste neustarten (nach zeilenkompilierung treiber ok und vor zeile mit treiber entfernen, einfügen und installieren). Hast du irgendwelche Ideen oder kannst du mir mit schnellen Bearbeitungsrechten helfen? Oder eine einfache Anleitung. Wie es durch Terminal und nicht durch install.sh zu tun :) Danke
Maroš Káčko-Donnie Kario
Sie sollten nichts chmodtun, und ich würde nicht empfehlen, mit Erlaubnis zu spielen. Mach einfach das, was oben steht, sonst nichts. : ~)
mikewhatever 23.01.13
Hm .. aber mein PC ist eingefroren ... Ich muss neu starten .. Ich kann nichts tun und wenn ich neu starte, sehe ich den vom Installer erstellten Ordner mit dem Schlosssymbol: / PC einfrieren vor dem Schritt mit Entfernen, Einfügen und Installieren .. Es zeigt mir, dass Autorisierung erforderlich ist, aber es friert ein und ich muss neu
starten
Nicht sicher. Wenn Sie install.shmit ausgeführt werden, sudosollten Sie die richtigen Berechtigungen erhalten.
Mikewhatever
Vielleicht hatte ich keine Rechte wegen des Einfrierens des PCs ... aber ich weiß nicht, warum es eingefroren ist: / Ist es möglich, dies manuell zu tun? ohne autoinstall ... vielleicht finde ich während des Vorgangs ein paar Probleme oder ähnliches ..
Maroš Káčko-Donnie Kario
2

Es funktioniert gut. Nur ausgeben, sollten Sie zuerst in das Verzeichnis cd.

z.B.

cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105

sudo bash ./install.sh
Steve
quelle
Das einzige Problem, das ich bei der Installation mit dieser Methode hatte, war, dass eines der von install.sh aufgerufenen komprimierten Archive ein zusätzliches Verzeichnis aufwies, als es dekomprimiert wurde, sodass das Installationsskript es nicht finden konnte. Um dieses Problem zu beheben, können Sie das Installationsskript bearbeiten oder das Archiv dekomprimieren, das in der obersten Ebene gefundene Verzeichnis kopieren und in das komprimierte Verzeichnis einfügen, das komprimierte Verzeichnis löschen und das eingefügte Verzeichnis mit dem richtigen Namen komprimieren. Dann laufen sudo ./install.shund es sollte funktionieren.
Mittwoch,
1

Können Sie Details zu den Befehlen bereitstellen, die Sie zum Einrichten der Treiber verwendet haben, oder die Fehler beim Versuch genau beschreiben? Ich habe auch gefunden: Installation von Edimax EW7811 , um die Treiber nacheinander zu installieren, wenn das Handbuch nicht klar genug war. Versuchen Sie auch, die Suchleiste zu verwenden. Viele haben auch Fehler bei Edimax-Treibern gemeldet.

Link zu den Linux-Treibern für Edimax EW7811UN von deren Website: Download (falls Sie ein anderes Installationsprogramm haben)

Andrew
quelle
Ich benutze einige Tutorials, habe aber mit dem Befehl sudo make eingefroren ... <p> cp: nie je možné stat () `/autoconf_rtl8192c_usb_linux.h ': </ p> Dies ist, was das Terminal sagte. Es ist in slowakischer Sprache, weil ich die slowakische Version von Ubuntu 12.10 habe :) Ich denke, Sie können es leicht übersetzen ..
Maroš Káčko-Donnie Kario
BEARBEITEN: Fehler sind hier: kario.wz.cz/upload/linux.txt Ich habe die slowakische Version von Ubuntu 12.10, also sind Fehler auch in der slowakischen :))
Maroš Káčko-Donnie Kario
Versuchen Sie make cleanvor Ihrem ersten Befehl, das Problem zu lösen.
Andrew
Ich mache immer sauber, bevor mache wie im Tutorial, sauber ohne Fehler, aber mache Fehler, aber ich weiß nicht, wie man sie "repariert" ..
Maroš Káčko-Donnie Kario
@ MarošKáčko-DonnieKario der Grund, warum es nicht funktioniert, ist, dass ab Kernel 3.4 einige Änderungen an den Kernel-Headern und einigen der Makros vorgenommen wurden, die verwendet wurden, um den Treiber zu veralten. Der Build führt daher zu den Fehlern, die Sie erhalten. Sie können mit dem Standard-LTS-Kernel 3.2 bauen oder die aktualisierte DKMS-Version von github verwenden, wie in meiner Antwort beschrieben.
9.
-2

Ich habe eine neuere Version des Treibers heruntergeladen und installiert mit: sudo dkms install 8192cu / 1.9

Denken Sie also daran, die Installation mit Ihrer Treiberversion durchzuführen.

Bert
quelle