Frage Das WiFi-Modul 8812AU arbeitet nicht mit der Kernel-Version> = 4.4.0-28-generic


Problem

Ich hatte einen Linksys WUSB 6300 Dual-Band USB WiFi Adapter, der glücklich auf meinem Desktop PC mit dem Treibermodul 8812AU lief.

Als ich es zur Arbeit brachte, benutzte ich die Treiber Signiermethode um es mit Secure Boot zu arbeiten. Es funktionierte gut mit Kernel-Version 4.4.0-23-Generic und später auch mit 4.4.0-24-Generic, wo ich es nach dem Update zurücktrat.

Nach dem Update auf 4.4.0-28 hat das generische Zurücktreten aus irgendeinem Grund nicht mehr die gewünschte Wirkung und es scheint das Treibermodul 88 nicht zu laden12AU.

Nach dem Update auf 4.4.0-38-generic bleibt das Verhalten gleich.

Das Tool Zusätzliche Treiber zeigt mir jetzt DiesIch bin mir also nicht sicher, ob die Moduldateien irgendwie durcheinander geraten sind. Ich bin ziemlich neu bei Ubuntu, also würde ich nicht wissen, wie ich es sagen soll. Als es noch funktionierte, zeigte es mir Dies.

In der Konsequenz funktioniert der Netzwerkadapter nicht und ich habe keine Ideen, was ich überprüfen oder tun sollte, um es wieder zum Laufen zu bringen.

Einzelheiten

lsusb zeigt mir, dass der Adapter als USB-Gerät erkannt wird:

Bus 002 Device 002: ID 13b1:003f Linksys WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU]

sudo lshw -C network zeigt mir nur das Ethernet und das interne WiFi (es hat einen sehr ähnlichen Namen). Es ist ein integrierter WiFi-Adapter, der unter Ubuntu schlecht funktioniert und somit für mich nicht sinnvoll ist.

Hinweis: 8821AE ist das interne WiFi. Ich versuche 88 zu bekommen12AU zu laufen, was hier nicht aufgeführt ist, weil es nicht geladen zu sein scheint.

*-network
   description: Ethernet interface
   product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
   vendor: Realtek Semiconductor Co., Ltd.
   physical id: 0
   bus info: pci@0000:03:00.0
   logical name: enp3s0
   version: 11
   serial: 54:a0:50:d5:4b:0b
   size: 10Mbit/s
   capacity: 1Gbit/s
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8168g-2_0.0.1 02/06/13 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
   resources: irq:42 ioport:e000(size=256) memory:f7d00000-f7d00fff memory:f0000000-f0003fff
*-network
   description: Wireless interface
   product: RTL8821AE 802.11ac PCIe Wireless Network Adapter
   vendor: Realtek Semiconductor Co., Ltd.
   physical id: 0
   bus info: pci@0000:04:00.0
   logical name: wlp4s0
   version: 00
   serial: 54:27:1e:d6:91:8d
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=rtl8821ae driverversion=4.4.0-22-generic firmware=N/A ip=192.168.0.20 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
   resources: irq:46 ioport:d000(size=256) memory:f7c00000-f7c03fff

Laufen rfkill list all zeigt, dass nichts blockiert zu sein scheint:

0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

Jede Hilfe würde sehr geschätzt werden!

Danke vielmals.


2
2017-10-02 19:38


Ursprung


