DSDT

DSDT라고 해서 부팅 때 램으로 올라와서 하드웨어와 소프트웨어 양쪽에서 참조하는 일종의 펌웨어가 있다. /proc/acpi/dsdt 를 보면 있고, iasl로 디컴파일을 할 수 있다. acpi 프로젝트에 있는 설명을 보면 MS가 제작한 컴파일러는 감지하지 못하는 에러가 많다고 한다. 인텔의 iasl 컴파일러는 잘 잡는단다.

에버라텍 1000에서 온도 센서가 안 잡히는 문제가 있어서 찾아보다 알게 되었다. 문제는 에버라텍 같은 노트북 벤더가 제공하는 DSDT가 제대로 된 게 아니라는 것. 찾아보니 acpi의 DSDT 정보를 직접 고쳐서 쓰면 되는 모양이다.

acpi 프로젝트 사이트에는 3xxx대 모델만 올라와 있어서 직접 해보겠다고 proc에 있는 걸 디컴파일해서 컴파일을 시도하고 에러를 살펴봤다. (지금은 깨져서 접속되지 않는, ACPI howto 중 fix broken dsdt) 안내 페이지가 있어서 참고를 했는데 아무래도 기계마다 다 다른지 그대로 따라할 수는 없고 눈치를 봐서 시행착오를 겪는 수 밖에 없을 것 같다.

http://www.alkemio.org/wordpress/2005/09/23/patching-your-dsdt-with-ubuntu/ 개중 에러 없이 iasl로 컴파일 성공한 3270 모델 꺼는 부팅해보니 안 켜지고 팬만 열심히 돌아간다. 평소에 팬이 그렇게 돌아가는 소리를 못 들었는데 아마 팬도 DSDT의 영향을 받는가보다.
Comments