← Documents Documentation/ABI/testing/sysfs-bus-pci-drivers-xhci_hcd GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

xHCI Debug Capability controls

xHCI Debug Capability의 shared root port, USB descriptor ID·protocol, event polling interval과 상태를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-bus-pci-drivers-xhci_hcd
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

DbC enablement and states

sysfs-bus-pci-drivers-xhci_hcd:1-26

DbC를 활성화하면 shared root port가 debug device에, 비활성화하면 xHCI에 배정됩니다. 속성은 여섯 단계의 DbC 상태를 반환합니다.

Debug device descriptor

sysfs-bus-pci-drivers-xhci_hcd:27-78

DbC가 disabled일 때만 USB descriptor의 idVendor, idProduct, bcdDevice와 bInterfaceProtocol을 변경할 수 있습니다.

Idle DbC event polling

sysfs-bus-pci-drivers-xhci_hcd:79-87

DbC가 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 <baolu.lu@linux.intel.com>
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.
11
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.
16
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.
22
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.
26
27 What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor
28 Date: March 2023
29 Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
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.
39
40 What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct
41 Date: March 2023
42 Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
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.
51
52 What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice
53 Date: March 2023
54 Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
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.
64
65 What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol
66 Date: March 2023
67 Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
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.
78
79 What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms
80 Date: February 2024
81 Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
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.
88

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

xHCI Debug Capability 상태

1-26
항목한국어 전문 번역
What/sys/bus/pci/drivers/xhci_hcd/.../dbc
Date2017년 6월
ContactLu Baolu <baolu.lu@linux.intel.com>
DescriptionxHCI-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로 되돌립니다. 읽으면 현재 상태를 반환합니다.
가능한 상태설명
disabledDbC 비활성화
enabledDbC 활성화
initialized초기화됨
connected연결됨
configured구성됨
stalledStall 상태

DbC USB idVendor

27-39
항목한국어 전문 번역
What/sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor
Date2023년 3월
ContactMathias Nyman <mathias.nyman@linux.intel.com>
DescriptionxHCI 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
Date2023년 3월
ContactMathias Nyman <mathias.nyman@linux.intel.com>
DescriptionxHCI 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
Date2023년 3월
ContactMathias Nyman <mathias.nyman@linux.intel.com>
DescriptionxHCI 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
Date2023년 3월
ContactMathias Nyman <mathias.nyman@linux.intel.com>
DescriptionxHCI 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
Date2024년 2월
ContactMathias Nyman <mathias.nyman@linux.intel.com>
DescriptionDbC event 확인에 쓰는 polling interval을 조정합니다. 단위는 millisecond이고 허용 범위는 0..5000이며 기본값은 64 ms입니다. DbC가 enabled 상태이지만 active data transfer가 없을 때 이 interval을 사용합니다.