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

Linux 6.18.37 · ABI / testing

EHCI companion-controller port routing

EHCI high-speed port를 USB 1.1 companion controller로 강제 routing해 full-speed로 동작시키고 정상 routing으로 되돌리는 방법을 설명합니다.

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

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

1. 요약·해설

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

Port number and negative undo

sysfs-bus-pci-drivers-ehci_hcd:1-46

양의 port 번호는 connection을 companion controller로 보내고 음의 번호는 정상 EHCI 동작으로 되돌립니다. Companion이 없는 controller와 high-speed hub port에는 적용되지 않습니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/bus/pci/drivers/ehci_hcd/.../companion
2 /sys/bus/usb/devices/usbN/../companion
3 Date: January 2007
4 KernelVersion: 2.6.21
5 Contact: Alan Stern <stern@rowland.harvard.edu>
6 Description:
7 PCI-based EHCI USB controllers (i.e., high-speed USB-2.0
8 controllers) are often implemented along with a set of
9 "companion" full/low-speed USB-1.1 controllers. When a
10 high-speed device is plugged in, the connection is routed
11 to the EHCI controller; when a full- or low-speed device
12 is plugged in, the connection is routed to the companion
13 controller.
14
15 Sometimes you want to force a high-speed device to connect
16 at full speed, which can be accomplished by forcing the
17 connection to be routed to the companion controller.
18 That's what this file does. Writing a port number to the
19 file causes connections on that port to be routed to the
20 companion controller, and writing the negative of a port
21 number returns the port to normal operation.
22
23 For example: To force the high-speed device attached to
24 port 4 on bus 2 to run at full speed::
25
26 echo 4 >/sys/bus/usb/devices/usb2/../companion
27
28 To return the port to high-speed operation::
29
30 echo -4 >/sys/bus/usb/devices/usb2/../companion
31
32 Reading the file gives the list of ports currently forced
33 to the companion controller.
34
35 Note: Some EHCI controllers do not have companions; they
36 may contain an internal "transaction translator" or they
37 may be attached directly to a "rate-matching hub". This
38 mechanism will not work with such controllers. Also, it
39 cannot be used to force a port on a high-speed hub to
40 connect at full speed.
41
42 Note: When this file was first added, it appeared in a
43 different sysfs directory. The location given above is
44 correct for 2.6.35 (and probably several earlier kernel
45 versions as well).
46
47

3. 한국어 전문 번역

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

EHCI port를 companion controller로 routing

1-46
항목한국어 전문 번역
What/sys/bus/pci/drivers/ehci_hcd/.../companion
What/sys/bus/usb/devices/usbN/../companion
Date2007년 1월
KernelVersion2.6.21
ContactAlan Stern <stern@rowland.harvard.edu>
DescriptionPCI 기반 EHCI USB controller, 즉 high-speed USB 2.0 controller는 흔히 full/low-speed USB 1.1 companion controller 집합과 함께 구현됩니다. High-speed 장치는 EHCI로, full-speed 또는 low-speed 장치는 companion으로 routing됩니다. High-speed 장치를 full-speed로 강제하려면 해당 connection을 companion controller로 routing할 수 있습니다. Port 번호를 쓰면 그 port를 companion으로 보내고 port 번호의 음수를 쓰면 정상 동작으로 되돌립니다. 읽으면 현재 companion으로 강제된 port 목록을 반환합니다. Companion이 없고 내부 transaction translator를 쓰거나 rate-matching hub에 직접 연결된 EHCI controller에서는 동작하지 않습니다. High-speed hub의 port를 full-speed로 강제하는 데도 사용할 수 없습니다. 이 file이 처음 추가됐을 때는 다른 sysfs 디렉터리에 있었으며 위 위치는 2.6.35와 아마 그보다 몇 버전 전부터 올바릅니다.
echo 4 >/sys/bus/usb/devices/usb2/../companion

echo -4 >/sys/bus/usb/devices/usb2/../companion