Czy linux może bezpośrednio zmienić funkcjonalność sprzętu?


0

Edytuj: Wybrana odpowiedź nie rozwiązała mnie, ale była najbliższa i może być pomocna dla innych.

Mam laptopa Lenovo Y720, który ma klawiaturę RGB. Niestety RGB działa tylko w systemie Windows, ponieważ wymaga programu o nazwie „Lenovo Nerve Sense”, który kontroluje światła. Ponieważ ten program jest dostępny tylko w systemie Windows, czy w jakikolwiek sposób można zapalić klawiaturę na Ubuntu? Próbowałem każdego pojedynczego wątku, który odnosi się do tcpi lub thinkpadów, xled, xset led i wszystkich tych funkcji, które nie działają. Ubuntu nie może nawet zobaczyć, że mam diody LED na klawiaturze, może widzieć tylko caps lock i numlock, ponieważ są one na poziomie oprogramowania układowego, a podświetlenie klawiatury nie.

Czy Linux jest w stanie dokonać zmian w sprzęcie, takich jak znalezienie jakiegoś rejestru światła RGB? Lenovo nie pomoże w tym, jak powiedzieli, ani nie przenosi programu do Linuksa.


2
Tak, możesz napisać oprogramowanie do sterowania tymi diodami z Linuksa. Nie, nie możesz tego zrobić bez dokumentacji lub inżynierii wstecznej aplikacji Windows.
— Daniel B

Innymi słowy, to dla mnie niemożliwe?
— StudentCoderJava

2
Jeśli nie masz doświadczenia w programowaniu na niskim poziomie Windows i / lub inżynierii odwrotnej, jest to prawie niemożliwe lub przynajmniej bardzo, bardzo ciężko.
— gronostaj

No cóż, może się po prostu poddać.
— StudentCoderJava

Jeśli jest to klawiatura USB, google do „inżynierii odwrotnej USB” - to nie takie trudne, a narzędzia można łatwo znaleźć teraz. Jeśli Lenovo było naprawdę miłe (mało prawdopodobne), może nawet znajdować się w deskryptorze HID ... Jednak przygotuj się na dużo czasu, a będziesz musiał przeczytać wiele standardów technicznych itp
— dirkt

Odpowiedzi:


2

Możliwa odpowiedź (może nie dotyczyć konkretnej maszyny):

Na moim Lenovo P50 na moim magazynie Kubuntu 16.04:

  • Jest katalog /proc/acpi/ibm/ w /proc pseudo-system plików (Lenovo odziedziczył markę laptopa IBM)
  • W tym katalogu znajduje się kilka plików, w tym jeden o nazwie /proc/acpi/ibm/kbdlight
  • cat /proc/acpi/ibm/kbdlight mówi:

    status:         0
    commands:       0, 1, 2
    
  • następnie

    sudo bash -c 'echo 2 >/proc/acpi/ibm/kbdlight'
    

    właściwie świeci klawiaturę (używając echo 1 przyciemnia go i echo 0 wyłącza go).

Być może masz już coś podobnego na swoim laptopie, więc cat pliki i eksperyment. Uwaga: Polecenie sudo jest nieco wymyślone, ponieważ bardziej naturalne sudo echo 2 >/proc/acpi/ibm/kbdlight nie działa od przekierowania do /proc/acpi/ibm/kbdlight jest wykonywane przez nieprzypisany identyfikator użytkownika.

PS: dodatkowo na moim P50, Fn - przestrzeń Kombinacja klawiszy natywnie kontroluje światła klawiatury.

PPS: Podstawowym modułem jest thinkpad_acpi kierowca który jest teraz częścią jądra Linuksa (od późnych wersji 2.6) i wydaje się być aktywnie utrzymywany (dodatki w kwietniu obsługujące P50 ...). Zauważ, że dokumentacja mówi, że użycie /proc/acpi jest przestarzały i należy go użyć /sys/devices/platform/thinkpad_acpi/ zamiast.


Czy wiesz, jaki moduł jądra udostępnia ten interfejs (np. Spójrz na lsmod i zgadnij lub spójrz na dmesg po rozruchu)? Te informacje mogą być ważne dla innych osób, które próbują go uruchomić, jeśli moduł jądra nie rozpoznaje jeszcze ich sprzętu.
— dirkt

@dirkt Zobacz rozszerzoną odpowiedź ...
— xenoid
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.