Ich glaube der richtige Treiber für den USB ist 8812au. Was ist das genaue Ergebnis von: sudo modprobe -r rtl8821ae und als nächstes: sudo modprobe 8812au ? Willkommen bei askubuntu. - chili555
Oh. Der 8812au dkms Treiber hat ein Problem. DKMS erstellt während des MAKE-Schritts ein Modul für den vorherigen Kernel, und es wird nicht im aktuellen Kernel geladen (wo es eigentlich sein soll). Sie können feststellen, ob beim Laden ein Fehler beim Laden des Kernelmoduls aufgetreten ist. Ein modinfo 8812au zeigt das falsche Wort magisch an. Ein manuelles dkms remove / build / install funktioniert jedoch. Es gibt ein Problem in Makefile, wenn Speicher mir dient, und ich konnte es noch nicht beheben. Prost, Al - heynnema
Siehe mein Handbuch dkms fix it script unten in einer Antwort. Passen Sie die Versionsnummer bei Bedarf an. Prost, Al - heynnema
Fühle mich nicht schlecht Additional Drivers Der Bildschirm änderte sich bei mir während der Boot-Besuche immer wieder unerklärlich. Nach der Auswahl eines Nvidia-Treibers verschwand der gesamte Abschnitt komplett. Jemand hier erzählte mir, dies sei, weil ich ein PPA aus der Installation ausgewählt hatte zuckt mit den Schultern. - WinEunuuchs2Unix
@ mz1000 die kurze Antwort ist, dass Sie installieren müssen rtl8812au-dkms mit Synaptic. Lesen Sie auch mein Fixit-Skript und laden Sie es herunter, so dass Sie nach einem Kernel-Software-Update beheben können, dass der Treiber wieder kaputt gegangen ist (bis jemand es repariert). Prost, Al - heynnema


Antworten:


Hier ist ein kurzes Skript, das ich geschrieben habe, um ein defektes rtl8812au-dkms-Treiberproblem, das nach jedem Kernel-Software-Update auftritt, manuell zu beheben. Führen Sie das Skript mit aus sudo Nach einem Kernel ist ein Softwareupdate aufgetreten. Das Problem mit diesem Treiber ist, dass dkms es für den falschen Kernel erstellt. Es ist ein Problem mit dkms.conf im Quellcode. ich kann habe eine dauerhafte Lösung ausstehend.

Sie können sagen, ob Sie eine haben kernel module load error in / var / log / syslog beim Booten. Im Terminal, a modinfo 8812au wird zeigen vermagisch als falsch.

#!/bin/bash  
# save as ~/Desktop/fix_8812au.sh  
# in terminal: chmod +x ~/Desktop/fix_8812au.sh
# in terminal, run with: sudo ~/Desktop/fix_8812au.sh

cd /var/lib/dkms

# rtl8812au  

dkms remove rtl8812au/4.3.8.12175.20140902+dfsg -k "$(uname -r)/$(uname -p)"  
dkms build rtl8812au/4.3.8.12175.20140902+dfsg -k "$(uname -r)/$(uname -p)"  
dkms install rtl8812au/4.3.8.12175.20140902+dfsg -k "$(uname -r)/$(uname -p)"

Update: Der Benutzer hat auch eine ältere Version des 8812au-Treibers verwendet, also haben wir die aktuelle Version von 8812au installiert rtl8812au-dkms aus den Repositories, und alles hat funktioniert. Das Skript wird unmittelbar nach dem nächsten Kernel-Software-Update benötigt.

Update # 2: die richtig Fix (Danke @ Jeremy31) für diesen Fehler ist, diese beiden Dateien zu bearbeiten:

gksudo gedit /usr/src/rtl8812au-4.3.8.12175.20140902+dfsg/dkms.conf

gksudo gedit /var/lib/dkms/rtl8812au/4.3.8.12175.20140902+dfsg/build/dkms.conf

und ersetzen Sie MAKE = "'make' all" mit dieser Zeile:

MAKE [0] = "'make' alle KVER = $ {kernelver}"

2
2017-10-02 22:38



Wie ist das mit der Frage verbunden? - Pilot6
@ Pilot6, siehe meine Kommentare, oben. Ich konnte dieses Skript nicht in einem Kommentar veröffentlichen. Es ist eine temporäre Problemumgehung für einen defekten rtl1812au-dkms Treiber. Ich lege es hier für die Informationen von Chili555. Ich werde es bearbeiten. - heynnema
Die Frage betrifft das Signieren von Kernel-Modulen. - Pilot6
@ Pilot6, ja, signieren, aber eigentlich, den 8812au Treiber wieder arbeiten zu lassen. - heynnema
@heynnema Scheint so, als ob du auf dem richtigen Weg bist. Im Syslog sehe ich die Nachricht: 8812au: stimmt der Version von symbol module_layout nicht zu. modinfo gibt mir Dies. Soll ich die Version in Ihrem Skript in 4.2.2_7502.20130517 ändern? Oben erwähnte ich, dass ich Synaptic verwenden sollte, um den Treiber zu installieren. Wie geht das? - mz1000


