← Documents Documentation/arch/x86/usb-legacy-support.rst GitHub 원문 ↗

Linux 6.18.37 · Architecture

USB Legacy Support

BIOS USB Legacy의 PS/2 emulation 문제와 driver·BIOS 대응을 설명합니다.

Source pathDocumentation/arch/x86/usb-legacy-support.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

usb-legacy-support.rst:1-41

USB Legacy support는 bootloader 같은 pre-OS 환경에서 USB keyboard와 mouse를 PS/2 장치처럼 보이게 하지만 실제 PS/2 mouse 기능을 가리거나 64-bit mode를 예상하지 못하는 SMM BIOS와 충돌할 수 있습니다.

USB driver를 PS/2 driver보다 먼저 준비하고 BIOS를 update하거나 USB Legacy를 끄는 것이 기본 대응입니다. 구형 platform에서는 마지막 수단으로 `idle=poll`을 시험할 수 있습니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1
2 .. SPDX-License-Identifier: GPL-2.0
3
4 ==================
5 USB Legacy support
6 ==================
7
8 :Author: Vojtech Pavlik <vojtech@suse.cz>, January 2004
9
10
11 Also known as "USB Keyboard" or "USB Mouse support" in the BIOS Setup is a
12 feature that allows one to use the USB mouse and keyboard as if they were
13 their classic PS/2 counterparts. This means one can use an USB keyboard to
14 type in LILO for example.
15
16 It has several drawbacks, though:
17
18 1) On some machines, the emulated PS/2 mouse takes over even when no USB
19 mouse is present and a real PS/2 mouse is present. In that case the extra
20 features (wheel, extra buttons, touchpad mode) of the real PS/2 mouse may
21 not be available.
22
23 2) If AMD64 64-bit mode is enabled, again system crashes often happen,
24 because the SMM BIOS isn't expecting the CPU to be in 64-bit mode. The
25 BIOS manufacturers only test with Windows, and Windows doesn't do 64-bit
26 yet.
27
28 Solutions:
29
30 Problem 1)
31 can be solved by loading the USB drivers prior to loading the
32 PS/2 mouse driver. Since the PS/2 mouse driver is in 2.6 compiled into
33 the kernel unconditionally, this means the USB drivers need to be
34 compiled-in, too.
35
36 Problem 2)
37 is usually fixed by a BIOS update. Check the board
38 manufacturers web site. If an update is not available, disable USB
39 Legacy support in the BIOS. If this alone doesn't help, try also adding
40 idle=poll on the kernel command line. The BIOS may be entering the SMM
41 on the HLT instruction as well.
42

3. 한국어 전문 번역

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

USB Legacy support 개요

1-15

이 문서는 `SPDX-License-Identifier: GPL-2.0`으로 배포되며 Vojtech Pavlik `<vojtech@suse.cz>`가 2004년 1월 작성했습니다.

BIOS Setup에서 `USB Keyboard` 또는 `USB Mouse support`라고도 부르는 USB Legacy support는 USB mouse와 keyboard를 전통적인 PS/2 장치처럼 사용할 수 있게 합니다. 예를 들어 USB keyboard로 LILO에 입력할 수 있습니다.

USB Legacy support의 문제

16-27
  • 일부 machine에서는 USB mouse가 없어도 emulated PS/2 mouse가 실제 PS/2 mouse를 대신 차지합니다. 이 경우 실제 PS/2 mouse의 wheel, extra button, touchpad mode 같은 추가 기능을 사용할 수 없을 수 있습니다.
  • AMD64 64-bit mode를 활성화하면 SMM BIOS가 CPU의 64-bit mode를 예상하지 못해 system crash가 자주 발생할 수 있습니다. 원문 작성 당시 BIOS manufacturer는 Windows만 test했고 Windows는 아직 64-bit mode를 사용하지 않았다고 설명합니다.

문제별 해결 방법

28-41
문제해결 방법
Problem 1PS/2 mouse driver보다 먼저 USB driver를 load합니다. Linux 2.6에서는 PS/2 mouse driver가 항상 kernel에 built-in되므로 USB driver도 built-in해야 합니다.
Problem 2보통 BIOS update로 해결되므로 board manufacturer web site를 확인합니다. update가 없으면 BIOS에서 USB Legacy support를 비활성화합니다. 그래도 해결되지 않으면 kernel command line에 `idle=poll`을 추가합니다. BIOS가 `HLT` instruction에서도 SMM에 진입할 수 있습니다.