Chili555 による回答 システムファイル/etc/modprobe.d/ath9k.confを作成するには? の構成ファイルを作成できることが示されていますカーネルモジュール。ここで問題は、その構成ファイルに設定されているオプションがSudo modprobe ath9k
の後に有効になったことをどのように確認するかです。
チェックしようとしている特定のオプションはps_enable
です。ただし、次のことを行う
$ modinfo ath9k | grep ps_enable
parm: ps_enable:Enable WLAN PowerSave (int)
パラメータとは何かを説明するだけで、現在の値は説明しません。
TL; DR:_/sys/module/ath9k/parameters/
_を参照するか、cat "$(readlink -f /sys/class/net/wlp2s0/device/driver/)"/module/parameters/<param_name>
を実行します
明らかにそのような情報は_/sys
_ファイルシステムに含まれています。関連する投稿の Gilles's answer によると、インターフェイスで使用されているドライバを見つけるには、次のように実行します
_readlink /sys/class/net/wlan0/device/driver
_
のように相対パスを提供します
_../../../../bus/pci/drivers/ath5k
_
私の場合 systemdおよび予測インターフェースの命名 のため、インターフェースの名前は異なり、生成されます
_$ readlink /sys/class/net/wlp2s0/device/driver
../../../../bus/pci/drivers/ath9k
_
結果のディレクトリパスには、サブディレクトリ_module/parameters/
_が含まれます。ここには、現在の値を含む各パラメーターのファイルがあります。したがって、_/etc/modprobe/ath9k.conf
_ファイルを編集してモジュールを再挿入すると、結果は次のようになります。
_# After editing the conf file to set parameter to 1
$ Sudo sh -c 'modprobe -r ath9k ; sleep 3; modprobe ath9k'
$ Sudo cat /sys/class/net/wlp2s0/device/driver/../../../../bus/pci/drivers/ath9k/module/parameters/ps_enable
1
# after editing the file and setting parameter to 0
$ Sudo sh -c 'modprobe -r ath9k ; sleep 3; modprobe ath9k'
$ Sudo cat /sys/class/net/wlp2s0/device/driver/../../../../bus/pci/drivers/ath9k/module/parameters/ps_enable
0
_
コマンドも組み合わせることができます。
_$ cat "$(readlink -f /sys/class/net/wlp2s0/device/driver/)"/module/parameters/ps_enable
0
_
代替の_/sys
_パスも_/sys/modules
_になります。インターフェイスで使用されているドライバーがすでにわかっている場合は、おそらくより望ましいので、readlink
の部分をスキップできます。私の特定のケースでは
_/sys/module/ath9k/parameters/ps_enable
_
または
_/sys/module/ath9k/drivers/pci\:ath9k/module/parameters/
_
sysfs(5)
マニュアルによると、「このサブディレクトリには、カーネルに読み込まれるモジュールごとに1つのサブディレクトリが含まれています。」
インターフェイスで使用されているドライバーを特定する別の方法もあります(必要に応じて、モジュールのconfファイルを編集しているということは、インターフェイスが使用しているモジュールがわかっていることを意味しますが、必要な場合は代替としてそれを残します)。デスクトップ環境があり、dbus
が実行されており、さらに qdbus
または_dbus-send
_がインストールされている場合、このような情報はNetwork Managerのdbusインターフェース(ただし、個々のデバイスのオブジェクトパスを把握する必要があり、おそらくPythonまたはC)で記述した方がよいでしょう。
_$ qdbus --system org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/Devices/14 org.freedesktop.NetworkManager.Device.Driver
ath9k
_