GNU/Linux >> Linux の 問題 >  >> Cent OS

Alma、CentOS、RockyLinuxのAtherosWireless

それほど昔のことではありませんが、AlmaLinuxを2回目のスピンで使用しました。今回は、最新のIdeaPad3マシンのディストリビューションの詳細を確認しました。 1つの大きな明白な問題を除いて、物事はかなりうまくいきました。インストール直後、ワイヤレス接続がありませんでした。これは重要です。なぜなら、特にこの初期の段階では、(一部の)ネットワークなしでは最新のシステムを実際に使用することはできないからです。

すぐに、私はこれを修正するために数時間を費やしました。問題はかなり風変わりであることが判明しました。おそらく、私はすべての適切なドライバーなどを持っていましたが、システムは実際にはハードウェアを利用できませんでした。この問題の原因となった2つの要因の組み合わせは、このチュートリアルで解決します。フォローしてください。

問題の詳細

したがって、発生する問題は次のとおりです。システムアプレットには、ワイヤレスが接続されていないと表示されます。接続しようとすると、Wi-Fiをオンにするように指示されます。 [システム]メニューに移動すると、アダプタが見つからないことが示されます。ただし、コマンドラインでは、メモリ(ath10k)にロードされたAtherosモジュールを確認できます。これは、おそらく機能はそこにあるものの、ワイヤレスカードの開始に何か問題があることを意味します。

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、mac80211、ath10k_core

>

解決策1:ラップトップ固有の無線制御モジュールをブラックリストに登録する

問題の兆候は、何かがワイヤレスデバイスの正常な起動をブロックおよび/または妨げていることを示しています。 Webにアクセスすると、Atherosカードに固有の、これに関する100万の理由とバグレポートが見つかりますが、それだけではありません。ただし、問題は2つの可能性に要約されます。ラップトップで無線アンテナが無効になっている(ハードウェアまたはソフトウェアスイッチを介して)か、互換性のないファームウェアです。

私のIdeaPad3(および他の多くのLenovoラップトップ、特にIdeaPadファミリー)では、Linuxでは、ラジオ、ホットキー、ファン、およびバックライトの制御は、ideapadカーネルモジュールによって制御されます。これは、ideapadまたはideapad-laptopなどとして参照されます。このモジュールは、ワイヤレスデバイスの機能と競合するように構成されている可能性があります。つまり、ワイヤレスアンテナはデフォルトでオフになっています。

最初に試すことは、rfkillコマンドを実行して、これをブロック解除しようとすることです。

sudo rkfill unblock wifi

これが機能しない場合は、ideapadモジュールをブラックリストに登録できます。これにより、システムの起動時にロードされなくなり、ワイヤレスデバイスを正しく初期化できるようになります。これは、以下の下にテキストファイルを作成することによって行われます:

/etc/modprobe.conf/

ファイルに次のような名前を付けます:

ideapad.conf

このファイル内に、次の行を追加します。

ブラックリストのアイデアパッド

他のラップトップモデルをお持ちの場合は、モジュールの名前についてベンダーの仕様を確認してください。

マシンを再起動すると、理想的には問題が修正されます。

解決策2:ワイヤレスカードのファームウェアが異なる

ディストロイメージで取得するファームウェアが、特定のワイヤレスカードに対して十分に最新ではない可能性があります。その場合、ファームウェアイメージを手動で置き換え、カーネルモジュールをリロードすることができます。これにより、適切な機能が提供されます。

Atherosカードのファームウェアは、KalleValoのGitHubページで入手できます。私の知る限り、KalleはAtherosのエンジニアであり、さまざまなデバイスの公式ファームウェアを使用してリポジトリを管理しています。まず、お持ちのデバイスを確認する必要があります。これは、lscpi-vコマンドを使用して実行できます。

...
02:00.0ネットワークコントローラー:Qualcomm Atheros QCA6174 802.11acワイヤレスネットワークアダプター(rev 32)
サブシステム:Lenovoデバイス0827
フラグ:バスマスター、高速開発、レイテンシ0、IRQ 64、IOMMUグループ8
d0200000のメモリ(64ビット、プリフェッチ不可)[size =2M]
機能:[40]PowerManagementバージョン3
機能:[50] MSI: Enable + Count =1/8 Maskable + 64bit-
機能:[70] Express Endpoint、MSI 00
機能:[100]高度なエラーレポート
機能:[148]仮想チャネル
機能:[168]デバイスシリアル番号00-00-00-00-00-00-00-00
機能:[178]レイテンシトレランスレポート
機能:[180]L1PMサブステート
使用中のカーネルドライバー:ath10k_pci
カーネルモジュール:ath10k_pci
...

