요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Debug device descriptor
sysfs-bus-pci-drivers-xhci_hcd:27-78DbC가 disabled일 때만 USB descriptor의 idVendor, idProduct, bcdDevice와 bInterfaceProtocol을 변경할 수 있습니다.
Idle DbC event polling
sysfs-bus-pci-drivers-xhci_hcd:79-87DbC가 enabled이지만 active transfer가 없을 때 사용하는 event polling interval을 0..5000 ms 범위로 조정합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc
2
Date: June 2017
3
Contact: Lu Baolu <[email protected]>
4
Description:
5
xHCI compatible USB host controllers (i.e. super-speed
6
USB3 controllers) are often implemented with the Debug
7
Capability (DbC). It can present a debug device which
8
is fully compliant with the USB framework and provides
9
the equivalent of a very high performance full-duplex
10
serial link for debug purpose.
12
The DbC debug device shares a root port with xHCI host.
13
When the DbC is enabled, the root port will be assigned
14
to the Debug Capability. Otherwise, it will be assigned
15
to xHCI.
17
Writing "enable" to this attribute will enable the DbC
18
functionality and the shared root port will be assigned
19
to the DbC device. Writing "disable" to this attribute
20
will disable the DbC functionality and the shared root
21
port will roll back to the xHCI.
23
Reading this attribute gives the state of the DbC. It
24
can be one of the following states: disabled, enabled,
25
initialized, connected, configured and stalled.
27
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor
28
Date: March 2023
29
Contact: Mathias Nyman <[email protected]>
30
Description:
31
This dbc_idVendor attribute lets us change the idVendor field
32
presented in the USB device descriptor by this xhci debug
33
device.
34
Value can only be changed while debug capability (DbC) is in
35
disabled state to prevent USB device descriptor change while
36
connected to a USB host.
37
The default value is 0x1d6b (Linux Foundation).
38
It can be any 16-bit integer.
40
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct
41
Date: March 2023
42
Contact: Mathias Nyman <[email protected]>
43
Description:
44
This dbc_idProduct attribute lets us change the idProduct field
45
presented in the USB device descriptor by this xhci debug
46
device.
47
Value can only be changed while debug capability (DbC) is in
48
disabled state to prevent USB device descriptor change while
49
connected to a USB host.
50
The default value is 0x0010. It can be any 16-bit integer.
52
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice
53
Date: March 2023
54
Contact: Mathias Nyman <[email protected]>
55
Description:
56
This dbc_bcdDevice attribute lets us change the bcdDevice field
57
presented in the USB device descriptor by this xhci debug
58
device.
59
Value can only be changed while debug capability (DbC) is in
60
disabled state to prevent USB device descriptor change while
61
connected to a USB host.
62
The default value is 0x0010. (device rev 0.10)
63
It can be any 16-bit integer.
65
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol
66
Date: March 2023
67
Contact: Mathias Nyman <[email protected]>
68
Description:
69
This attribute lets us change the bInterfaceProtocol field
70
presented in the USB Interface descriptor by the xhci debug
71
device.
72
Value can only be changed while debug capability (DbC) is in
73
disabled state to prevent USB descriptor change while
74
connected to a USB host.
75
The default value is 1 (GNU Remote Debug command).
76
Other permissible value is 0 which is for vendor defined debug
77
target.
79
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms
80
Date: February 2024
81
Contact: Mathias Nyman <[email protected]>
82
Description:
83
This attribute adjust the polling interval used to check for
84
DbC events. Unit is milliseconds. Accepted values range from 0
85
up to 5000. The default value is 64 ms.
86
This polling interval is used while DbC is enabled but has no
87
active data transfers.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
xHCI Debug Capability 상태
1-26| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/drivers/xhci_hcd/.../dbc |
| Date | 2017년 6월 |
| Contact | Lu Baolu <[email protected]> |
| Description | xHCI-compatible USB host controller, 즉 super-speed USB 3 controller는 Debug Capability(DbC)와 함께 구현되는 경우가 많습니다. DbC는 USB framework를 완전히 준수하며 debug용 고성능 full-duplex serial link에 해당하는 debug 장치를 제공할 수 있습니다. DbC debug 장치는 xHCI host와 root port 하나를 공유합니다. DbC를 활성화하면 root port가 DbC에, 그 외에는 xHCI에 배정됩니다. "enable"을 쓰면 DbC를 활성화하고 "disable"을 쓰면 비활성화해 shared root port를 xHCI로 되돌립니다. 읽으면 현재 상태를 반환합니다. |
| 가능한 상태 | 설명 |
|---|---|
| disabled | DbC 비활성화 |
| enabled | DbC 활성화 |
| initialized | 초기화됨 |
| connected | 연결됨 |
| configured | 구성됨 |
| stalled | Stall 상태 |
DbC USB idVendor
27-39| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor |
| Date | 2023년 3월 |
| Contact | Mathias Nyman <[email protected]> |
| Description | xHCI debug 장치가 USB device descriptor에 제시하는 idVendor field를 변경합니다. USB host에 연결된 동안 descriptor가 바뀌지 않도록 DbC가 disabled 상태일 때만 변경할 수 있습니다. 기본값은 0x1d6b(Linux Foundation)이며 임의의 16-bit integer를 사용할 수 있습니다. |
DbC USB idProduct
40-51| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct |
| Date | 2023년 3월 |
| Contact | Mathias Nyman <[email protected]> |
| Description | xHCI debug 장치가 USB device descriptor에 제시하는 idProduct field를 변경합니다. DbC가 disabled 상태일 때만 변경할 수 있습니다. 기본값은 0x0010이며 임의의 16-bit integer를 사용할 수 있습니다. |
DbC USB bcdDevice
52-64| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice |
| Date | 2023년 3월 |
| Contact | Mathias Nyman <[email protected]> |
| Description | xHCI debug 장치가 USB device descriptor에 제시하는 bcdDevice field를 변경합니다. DbC가 disabled 상태일 때만 변경할 수 있습니다. 기본값은 0x0010(device revision 0.10)이며 임의의 16-bit integer를 사용할 수 있습니다. |
DbC USB interface protocol
65-78| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol |
| Date | 2023년 3월 |
| Contact | Mathias Nyman <[email protected]> |
| Description | xHCI debug 장치가 USB Interface descriptor에 제시하는 bInterfaceProtocol field를 변경합니다. DbC가 disabled 상태일 때만 변경할 수 있습니다. 기본값 1은 GNU Remote Debug command이고 허용되는 다른 값 0은 vendor-defined debug target입니다. |
DbC event polling interval
79-87| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms |
| Date | 2024년 2월 |
| Contact | Mathias Nyman <[email protected]> |
| Description | DbC event 확인에 쓰는 polling interval을 조정합니다. 단위는 millisecond이고 허용 범위는 0..5000이며 기본값은 64 ms입니다. DbC가 enabled 상태이지만 active data transfer가 없을 때 이 interval을 사용합니다. |
DbC enablement and states
sysfs-bus-pci-drivers-xhci_hcd:1-26DbC를 활성화하면 shared root port가 debug device에, 비활성화하면 xHCI에 배정됩니다. 속성은 여섯 단계의 DbC 상태를 반환합니다.