요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
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 <[email protected]>
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.
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.
23
For example: To force the high-speed device attached to
24
port 4 on bus 2 to run at full speed::
26
echo 4 >/sys/bus/usb/devices/usb2/../companion
28
To return the port to high-speed operation::
30
echo -4 >/sys/bus/usb/devices/usb2/../companion
32
Reading the file gives the list of ports currently forced
33
to the companion controller.
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.
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).
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 |
| Date | 2007년 1월 |
| KernelVersion | 2.6.21 |
| Contact | Alan Stern <[email protected]> |
| Description | PCI 기반 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
Port number and negative undo
sysfs-bus-pci-drivers-ehci_hcd:1-46양의 port 번호는 connection을 companion controller로 보내고 음의 번호는 정상 EHCI 동작으로 되돌립니다. Companion이 없는 controller와 high-speed hub port에는 적용되지 않습니다.