私のラップトップでは、QCA6174です。 GitHubリポジトリで、必要なファイルを取得できます。以下を含む合計5つのファイルがあります:

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

リポジトリにはこれらのイメージの複数のリビジョンが利用可能であるため、カードに適切なファームウェアイメージを取得するには、複数のダウンロードを実行する必要がある場合があります。最も簡単な方法は、リポジトリ全体のzipを取得するか、クローンを作成してから、必要なファイルを選択的に選択することです。もちろん、ネットワーク接続が可能なシステムでこれを実行してから、影響を受けるラップトップにファイルをコピーする必要があります。

ファイルの名前は異なります。名前を上記の形式に変更する必要があります。例:

mvファームウェア-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1ファームウェア-4.bin

ファームウェアは次の場所に保存されます:

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

このディレクトリ内の安全な場所からファイルをコピーします。これは、復元する必要がある場合に備えて、元のDistroファームウェアのバックアップになります。次に、既存のファイルをGitHubリポジトリからの新しいダウンロードに置き換えます。

ファイルは1つずつ、またはまとめて置き換えることができます。トラブルシューティングについては、1つずつ進めて、特定のリビジョンが役立つかどうかを確認することをお勧めします。再起動せずにこれを実現する最も簡単な方法は、最初に既存のath10kモジュールをメモリからアンロードし、ファイルをコピーしてから、モジュールをリロードすることです。

sudo modprobe -r ath10k_pci
sudo modprobe -r ath10k_core
sudo modprobe -r ath
sudocp"正しい名前の形式のファームウェアファイル"/l​​ib/firmware/ath10k/QCA6174/hw3.0 /
sudo modprobe ath10k_pci
sudo modprobe ath10k_core
sudo modprobe ath

デバイスに間違ったイメージをロードすると、カーネルログに「無効なボードマジック」エラーが表示されます。これは、dmesgコマンドで確認できます:

...
[269.339694] ath10k_pci 0000:02:00.0:ファームウェアバージョンWLAN.RM.4.4.1-00157-QCARMSWPZ-1 api 6機能wowlan、ignore-otp、mfp crc32 90eebefb
[269.404243 ] ath10k_pci 0000:02:00.0:無効なボードマジックが見つかりました
[269.411730] ath10k_pci 0000:02:00.0:board_file api 1 bmi_id N / A crc32 ed5f849a
[272.543623] ath10k_pci 0000:02:00.0:httバージョンリクエストがタイムアウトしました
[272.543629] ath10k_pci 0000:02:00.0:httのセットアップに失敗しました:-110
[272.601433] ath10k_pci 0000:02:00.0:コアを初期化できませんでした(-110)
[272.601505] ath10k_pci 0000:02:00.0:fw(-110)をプローブできませんでした
...

モジュールのブラックリストが機能しない場合は、これでうまくいくはずです。

結論

Linuxのハードウェアの問題には常にがっかりしています。これは主に、エコシステム全体の脆弱性に対する認識が高まり、その結果として、またその結果として、プロプライエタリシステムへの(私の)苦痛な依存を思い出させるためです。デスクトップスペースのシンプルで残酷な現実。しかし、その後、大きくて複雑な問題の解決策を見つけることは常に楽しいことです。

この問題は、Ubuntu、Manjaro、またはFedoraで、IdeaPad 3で発生しませんでした。この問題は、主にデスクトップシステムとして使用することを意図していないため、サーバークロップに固有のものであると思います。ただし、マシン上でRHEL8コミュニティディストリビューションの1つを実行したいと思っていて、Atheros Wirelessカードを持っている場合は、イデオロギーとプロプライエタリシステムについてのすべての話は別として、このガイドは作業を開始するのに役立ちます。これで完了です。


Cent OS
  1. Ansibleを使用してRockyLinux/Centos8にMysql8をインストールして初期化する

  2. Rocky Linux / Alma Linux /CentOS8にFreeIPAクライアントをインストールする方法

  3. CentOS8をRockyLinuxに移行する

  1. Rocky Linux /Centos8でdockerをインストールして構成する方法

  2. GoをFedoraおよびRockyLinux/ Centos/RHELにインストールする方法

  3. Rocky Linux /CentOS8にAnsibleをインストールして構成する方法

  1. Rocky Linux /Centos8にphpComposerをインストールして使用する方法

  2. Rocky Linux / Alma Linux /CentOS8にErlangをインストールする方法

  3. Rocky Linux / Alma Linux /Centos8にPodmanをインストールして使用する方法