「インストール - Wi-Fiドライバ」の版間の差分

 
(同じ利用者による、間の2版が非表示)
172行目: 172行目:
  sudo systemctl reboot
  sudo systemctl reboot
<br>
<br>
==== 設定ファイル ====
===== インストール =====
RTL8821AUの設定ファイルを/lib/modprobe.dディレクトリにコピーする。<br>
<br>
Linuxディストリビューションが提供するmodprobe設定ファイルは、/lib/modprobe.dディレクトリである。<br>
ユーザが任意で設定を変更する場合は、/etc/modprobe.dディレクトリにファイルを作成する。<br>
sudo cp 8821au.conf /etc/modprobe.d
<br>
詳細を知りたい場合は、以下に示すファイルを参照すること。<br>
* /lib/modprobe.d/README
* /usr/share/doc/packages/suse-module-tools/README.md
* manページのmodprobe.d(5)
<br>
===== アンインストール =====
RTL8821AUの設定ファイルを/lib/modprobe.dディレクトリから削除する。<br>
sudo rm /etc/modprobe.d/8821au.conf
<br>
==== DKMSの使用 ====
==== DKMSの使用 ====
RTL8821AUチップ向けカーネルモジュールにおいて、DKMSを使用して自動的にビルドおよびインストールする。<br>
RTL8821AUチップ向けカーネルモジュールにおいて、DKMSを使用して自動的にビルドおよびインストールする。<br>
301行目: 319行目:
<br><br>
<br><br>


== Qualcomm QCA ==
== エラー関連 ==
==== エラー関連 ====
==== Qualcomm QCA ====
===== 通信が不安定 =====
===== 通信が不安定 =====
Wi-Fiは50~60[Mbps]で通信を始めるが、暫く時間が経つと10[Mbps]に低下し始め、その後、通信速度が3~30[Mbps]の間で不安定な通信となる。<br>
Wi-Fiは50~60[Mbps]で通信を始めるが、暫く時間が経つと10[Mbps]に低下し始め、その後、通信速度が3~30[Mbps]の間で不安定な通信となる。<br>
315行目: 333行目:
現状、解決策は存在しない。<br>
現状、解決策は存在しない。<br>
ただし、PCを再起動することにより、Wi-Fiカードが認識する場合がある。<br>
ただし、PCを再起動することにより、Wi-Fiカードが認識する場合がある。<br>
<br>
==== スリープ / サスペンドができない ====
スリープ / サスペンドが設定されているにもかかわらず、システムがサスペンドできない現象が発生する場合がある。<br>
この問題は、ath12kドライバのサスペンドサポートが不完全であることに起因している。<br>
<br>
* Qualcomm WCN785x (FastConnect 7800) Wi-Fi 7チップ
* ath12kドライバを使用するその他のWi-Fiデバイス
<br>
===== 症状の確認 =====
# サスペンドを試行
systemctl suspend
# ログを確認
sudo journalctl -b -u systemd-suspend.service
<br>
以下に示すようなエラーが出力される場合、ath12kが原因である。<br>
ath12k_pci 0000:07:00.0: failed to suspend core: -95
PM: Some devices failed to suspend, or early wake event detected
Failed to put system to sleep. System resumed again: Operation not supported
<br>
===== 解決方法 =====
まず、サスペンド前にWi-Fiモジュールをアンロードするサービスを作成する。<br>
sudo vi /etc/systemd/system/wifi-suspend.service
<br>
<syntaxhighlight lang="ini">
[Unit]
Description=Unload ath12k before suspend
Before=sleep.target
[Service]
Type=oneshot
ExecStart=/usr/bin/nmcli radio wifi off
ExecStart=/usr/sbin/rmmod ath12k
[Install]
WantedBy=sleep.target
</syntaxhighlight>
<br>
次に、復帰後にWi-Fiモジュールをロードするサービスを作成する。<br>
sudo vi /etc/systemd/system/wifi-resume.service
<br>
<syntaxhighlight lang="ini">
[Unit]
Description=Reload ath12k after resume
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/modprobe ath12k
ExecStart=/bin/sleep 5
ExecStart=/usr/bin/nmcli radio wifi on
[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
</syntaxhighlight>
<br>
サービスを有効化する。<br>
sudo systemctl daemon-reload
sudo systemctl enable wifi-suspend.service
sudo systemctl enable wifi-resume.service
<br>
電源管理デーモンを再起動する。<br>
# GNOMEの場合
systemctl --user restart gnome-settings-daemon.service
# KDEの場合
systemctl --user restart plasma-powerdevil.service
<br>
正常にスリープ / サスペンドするかどうかを確認する。<br>
systemctl suspend
<br>
復帰後、Wi-Fiモジュールが自動的に読み込まれることを確認する。<br>
sudo journalctl -b -u wifi-resume.service
<br>
また、復帰後、Wi-Fiが自動的に再接続されることを確認する。<br>
もし、Wi-Fiが自動再接続されない場合は、以下に示す事柄を確認する。<br>
* NetworkManagerのWi-Fi設定において、[この優先度で自動的に接続]チェックボックスにチェックが入力されているかどうかを確認する。
* <code>wifi-resume.service</code> 内の <code>ExecStart=/bin/sleep 10</code> の値を増やす。(例 : 10や20)
<br><br>
<br><br>


{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]