GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Atheros Wireless in Alma, CentOS und Rocky Linux

Vor nicht allzu langer Zeit habe ich AlmaLinux für eine zweite Runde genommen, diesmal für eine detailliertere Überprüfung der Distribution auf meinem brandneuen IdeaPad 3-Rechner. Die Dinge liefen einigermaßen gut, bis auf ein großes eklatantes Problem. Direkt nach der Installation hatte ich keine Wireless-Konnektivität. Dies ist wichtig, da Sie ein modernes System ohne (etwas) Netzwerk nicht wirklich verwenden können, insbesondere so früh.

Bald verbrachte ich ein paar Stunden damit, das Problem zu beheben. Das Problem stellte sich als ziemlich skurril heraus. Angeblich hatte ich alle richtigen Treiber und so weiter, aber das System konnte die Hardware nicht wirklich nutzen. Eine Kombination aus zwei Faktoren hat zu dem Problem beigetragen, das wir in diesem Tutorial lösen werden. Folge mir.

Problem im Detail

Das Problem, das auftritt, ist also wie folgt. Das System-Applet sagt, dass Wireless nicht verbunden ist. Wenn Sie versuchen, eine Verbindung herzustellen, werden Sie aufgefordert, Wi-Fi einzuschalten. Wenn Sie in das Systemmenü gehen, sagt es Ihnen, dass kein Adapter gefunden werden kann. In der Befehlszeile können Sie jedoch sehen, dass Atheros-Module in den Speicher geladen werden (ath10k). Das bedeutet, dass mit der Initiierung der Wireless-Karte etwas nicht stimmt, obwohl angeblich die Funktionalität vorhanden ist.

lsmod |grep ath
ath10k_pci 49152 0
ath10k_core 471040 1 ath10k_pci
ath 36864 1 ath10k_core
mac80211 929792 1 ath10k_core
cfg80211 835584 3 ath,mac10k_core >

Lösung 1:Laptop-spezifisches Funksteuerungsmodul auf Blacklist setzen

Die Problemmanifestation weist darauf hin, dass etwas das drahtlose Gerät blockiert und/oder verhindert, dass es ordnungsgemäß startet. Wenn Sie das Internet besuchen, finden Sie dafür eine Million Gründe und Fehlerberichte, die speziell für Atheros-Karten gelten, aber nicht nur. Das Problem läuft jedoch auf zwei Möglichkeiten hinaus:Funkantennen sind auf Ihrem Laptop deaktiviert (über einen Hardware- oder Softwareschalter) oder inkompatible Firmware.

Auf meinem IdeaPad 3 (und vielen anderen Lenovo-Laptops, insbesondere der IdeaPad-Familie) wird unter Linux die Steuerung von Radio, Hotkeys, Lüftern und Hintergrundbeleuchtung vom Ideapad-Kernelmodul geregelt. Es wird als ideapad oder ideapad-laptop oder ähnlich bezeichnet. Es ist möglich, dass dieses Modul so konfiguriert ist, dass es mit der Funktionalität des Wireless-Geräts in Konflikt steht, d. h. die Wireless-Antenne ist standardmäßig ausgeschaltet.

Das erste, was Sie versuchen sollten, ist, den Befehl rfkill auszuführen, um zu versuchen, dies zu entsperren:

sudo rkfill WLAN freigeben

Wenn dies nicht funktioniert, können Sie das Ideapad-Modul auf die schwarze Liste setzen – dies verhindert, dass es beim Systemstart geladen wird, und ermöglicht hoffentlich die korrekte Initialisierung des Wireless-Geräts. Dies geschieht durch Erstellen einer Textdatei unter:

/etc/modprobe.conf/

Benennen Sie die Datei etwa so:

ideapad.conf

Fügen Sie in dieser Datei die folgende Zeile hinzu:

Ideenblock auf schwarze Liste setzen

Wenn Sie andere Laptop-Modelle haben, überprüfen Sie bitte die Herstellerspezifikation für den Namen des Moduls.

Starten Sie Ihren Computer neu und im Idealfall wird Ihr Problem behoben.

Lösung 2:Unterschiedliche Firmware für Ihre WLAN-Karte

Es ist möglich, dass die Firmware, die Sie mit dem Distributions-Image erhalten, nicht modern genug für Ihre spezielle Wireless-Karte ist. In diesem Fall können Sie die Firmware-Images manuell ersetzen und die Kernel-Module neu laden, was Ihnen die richtige Funktionalität geben sollte.

Die Firmware für Atheros-Karten ist auf der GitHub-Seite von Kalle Valo verfügbar. Soweit ich weiß, ist Kalle ein Atheros-Ingenieur und pflegt das Repository mit der offiziellen Firmware für eine Vielzahl von Geräten. Zuerst müssen Sie überprüfen, welches Gerät Sie haben. Sie können dies mit dem Befehl lscpi -v tun:

...
02:00.0 Netzwerkcontroller:Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (Rev. 32)
Subsystem:Lenovo Device 0827
Flags:Bus Master, Fast Devsel, Latency 0, IRQ 64, IOMMU-Gruppe 8
Speicher bei d0200000 (64-Bit, nicht vorabrufbar) [Größe =2 MB]
Fähigkeiten:[40] Power Management Version 3
Fähigkeiten:[50] MSI:Enable+ Count=1/8 Maskable+ 64bit-
Fähigkeiten:[70] Express Endpoint, MSI 00
Fähigkeiten:[100] Erweiterte Fehlerberichterstattung
Fähigkeiten:[148] Virtueller Kanal
Fähigkeiten:[168] Seriennummer des Geräts 00-00-00-00-00-00-00-00
Fähigkeiten:[178] Latency Tolerance Reporting
Fähigkeiten:[180] L1 PM Substates
> Verwendeter Kernel-Treiber:ath10k_pci
Kernel-Module:ath10k_pci
...

