rfkill コマンドでリストされるデバイス名は、ip コマンドでリストされるデバイス名とはまったく異なります。
> rfkill
ID TYPE DEVICE SOFT HARD
0 wwan tpacpi_wwan_sw unblocked blocked
1 wlan phy0 unblocked blocked
8 wlan phy7 unblocked unblocked
> ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 1d:28:4c:95:e6:9b brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 22:5e:9b:23:24:86 brd ff:ff:ff:ff:ff:ff
25: wwp0s20u4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 2e:e1:3b:d9:bc:b2 brd ff:ff:ff:ff:ff:ff
26: wlxda2487111f99: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether da:24:87:11:1f:99 brd ff:ff:ff:ff:ff:ff
なぜこれが起こり、どのように一致するのかをどうやって知ることができますか?
IPを使用してデバイス名を割り当てる方法を説明するこの記事を読んでください。私のEthernetインターフェイス名がeth0ではなくenp0s10であるのはなぜですか? しかし、rfkillが使用するデバイス名はどのように割り当てられますか?
答え1
ワイヤレスには2つの側面があります。
- ワイヤレスハードウェアデバイス物理層、一般的に名前が付けられている物理学X。
- 接続されたネットワークインタフェース開発者一般的に命名ワイヤレスネットワーク。
特定のワイヤレスハードウェアデバイスphyXの場合でも可能です。接続された追加のネットワークインターフェイスの作成、そうする能力がある時。そのため、同じカード(可能な場合)を使用してクライアントとアクセスポイントの役割の両方を実行することができます。おそらく追加のレイヤーがある理由でしょう。この下位層は、最終的なネットワークインタフェースを制御するコマンドiw
以外のコマンドで管理されます。ip link
これに加えて、システムには名前を変更するオプションがあります(ワイヤレスネットワーク) これネットワークインターフェースいわゆるによると一貫したネットワークインタフェースデバイスの命名またはとも呼ばれる予測可能なネットワークインターフェイス名。これは、2つの項目間の相関関係についてより良い推測につながらないため、関連性のないトピックです。物理学X(通常動的)とどの名前。
iw
マニュアルページはほとんど空ですが、コマンドにはまだ(非常に)大きなヘルプページがあります。
# iw help | less
[...]
dev
List all network interfaces for wireless hardware.
dev <devname> info
Show information for this interface.
[...]
特定のネットワークインタフェースの場合ワイヤレスネットワークを使用すると、名前付きアイテムとiw dev wlanY info
結果にwiphy
インデックスが表示されます。これは一致するインデックスXです。物理層相互作用。だからあなたは得ることができますワイヤレスネットワーク->物理学X関係。
例:
# iw dev wlan1 info
Interface wlan1
ifindex 45
wdev 0x300000001
addr 16:c3:0c:a5:63:62
type managed
wiphy 3
txpower 0.00 dBm
phy#X
あるいは、phyXと一致するネットワークインターフェイスでソートされたハードウェアデバイスのリスト(表示)を取得することもできます。たとえば、
# iw dev
phy#4
Interface wlan2
ifindex 46
wdev 0x500000001
addr 2a:5f:7f:7a:30:1b
type managed
txpower 0.00 dBm
phy#3
Interface wlan1
ifindex 45
wdev 0x300000001
addr 16:c3:0c:a5:63:62
type managed
txpower 0.00 dBm
phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr be:2d:23:03:29:c5
type managed
txpower 0.00 dBm
そしてrfkillの関係を見せてください。rfkillZそして物理学X(LTEモデムとBluetoothを除く)
# rfkill -o ID,TYPE,DEVICE,SOFT,HARD list
ID TYPE DEVICE SOFT HARD
0 wlan phy0 unblocked unblocked
4 wlan phy3 unblocked unblocked
5 wlan phy4 unblocked unblocked
9 bluetooth hci0 blocked unblocked
シンボリックリンクに移動し、/sys/class/
情報で利用可能なコンテンツをお読みください。この情報は、できるだけ多くの方法で使用できます。
~から無線LAN到着物理層到着rfkill:
$ ls -l /sys/class/net/wlan1/phy80211
lrwxrwxrwx. 1 root root 0 Sep 1 20:58 /sys/class/net/wlan1/phy80211 -> ../../ieee80211/phy3
$ grep ^ /sys/class/net/*/phy80211/name
/sys/class/net/wlan0/phy80211/name:phy0
/sys/class/net/wlan1/phy80211/name:phy3
/sys/class/net/wlan2/phy80211/name:phy4
$ ls -1d /sys/class/net/*/phy80211/rfkill*
/sys/class/net/wlan0/phy80211/rfkill0
/sys/class/net/wlan1/phy80211/rfkill4
/sys/class/net/wlan2/phy80211/rfkill5
~からrfkill到着物理層到着無線LAN:
$ ls -l /sys/class/rfkill/rfkill4/device
lrwxrwxrwx. 1 root root 0 Sep 1 21:05 /sys/class/rfkill/rfkill4/device -> ../../phy3
$ grep ^ /sys/class/rfkill/rfkill*/device/name
/sys/class/rfkill/rfkill0/device/name:phy0
/sys/class/rfkill/rfkill4/device/name:phy3
/sys/class/rfkill/rfkill5/device/name:phy4
$ ls -1d /sys/class/rfkill/rfkill*/device/device/ieee80211/*
/sys/class/rfkill/rfkill0/device/device/ieee80211/phy0
/sys/class/rfkill/rfkill4/device/device/ieee80211/phy3
/sys/class/rfkill/rfkill5/device/device/ieee80211/phy4
(上記のBluetoothデバイスはレイアウトが異なるため、この方法では表示されません)
ls -1d /sys/class/rfkill/rfkill*/device/device/net/*
/sys/class/rfkill/rfkill0/device/device/net/wlan0
/sys/class/rfkill/rfkill4/device/device/net/wlan1
/sys/class/rfkill/rfkill5/device/device/net/wlan2
# iw phy phy4 interface add onemorewlan type managed addr 12:34:56:78:ab:cd
$ ls -1d /sys/class/ieee80211/phy*/device/net/*
/sys/class/ieee80211/phy0/device/net/wlan0
/sys/class/ieee80211/phy3/device/net/wlan1
/sys/class/ieee80211/phy4/device/net/onemorewlan
/sys/class/ieee80211/phy4/device/net/wlan2
あなたは理解しました。