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를 사용하여 장치 이름을 할당하는 방법을 설명하는 이 기사를 읽었습니다.내 이더넷 인터페이스 이름이 eth0 대신 enp0s10인 이유는 무엇입니까? 그런데 rfkill이 사용하는 장치 이름은 어떻게 할당됩니까?
답변1
무선에는 두 가지 측면이 있습니다.
- 무선 하드웨어 장치물리층, 일반적으로 이름이 지정됨물리학X.
- 연결된 네트워크 인터페이스개발자일반적으로 명명무선 네트워크.
특정 무선 하드웨어 장치 phyX의 경우에도 가능합니다.연결된 추가 네트워크 인터페이스 생성, 그렇게 할 수 있는 능력이 있을 때. 그렇기 때문에 동일한 카드(가능한 경우)를 사용하여 클라이언트와 액세스 포인트 역할을 모두 수행하는 것이 가능합니다. 아마도 추가 레이어가 있는 이유일 것입니다. 이 하위 계층은 최종 네트워크 인터페이스를 제어하는 명령 iw
이 아닌 명령으로 모두 관리됩니다.ip link
이 외에도 시스템에는 이름을 바꿀 수 있는 옵션이 있습니다(무선 네트워크) 이것네트워크 인터페이스소위에 따르면일관된 네트워크 인터페이스 장치 이름 지정또는라고도 알려진예측 가능한 네트워크 인터페이스 이름. 이는 두 항목 사이의 상관관계에 대해 더 나은 추측으로 이어지지 않기 때문에 관련이 없는 주제입니다.물리학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 모뎀 및 블루투스 제외)
# 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/
정보에서 사용할 수 있는 내용을 읽으십시오. 이 정보는 가능한 여러 가지 방법으로도 사용할 수 있습니다.
~에서무선 랜도착하다물리층도착하다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도착하다물리층도착하다무선 랜:
$ 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
(위의 블루투스 장치는 레이아웃이 다르기 때문에 이런 식으로 표시되지 않습니다)
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
당신은 이해했습니다.