Auf meinem Laptop ist es QCA6174. Im GitHub-Repo können Sie dann die notwendigen Dateien abrufen. Es gibt insgesamt fünf Dateien, darunter:

board.bin
board-2.bin
firmware-4.bin
firmware-6.bin
firmware-sdio-6.bin

Im Repository sind mehrere Revisionen dieser Images verfügbar, sodass Sie möglicherweise mehr als einen Download durchführen müssen, um das richtige Firmware-Image für Ihre Karte zu erhalten. Am einfachsten ist es, eine ZIP-Datei des gesamten Repos zu erstellen oder zu klonen und dann die erforderlichen Dateien selektiv auszuwählen. Natürlich müssen Sie dies auf einem System mit Netzwerkverbindung tun und dann die Dateien auf Ihren betroffenen Laptop kopieren.

Die Dateien haben unterschiedliche Namen - Sie müssen sie in das obige Format umbenennen, z. B.:

mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin

Die Firmware ist gespeichert unter:

/lib/firmware/ath10k/QCA6174/hw3.0/

Kopieren Sie die Dateien aus diesem Verzeichnis an einen sicheren Ort. Dies ist die Sicherung Ihrer ursprünglichen Distributions-Firmware, falls Sie sie wiederherstellen müssen. Ersetzen Sie dann die vorhandenen Dateien durch die neuen Downloads aus dem GitHub-Repository.

Sie können die Dateien einzeln oder in großen Mengen ersetzen. Bei der Fehlerbehebung ist es am besten, nacheinander vorzugehen und zu sehen, ob eine bestimmte Überarbeitung hilft. Der einfachste Weg, dies ohne Neustart zu erreichen, besteht darin, zuerst die vorhandenen ath10k-Module aus dem Speicher zu entladen, die Dateien zu kopieren und dann die Module neu zu laden.

sudo modprobe -r ath10k_pci
sudo modprobe -r ath10k_core
sudo modprobe -r ath
sudo cp "Firmware-Datei im richtigen Namensformat" /lib/firmware/ath10k/QCA6174/hw3.0 /
sudo modprobe ath10k_pci
sudo modprobe ath10k_core
sudo modprobe ath

Wenn Sie das falsche Image für Ihr Gerät laden, sehen Sie im Kernel-Protokoll den Fehler „Invalid Board Magic“. Sie können dies mit dem dmesg-Befehl überprüfen:

...
[ 269.339694] ath10k_pci 0000:02:00.0:firmware ver WLAN.RM.4.4.1-00157-QCARMSWPZ-1 api 6 features wowlan,ignore-otp,mfp crc32 90eebefb
[ 269.404243 ] ath10k_pci 0000:02:00.0:Ungültige Board-Magic gefunden
[ 269.411730] ath10k_pci 0000:02:00.0:board_file api 1 bmi_id N/A crc32 ed5f849a
[ 272.543623] ath10k_pci 0000:0.02 :0.02 :0.02 Zeitüberschreitung bei der Versionsanforderung
[ 272.543629] ath10k_pci 0000:02:00.0:HTT konnte nicht eingerichtet werden:-110
[ 272.601433] ath10k_pci 0000:02:00.0:Kern konnte nicht initialisiert werden (-110)
[ 272.601505] ath10k_pci 0000:02:00.0:FW (-110) konnte nicht geprüft werden
...

Sollte das Blacklisting des Moduls nicht funktionieren, sollte dies geschehen.

Schlussfolgerung

Ich bin immer wieder bestürzt über Hardwareprobleme unter Linux, vor allem, weil sie meine Wahrnehmung der Fragilität des gesamten Ökosystems verstärken, und auch, weil sie mich an (meine) schmerzhafte Abhängigkeit von proprietären Systemen erinnern, sowohl als Folge davon als auch als die einfache, grausame Realität des Desktop-Bereichs. Aber andererseits macht es immer Spaß, Lösungen für große, komplexe Probleme zu finden.

Ich habe dieses Problem nicht mit Ubuntu, Manjaro oder Fedora auf dem IdeaPad 3 festgestellt. Ich nehme an, das Problem ist einzigartig für die Server-Ernte, hauptsächlich weil sie nicht wirklich als Desktop-Systeme verwendet werden sollen. Wenn Sie jedoch Lust haben, eine der RHEL8-Community-Distributionen auf Ihrem Computer auszuführen, und Sie zufällig eine Atheros Wireless-Karte haben, alle Gespräche über Ideologie und proprietäre Systeme beiseite, sollte dieser Leitfaden Ihnen helfen, loszulegen. Und wir sind fertig.


Cent OS
  1. So installieren und konfigurieren Sie Docker in Rocky Linux/Centos 8

  2. So installieren Sie Go in Fedora und Rocky Linux/Centos/RHEL

  3. So installieren und konfigurieren Sie Ansible unter Rocky Linux/CentOS 8

  4. So installieren Sie Erlang auf Rocky Linux/Alma Linux/CentOS 8

  5. So installieren und verwenden Sie Podman in Rocky Linux/Alma Linux/Centos 8

So installieren Sie die GCC-Compiler-Sammlung unter CentOS 8 und Rocky Linux 8

So installieren Sie Fish Shell unter CentOS 8 und Rocky Linux 8

So installieren Sie Webmin unter CentOS 8 und Rocky Linux 8

So installieren und konfigurieren Sie Jenkins in Rocky Linux/Centos 8

So installieren Sie Rabbitmq in Rocky Linux/Alma Linux/Centos 8

So konfigurieren Sie die FreeIPA-Replikation unter Rocky Linux/Alma Linux/Centos 8