요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Online·offline uevent
usb-charger-uevent:20-54change event에서 USB_CHARGER_STATE와 USB_CHARGER_TYPE이 연결 여부와 감지된 charger type을 함께 전달합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
What: Raise a uevent when a USB charger is inserted or removed
2
Date: 2020-01-14
3
KernelVersion: 5.6
4
Contact: [email protected]
5
Description: There are two USB charger states:
7
- USB_CHARGER_ABSENT
8
- USB_CHARGER_PRESENT
10
There are five USB charger types:
12
======================== ==========================
13
USB_CHARGER_UNKNOWN_TYPE Charger type is unknown
14
USB_CHARGER_SDP_TYPE Standard Downstream Port
15
USB_CHARGER_CDP_TYPE Charging Downstream Port
16
USB_CHARGER_DCP_TYPE Dedicated Charging Port
17
USB_CHARGER_ACA_TYPE Accessory Charging Adapter
18
======================== ==========================
20
https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement
22
Here are two examples taken using ``udevadm monitor -p`` when
23
USB charger is online::
25
UDEV change /devices/soc0/usbphynop1 (platform)
26
ACTION=change
27
DEVPATH=/devices/soc0/usbphynop1
28
DRIVER=usb_phy_generic
29
MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
30
OF_COMPATIBLE_0=usb-nop-xceiv
31
OF_COMPATIBLE_N=1
32
OF_FULLNAME=/usbphynop1
33
OF_NAME=usbphynop1
34
SEQNUM=2493
35
SUBSYSTEM=platform
36
USB_CHARGER_STATE=USB_CHARGER_PRESENT
37
USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
38
USEC_INITIALIZED=227422826
40
USB charger is offline::
42
KERNEL change /devices/soc0/usbphynop1 (platform)
43
ACTION=change
44
DEVPATH=/devices/soc0/usbphynop1
45
DRIVER=usb_phy_generic
46
MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
47
OF_COMPATIBLE_0=usb-nop-xceiv
48
OF_COMPATIBLE_N=1
49
OF_FULLNAME=/usbphynop1
50
OF_NAME=usbphynop1
51
SEQNUM=2494
52
SUBSYSTEM=platform
53
USB_CHARGER_STATE=USB_CHARGER_ABSENT
54
USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
USB charger uevent ABI: Raise a uevent when a USB charger is inserted or removed
1-54| 항목 | 한국어 전문 번역 |
|---|---|
| What | Raise a uevent when a USB charger is inserted or removed |
| Date | 2020년 1월 14일 |
| KernelVersion | 5.6 |
| Contact | [email protected] |
| Description | USB charger state는 `USB_CHARGER_ABSENT`와 `USB_CHARGER_PRESENT` 두 가지입니다. Charger type은 알 수 없는 type인 `USB_CHARGER_UNKNOWN_TYPE`, Standard Downstream Port인 `USB_CHARGER_SDP_TYPE`, Charging Downstream Port인 `USB_CHARGER_CDP_TYPE`, Dedicated Charging Port인 `USB_CHARGER_DCP_TYPE`, Accessory Charging Adapter인 `USB_CHARGER_ACA_TYPE` 다섯 가지입니다. Battery Charging v1.2 specification과 adopters agreement는 `https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement`에서 확인할 수 있습니다. `udevadm monitor -p`로 얻은 online 예에서는 platform device에 `ACTION=change`가 발생하고 `USB_CHARGER_STATE=USB_CHARGER_PRESENT`, `USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE`이 포함됩니다. Offline 예에서도 `ACTION=change`가 발생하지만 `USB_CHARGER_STATE=USB_CHARGER_ABSENT`, `USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE`이 포함됩니다. 두 예는 각각 `DEVPATH`, `DRIVER`, `MODALIAS`, Open Firmware 관련 변수, `SEQNUM`, `SUBSYSTEM`을 함께 전달하며 online 예에는 `USEC_INITIALIZED=227422826`도 나타납니다. |
ValueMeaning
USB_CHARGER_ABSENTUSB charger is removed or offline
USB_CHARGER_PRESENTUSB charger is inserted or online
연결 여부를 나타내는 두 environment values입니다.
ValueMeaning
USB_CHARGER_UNKNOWN_TYPECharger type is unknown
USB_CHARGER_SDP_TYPEStandard Downstream Port
USB_CHARGER_CDP_TYPECharging Downstream Port
USB_CHARGER_DCP_TYPEDedicated Charging Port
USB_CHARGER_ACA_TYPEAccessory Charging Adapter
Battery Charging interface가 보고하는 다섯 charger categories입니다.
ConditionUSB_CHARGER_STATEUSB_CHARGER_TYPE
OnlineUSB_CHARGER_PRESENTUSB_CHARGER_SDP_TYPE
OfflineUSB_CHARGER_ABSENTUSB_CHARGER_UNKNOWN_TYPE
두 예 모두 change event이며 state와 type 값이 달라집니다.
UDEV change /devices/soc0/usbphynop1 (platform)
ACTION=change
DEVPATH=/devices/soc0/usbphynop1
DRIVER=usb_phy_generic
MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
OF_COMPATIBLE_0=usb-nop-xceiv
OF_COMPATIBLE_N=1
OF_FULLNAME=/usbphynop1
OF_NAME=usbphynop1
SEQNUM=2493
SUBSYSTEM=platform
USB_CHARGER_STATE=USB_CHARGER_PRESENT
USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
USEC_INITIALIZED=227422826
KERNEL change /devices/soc0/usbphynop1 (platform)
ACTION=change
DEVPATH=/devices/soc0/usbphynop1
DRIVER=usb_phy_generic
MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
OF_COMPATIBLE_0=usb-nop-xceiv
OF_COMPATIBLE_N=1
OF_FULLNAME=/usbphynop1
OF_NAME=usbphynop1
SEQNUM=2494
SUBSYSTEM=platform
USB_CHARGER_STATE=USB_CHARGER_ABSENT
USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE
Charger state와 type
usb-charger-uevent:1-19연결 상태 두 가지와 Battery Charging 규격의 downstream port·adapter type 다섯 가지를 정의합니다.