Jump to content

Recommended Posts

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)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...