Linux i Saitek P2500 Rumble Pad
Niedawno dowiedziałem się, że jakaś dobra dusza zaktualizowała sterownik do gamepada Saitek P2500 Rumble, który od niedawna sam posiadam. Oto krótka instrukcja jak najprościej z niego skorzystać:
- Pobieramy plik ze źródłami ze strony powyżej
- Rozpakowujemy archiwum i w nowo utworzonym katalogu wydajemy polecenie make
- Jeśli kompilacja przebiegnie pomyślnie usuwamy z aktywnych modułów usbhid poleceniem rmmod usbhid (sterownik do Saiteka musi być załadowany przed usbhid)
- Dodajemy obsługę wibracji wykonując modprobe hid lub modprobe iforce (zależnie od tego z którego modułu odpowiedzialnego za wibracje chcemy skorzystać)
- Z poziomu katalogu w którym kompilowaliśmy źródła poleceniem insmod ./saitek_p2500.ko dodajemy nowy sterownik do aktualnie działających modułów
- Za pomocą modprobe usbhid ponownie ładujemy usbhid
Również instalacja sterownika jest prosta, z tym że w moim przypadku aby make install przebiegło pomyślnie musiałem wcześniej wykonać mkdir /lib/modules/`uname -r`/kernel/drivers/usb/input gdyż brakowało w hierarchii ostatniego katalogu – input. Dlatego też skrypt instalacyjny nie wiedział gdzie wrzucić moduł.
Aby sterownik automatycznie ładował się przy starcie systemu należy:
- Jako root dopisać do pliku /etc/modules następujące linijki (oczywiście musicie wcześniej zainstalować sterownik w systemie wykonując make install):
-r usbhid # usuwa usbhid
saitek_p2500 #ładuje moduł do pada
hid # łąduje moduł wibracji hid
usbhid # ponownie ładuje usbhid
Warto wiedzieć:
- Dobrze zbudować sobie dołączany ze sterownikiem program fftest służący do testów efektów Force Feedback/Rumble. Aby go skompilować wydajemy polecenie gcc -o fftest fftest.c, program uruchamiany wykonując ./fftest
- Prawodopodobnie fftest nie od razu Wam zadziała, będziecie musieli znaleźć odpowiednie urządzenie w /dev/input dla naszego pada. Radzę spróbować np. ./fftest /dev/input/event5 (przelećcie po wszystkich numerach, któryś powinien działać)
- W niektórych grach wykorzystujących wibrację warto przejrzeć pliki konfiguracyjne lub parametry wykonywania programu i dowiedzieć się jak możemy podać programowi określone urządzenie odpowiedzialne za wibracje (to właśnie te event*)
- Jeśli nie wiecie jakie gry na linuksa posiadają obsługę funkcji wibracji zapraszam tutaj
Problemy ze sterownikiem:
- Powodował Kernel Panic (migające diody na klawiaturze i zwis systemu, z tego co wiem to KP) na jądrze 2.6.26 z załadowanymi modułami wibracji. Bez modułów wibracji nie sprawdzałem, obecnie testuję na 2.6.30 i na razie bez zwisu
