ACPI 오류: 어떻게, 왜, 무슨 일이 발생합니까? [폐쇄]

ACPI 오류: 어떻게, 왜, 무슨 일이 발생합니까? [폐쇄]

Debian에서 Arch까지 다양한 장치에서 ACPI 오류가 나타나는 것을 보았습니다. ACPI가 대략적으로 무엇을 의미하는지 알고 있습니다.

ACPI(고급 구성 및 전원 인터페이스)는 데스크탑 및 모바일 컴퓨터의 전력 소비를 효율적으로 처리하기 위한 업계 사양입니다.

나는 또한 이것이 종종 단지보여주다이 오류는 *nix 기반 배포판에서 Window$보다 더 자세한 커널 피드백을 갖는 경향이 있기 때문에 발생합니다.

내 질문은 다음과 같습니다.

  1. 누구의 잘못인가요? 제조사에서 잘 지원하지 않아서일까, 커널에서 충분히 지원하지 않아서일까?
  2. 이러한 오류를 처리하기 위한 "모범 사례"는 무엇입니까? 제가 겪고 있는 문제는 대부분 눈에 거슬리는 문제이지만 Microsoft 친구들처럼 이러한 문제를 숨겨도 괜찮을까요?
  3. 무엇인가요실제로이러한 오류가 발생하면 어떻게 되나요? 정의에 따르면, 모든 통치 권력이 제대로 이루어지지 않으면 꽤 부정적인 부작용이 있을 것처럼 들리지만, 이는 대부분 수동적인 것 같습니다. 정확히 무엇을 하도록 되어 있나요?

답변1

ACPI는 원래 "전력 소비를 처리하기 위한 인터페이스"였지만 더 복잡해졌으며 하드웨어 리소스 할당과 같은 다른 사항도 지정합니다.

문제는 ACPI 사양이 상당히 복잡하다는 것입니다. 하드웨어 공급업체는 종종 ACPI 사양을 위반하지만 Windows 드라이버와 함께 하드웨어를 배송하고 드라이버가 손상된 ACPI 데이터를 잘 처리하는 방식으로 드라이버를 작성하면 아무도 이를 알아차리지 못합니다. 사양을 준수하는 데이터가 필요한 Linux에서 동일한 작업을 시도할 때까지 이러한 오류가 발생합니다.

더 흥미롭게도 ACPI 데이터는 운영 체제에 따라 다를 수 있지만(ACPI에는 운영 체제를 쿼리하는 기능이 있습니다) 쿼리 기능은 작동할 때도 있고 작동하지 않을 때도 있으며, 나머지 Windows가 제공하는 동안 Linux에 올바른 값을 제공하려고 시도하는 경우도 있습니다. 드라이버와 함께 작동하기 때문에 값이 깨졌습니다. 때로는 Linux가 완전히 테스트되지 않은 값을 제공하는 경우도 있습니다. 이것이 어디로 가는지 알 수 있습니다. 모든 것이 엉망입니다.

내 개인적인 "모범 사례"는 필요한 것이 잘못될 때까지 모든 오류를 무시하는 것입니다. 이 경우에는 OS 식별을 조작하고, 커널 매개변수를 재정의하여 조작하고, 다른 모든 방법이 실패하면 앉아서 ACPI 테이블을 디컴파일하고 정확히 무엇이 잘못되었는지 알아내려고 노력하십시오. 마지막 부분은 재미가 없습니다.

관련 정보