Skocz do zawartości

ASRock HDD Saver


sunrise

Rekomendowane odpowiedzi

Płyty główne ASRock Z97 exterme4 i extreme6 (oraz inne wspierające tą technologię) umożliwiają wyłączanie i włączanie zasilania dysków lub urządzeń za pomocą specjalnego przewodu.

Dla systemu Windows producent dostarcza program a dla Linuksa oczywiście go brak. Ponieważ posiadam taką płytę (Z97 extreme4) postanowiłem napisać łatkę do modułu nct6775, który to obsługuje sterowanie m.in. wentylatorów i pomiar temperatury oraz sterowanie zasilaniem dysków.

OSTRZEŻENIE!!!

Wszystko robisz na własną odpowiedzialność, nie odpowiadam za żadne szkody wynikłe z użycia tego kodu.

Testowane Na Z97 extreme4 powinno też działać na Z97 extreme6 ale nie było testowane.

Patch działa na jądrach 5.12.x

No to działamy

  1. Instalujemy pakiet rpmdevtools, rpm-build oraz dnf-plugins-core
  2. Jak zwykły użytkownik uruchamiamy polecenie rpmdev-setuptree
  3. Pobieramy interesujące na źródła kernel (pakiet .src.rpm) ze strony https://koji.fedoraproject.org/koji/packageinfo?packageID=8
  4. Instalujemy go jako zwykły użytkownik poleceniem rpm -ihv kernel-<tutaj nasza wersja>.src.rpm
  5. W katalogu ~/rpmbuild/SPECS/ będzie plik kernel.spec a w ~/rpmbuild/SOURCES/ źródła kernela
  6. Uruchamiamy jako root polecenie dnf builddep <ścieżka do pliku kernel.spec> i instalujemy pakiety wymagane do zbudowania kernela
  7. Kopiujemy zawartość patcha do pliku ~/rpmbuild/SOURCES/linux-kernel-test.patch
  8. Budujemy pakiet poleceniem rpmbuild -ba <ścieżka do pliku kernel.spec>
  9. Jeżeli wszystko przebiegło pomyślnie nasz nowe pakiety jądra będą w katalogu ~/rpmbuild/RPMS/x86_64/
  10. Instalujemy/aktualizujemy pakiety jądra
  11. Uruchamiamy ponownie system

Jeżeli wszystko przebiegło prawidłowo, powinniśmy mieć plik

/sys/devices/platform/nct6775.656/hwmon/hwmon<X>/hddsaver_enable gdzie <X> to jakiś numer np. 3

Aktualny stan sprawdzamy odczytując ten plik np. poleceniem cat

cat /sys/devices/platform/nct6775.656/hwmon/hwmon3/hddsaver_enable 

Zwracany wartość to Off lub On

Włączamy zasilanie zapisując wartość On do tego pliku, a wyłączamy zapisując Off np.

echo On > /sys/devices/platform/nct6775.656/hwmon/hwmon3/hddsaver_enable 
echo Off > /sys/devices/platform/nct6775.656/hwmon/hwmon3/hddsaver_enable 

 

Kod patcha znajduje się pod adresem https://lkml.org/lkml/2021/5/3/475

Z niewiadomych powodów nie mogę go wstawić do postu (błąd forum)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...