Dieses Paket kann durch Bearbeiten der dkms.conf Dateien behoben werden ...

sudo -H gedit /usr/src/rtl8812au-4.3.8.12175.20140902+dfsg/dkms.conf

Dann ändere Zeile 4 von MAKE="'make' all" zu MAKE="'make' all KVER=${kernelver}"

Speichern und beenden Sie den Editor und machen Sie dasselbe mit:

sudo -H gedit /var/lib/dkms/rtl8812au/4.3.8.12175.20140902+dfsg/build/dkms.conf

Als ein ähnliches Problem wurde berichtet Ubuntu-Foren und meine Änderungen haben für das letzte Kernel-Update funktioniert, das ich bekommen habe.

Für Ihren aktuellen Kernel sollten Sie in der Lage sein:

dkms build rtl8812au/4.3.8.12175.20140902+dfsg -k $(uname -r)
dkms install rtl8812au/4.3.8.12175.20140902+dfsg -k $(uname -r)


2
2017-10-03 21:59



Ihre Befehle dkms build und dkms install haben einen falschen Parameter -k. Sie haben einen älteren Kernel aufgelistet. Sollte 4.4.0-38-generic / x86_64. Sehen Sie mein Skript für einen anderen Weg, um den richtigen Kernel zu bekommen. Danke für die mögliche Lösung! Prost, Al - heynnema
Es tut mir leid, weil ich auch versucht habe, eine feste Version auf GitHub zu setzen. Das Poster muss gepostet haben lshw -c netErgebnisse aus dem älteren Kernel Dank heynnema - Jeremy31


Ich predige, dass Sie Kernel-Module verwenden sollten, die vollständig signiert und auf die richtige Version kompiliert sind ... dann sündige ich und zwinge ein Modul, in dem ich nicht herausfinden kann, wie ich signieren soll (ich bin sicherheitsbehütet). In der Tat, bevor ich dkms gelernt habe, glaube ich, ich muss abgewichen sein und die falsche Kernel-Version in zuvor gezwungen haben (aber hey, es hat noch funktioniert!).

Sie könnten sich in der gleichen Situation befinden. Jedenfalls mit modprobe Sie können ein unsigniertes Kernel-Modul installieren, indem Sie diese Parameter hinzufügen:

-f, --force                 Force module insertion or removal.
                            implies --force-modversions and
                            --force-vermagic
    --force-modversion      Ignore module's version
    --force-vermagic        Ignore module's version magic

Natürlich predige ich, dass du das nie tun solltest, aber dann wieder ....


0
2017-10-02 22:57



für Scham, kichern. Erzwinge das Laden eines fehlerhaften Moduls. Siehe meine obigen Kommentare über den defekten 8812au Treiber ... und lerne ein paar dkms ... es ist nicht schwer, wirklich. Prost, Al - heynnema
Haha, ich habe ganz klar gesagt, niemals ein Kernel-Modul erzwingen, bevor ich gesagt habe, wie es geht. FTR Ich lernte dkms für EnhanceIO (HDD zu SSD Disk-Caching-Software) vor 2 Jahren in diesem Szenario zwingen eine inkompatible Kernel-Version wäre im Gegensatz zur Erzwingen einer Internetverbindung in. Es mit Intel RST und EnhanceIO beschleunigen die gleiche HDD (zwei Partitionen) auf die gleiche mSata SSD (zwei Cache-Volumes) stellte sich nach 18 Monaten als schlechte Idee heraus ... Hallo gemauerte Windows HDD :( - WinEunuuchs2Unix
Danke für deine Antwort, aber ich werde die Kraft für jetzt vermeiden ;-) - mz1000
Möge die Macht mit dir sein :) - WinEunuuchs2Unix