2010-05-03 3 views
1

나는 좋아하는 것을 위해 팬을 약간 일찍 움직이는 netbook을 가지고있다. 난 팬 소음을 줄이기 위해 Windows 전용 솔루션을 찾았지만이 컴퓨터에서 우분투를 사용하고 있습니다.리눅스에서 ACPI 필드 설정

Windows 솔루션에서이 사람은 노트북 하드웨어 컨트롤 (NHC)이라는 프로그램을 사용하고 있습니다.이 프로그램은 내가 만들 수있는 것에서 ACPI 값을 읽고 설정합니다. (http://hpmini110c.siteboard.eu/f3t31-lueftersteuerung-fuer-den-mini.html, 7z 파일의 관련 소스, 팬에 설정 논리를 가진 C# 파일이 있음)

Linux에서 복제하는 방법을 찾고 싶습니다. 환경은 다음과 같습니다

# Where the value is being set 
write = ACPI.FIELD.Write("_SP.PCIO.SBRG.ECO.CTPM", 40); 
# Reading the temperature 
int temp1 = 0; 
bool _tmp = APCI.FIELD.Read("_SB.PCIO.SBRG.ECO.TPM1", ref temp1) 

나는이 내 머리 위로 해요,하지만 누군가가 올바른 방향으로 날 찔러 수 있다면 나는 매우 감사하게 될 거라고 것을 솔직히거야!

답변

0

정확하게 원하는지 확실하지 않지만 lm_sensors을 들여다 보았습니까? 커널 드라이버를 사용하여 hw monoriting을 지원하지만 사용자 공간 라이브러리를 제공합니다.

+0

이전에 lm_sensors를 테스트했지만 슬프게도 컴퓨터에 팬이 표시되지 않으며 trip_points 설정도 허용되지 않습니다. 내가 lm_sensors를 모으는 것에서의 Ao는 슬프게 도와주지 않을 것이다 : (제안에 감사드립니다! – gaqzi

-2

Reflector은 NHC.exe가 관리되는 어셈블리이며 ACPI.FIELD.Write()ACPI.FIELD.Read() 등을 제공하는 클래스를 포함한다고 말합니다. NHC의 저자는 chm 파일에서 특정 하드웨어 유형 (플러그인 모델과 같은)에 대한 호출을 포함하는 클래스를 작성하는 방법을 설명했습니다.

.DLL을 사용하는 대신 실제 C# 코드를 특수 폴더에 넣으면됩니다. 명백히 nhc.exe는 동적으로 컴파일하고 nhc.exe가 시작될 때이 코드를 실행합니다. 이 모든 것이 사실이라면 ACPI.FIELD.ReadWrite 호출을 사용하는 앱을 작성하여 exe로 컴파일하고 nhc.exe를 참조로 지정해야합니다.

그러나 nhc.exe가 난독 화되어 있고 모든 클래스가 표시되지 않는 것이 중요합니다. 따라서 간단히 csc.exe을 실행하고 nhc.exe를 참조 할 수는 없습니다. 확실히 모르겠지만 nhc.exe의 컨텍스트 내에서 해당 코드를 실행할 수 있습니다. nhc.exe는 해당 코드를 처리 할 수있는 특수한 컴파일 작업을 수행합니다.

다른 나쁜 소식은 NHC 개발이 중단 된 것 같습니다. 포럼 웹 사이트가 죽었고 2007 년 마지막 업데이트가있었습니다.

5

Michal Kottman은 이러한 ACPI 명령을 실행할 수있는 커널 모듈을 만들었습니다. 비디오 카드를 토글하는 명령을 호출하도록 설계되었지만 다른 목적으로도 사용할 수 있습니다.

/sbin/insmod acpi_call.ko 
:

  1. 현재 커널
  2. 소스를 취득하고

    git clone git://github.com/mkottman/acpi_call.git 
    cd acpi_call 
    make 
    
  3. 넣 모듈을 구축 일치하는 커널 헤더를 설치 :이 설치 지침 아래 Github에서 사용할 수

    모든 것이 잘 진행 되었다면 /proc/acpi/call "파일".

  4. 명령을 실행하려면 /proc/acpi/call에 써야합니다.

    cat /proc/acpi/call 
    

    : 결과를 커널 로그 (dmesg)을 확인 또는 읽기이 명령의 결과를 얻으려면

    echo '\_SB.PCIO.SBRG.ECO.CTPM' > /proc/acpi/call 
    
  5. : 나는 당신이 _SP와 오타 때문에 \_SB하여 대체 추측 값을 읽은 후에는 값이 지워지므로 나중에 다시 사용하려면 출력을 어딘가에 저장해야합니다.