요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
QMAP mux lifecycle
sysfs-class-net-qmi:25-501~254 mux ID로 qmimux network device를 생성하거나 기존 device를 삭제합니다.
QMAP mux identifier
sysfs-class-net-qmi:52-60Qmimux interface 생성 시 연결된 unsigned mux ID를 조회합니다.
MAP pass-through mode
sysfs-class-net-qmi:62-76Raw-ip mode에서만 MAP packet을 stack으로 넘기며 일반적으로 rmnet driver가 처리하고 demultiplex합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
What: /sys/class/net/<iface>/qmi/raw_ip
2
Date: Dec 2015
3
KernelVersion: 4.4
4
Contact: Bjørn Mork <[email protected]>
5
Description:
6
Boolean. Default: 'N'
8
Set this to 'Y' to change the network device link
9
framing from '802.3' to 'raw-ip'.
11
The netdev will change to reflect the link framing
12
mode. The netdev is an ordinary ethernet device in
13
'802.3' mode, and the driver expects to exchange
14
frames with an ethernet header over the USB link. The
15
netdev is a headerless p-t-p device in 'raw-ip' mode,
16
and the driver expects to echange IPv4 or IPv6 packets
17
without any L2 header over the USB link.
19
Userspace is in full control of firmware configuration
20
through the delegation of the QMI protocol. Userspace
21
is responsible for coordination of driver and firmware
22
link framing mode, changing this setting to 'Y' if the
23
firmware is configured for 'raw-ip' mode.
25
What: /sys/class/net/<iface>/qmi/add_mux
26
Date: March 2017
27
KernelVersion: 4.11
28
Contact: Bjørn Mork <[email protected]>
29
Description:
30
Unsigned integer.
32
Write a number ranging from 1 to 254 to add a qmap mux
33
based network device, supported by recent Qualcomm based
34
modems.
36
The network device will be called qmimux.
38
Userspace is in charge of managing the qmux network device
39
activation and data stream setup on the modem side by
40
using the proper QMI protocol requests.
42
What: /sys/class/net/<iface>/qmi/del_mux
43
Date: March 2017
44
KernelVersion: 4.11
45
Contact: Bjørn Mork <[email protected]>
46
Description:
47
Unsigned integer.
49
Write a number ranging from 1 to 254 to delete a previously
50
created qmap mux based network device.
52
What: /sys/class/net/<qmimux iface>/qmap/mux_id
53
Date: January 2021
54
KernelVersion: 5.12
55
Contact: Daniele Palmas <[email protected]>
56
Description:
57
Unsigned integer
59
Indicates the mux id associated to the qmimux network interface
60
during its creation.
62
What: /sys/class/net/<iface>/qmi/pass_through
63
Date: January 2021
64
KernelVersion: 5.12
65
Contact: Subash Abhinov Kasiviswanathan <[email protected]>
66
Description:
67
Boolean. Default: 'N'
69
Set this to 'Y' to enable 'pass-through' mode, allowing packets
70
in MAP format to be passed on to the stack.
72
Normally the rmnet driver (CONFIG_RMNET) is then used to process
73
and demultiplex these packets.
75
'Pass-through' mode can be enabled when the device is in
76
'raw-ip' mode only.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
QMI link framing mode
1-23| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/net/<iface>/qmi/raw_ip |
| Date | 2015년 12월 |
| KernelVersion | 4.4 |
| Contact | Bjørn Mork <[email protected]> |
| Description | Boolean이며 기본값은 'N'입니다. 'Y'로 설정하면 network device link framing을 '802.3'에서 'raw-ip'로 바꿉니다. Netdev는 link framing mode를 반영해 바뀝니다. '802.3' mode에서는 일반 Ethernet device이며 driver는 USB link를 통해 Ethernet header가 있는 frame을 교환할 것으로 기대합니다. 'raw-ip' mode에서는 header가 없는 point-to-point device이며 driver는 USB link를 통해 L2 header 없이 IPv4 또는 IPv6 packet을 교환할 것으로 기대합니다. QMI protocol을 userspace에 위임하므로 userspace가 firmware configuration을 완전히 제어합니다. Userspace는 driver와 firmware의 link framing mode를 조정할 책임이 있으며 firmware가 'raw-ip' mode로 구성되었으면 이 setting을 'Y'로 바꿔야 합니다. |
raw_ipModenetdevUSB link payload
N802.3일반 Ethernet deviceEthernet header가 있는 frame
Yraw-ipHeaderless point-to-point deviceL2 header 없는 IPv4 또는 IPv6 packet
raw_ip boolean에 따른 netdev 형태와 USB link payload를 비교합니다.
Create a QMAP mux device
25-40| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/net/<iface>/qmi/add_mux |
| Date | 2017년 3월 |
| KernelVersion | 4.11 |
| Contact | Bjørn Mork <[email protected]> |
| Description | Unsigned integer입니다. 1부터 254까지의 숫자를 쓰면 최근 Qualcomm 기반 modem이 지원하는 QMAP mux 기반 network device를 추가합니다. Network device 이름은 qmimux가 됩니다. Userspace는 적절한 QMI protocol request를 사용해 qmux network device activation과 modem 측 data stream setup을 관리할 책임이 있습니다. |
Delete a QMAP mux device
42-50| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/net/<iface>/qmi/del_mux |
| Date | 2017년 3월 |
| KernelVersion | 4.11 |
| Contact | Bjørn Mork <[email protected]> |
| Description | Unsigned integer입니다. 1부터 254까지의 숫자를 쓰면 이전에 생성한 QMAP mux 기반 network device를 삭제합니다. |
add_mux에 1~254 기록→qmimux network device 생성→Userspace가 QMI request로 modem data stream 구성→qmap/mux_id에서 연결된 ID 조회→del_mux에 ID를 기록해 device 삭제
같은 1~254 mux ID를 생성, 조회와 삭제에 사용합니다.
QMAP mux interface identifier
52-60| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/net/<qmimux iface>/qmap/mux_id |
| Date | 2021년 1월 |
| KernelVersion | 5.12 |
| Contact | Daniele Palmas <[email protected]> |
| Description | Unsigned integer입니다. Qmimux network interface를 생성할 때 연결된 mux ID를 나타냅니다. |
MAP packet pass-through
62-76| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/net/<iface>/qmi/pass_through |
| Date | 2021년 1월 |
| KernelVersion | 5.12 |
| Contact | Subash Abhinov Kasiviswanathan <[email protected]> |
| Description | Boolean이며 기본값은 'N'입니다. 'Y'로 설정하면 'pass-through' mode가 enable되어 MAP 형식 packet을 stack으로 전달할 수 있습니다. 일반적으로 rmnet driver(CONFIG_RMNET)가 이 packet을 처리하고 demultiplex합니다. 'Pass-through' mode는 device가 'raw-ip' mode일 때만 enable할 수 있습니다. |
QMI device가 raw-ip mode→pass_through = Y→MAP format packet을 network stack으로 전달→rmnet driver(CONFIG_RMNET)가 처리 및 demultiplex
Raw-ip 조건 아래 MAP packet이 rmnet processing으로 전달되는 경로입니다.
802.3 and raw-ip framing
sysfs-class-net-qmi:1-23Userspace가 firmware와 driver의 framing mode를 조정하며 Ethernet header가 있는 802.3과 headerless raw-ip를 선택합니다.