Obsługa pilota NOT LV5T Deluxe w Linuksie

Ostatnio pisałem o popularnym tunerze DVB-T Not Only TV i jego działaniu w systemie Linux. Zaraz po podłączeniu dongla nie działa jedynie pilot. Uruchomienie obsługi tego jakże przydatnego urządzenia zawarłem poniżej. Opis jest dość uniwersalny i można go użyć w przypadku innych tunerów DVB-T jak i innych pilotów. Pracy nie jest dużo, a możliwość przełączania kanałów czy regulacji głośności bez ruszania się z wygodnej kanapy – bezcenna :).

Układ rtl28xxu i pilot

Chip tunera LV5T Deluxe to RTL2832U firmy Realtek posiadający obsługę pilotów w wielu standardach, m.in: RC6, RC-5, NEC, Sony, SIRC. Na bocznej części obudowy zmajduje się dioda odbierająca sygnały z pilota nadawane w podczerwieni. Linux Mint posiada niezbędny sterownik, który zapewnia obsługę części DVB-T jak i odbiornika podczerwieni. Brakuje tylko przypisanej mapy klawiszy, czyli komend pilota emulujących wciśnięcie klawisza. Mówi o tym komunikat:

Registered IR keymap rc-empty

DVBT w Linuksie

Nie jest to wielki problem, a zaleta taka, że można skorzystać z jakiegokolwiek pilota nadającego w standardzie obsługiwanym przez chip.

Na kłopoty ir-keytable

Generalnie monopol na obsługę pilotów w linuksie ma lirc, ale coraz częściej można się obyć bez niego. Tak też będzie w naszym przypadku. Prace zaczynamy od zainstalowania ir-keytable, czyli:

sudo apt-get install ir-keytable

Teraz można sprawdzić, jak jest widziany nasz wbudowany odbiornik pilota:

sudo ir-keytable

U mnie wyglądało to tak:

ir-keytable

W tej chwili interesuje mnie to, że mój odbiornik to rc0. Teraz sprawdzimy, czy działa pilot dołączony do zestawu, wpisujemy w terminalu:

sudo ir-keytable -s rc0 -t

i wciskamy guziki na pilocie, celując mniej więcej w tuner, powinny pokazać się odbierane kody:

ir-keytable - komendy z pilota

Naciskamy ctrl+c by wyjść z trybu odbierania komend. Teraz poszukamy gotowych map klawiszy z kodami nadawanymi przez naszego pilota:

sudo grep -i 2bd18 /lib/udev/rc_keymaps/*

czyli szukamy ciągu 2bd18 we wszystkich plikach znajdujących się w /lib/udev/rc_keymaps/. Wynik poszukiwań to:

rc_keymaps - znalezione mapy

Do dołączonego wraz z tunerem pilota pasują dwie mapy: terratec_slim i total_media_in_hand. Otworzyłem sobie obydwa pliki w edytorze tekstu: terratec_slim zawiera mapę 28 klawiszy, total_media_in_hand ma 35 definicji – dokładnie tyle ile posiada mój pilot. Wystarczy więc przypisać tę mapę do naszego odbiornika:

sudo ir-keytable -s rc0 -w /lib/udev/rc_keymaps/total_media_in_hand

Wynik działania powinien wyglądać mniej więcej tak:

ir-keytable - załadowanie mapy klawiszy

I już teraz działa np. regulacja głośności w systemie. By nasze działania były trwałe, trzeba przypisać tabelę kodów do sterownika rtl28xxu. W tym celu edytujemy plik rc_maps.cfg znajdujący się w /etc/, na końcu dopisujemy linijkę:

dvb_usb_rtl28xxu   *   total_media_in_hand   #jakiś komentarz

Przypisanie tablicy kodów pilota do sterownika

W prosty sposób można sprawdzić, przypisanie klawiszy do przycisków pilota, wystarczy wpisać:

 sudo ir-keytable -s rc0 -t

Naciskając guziki na pilocie otrzymamy kod jak i przypisany do niego klawisz. Np. KEY_ESC zostanie zinterpretowane jako wciśnięcie escape, KEY_RIGHT to strzałka w prawo, KEY_S to s itd. Pewien standard nazw klawiszy wyznacza Microsoftowy RC6, by je podejrzeć, wystarczy otworzyć plik /lib/udev/rc6_mce.

Teraz wystarczy skonfigurować skróty klawiaturowe w naszej ulubionej aplikacji, tak by nasz pilot poprawnie nią sterował, lub zmodyfikować (albo utworzyć nową) mapę klawiszy, przypisując te, zdefiniowane w aplikacji.

Mój pilot zaczął działać pod linuksem dzięki opisowi, jaki znalazłem na stronach wiki linuxtv.org.

Możesz również polubić…

9 komentarzy

  1. SpeX pisze:

    Szkoda iż pilot, steruje tylko VOL systemu, a nie samej aplikacji. Czy to może da się gdzieś definiować?

  2. andyjack pisze:

    Wpisuję: “Registered IR keymap rc-empty” i otrzymuję: “Registered: nie znaleziono polecenia”
    Co mam nie tak?

  3. Wojtek pisze:

    Cześć,

    mam taki komunikat:

    wojtek@wojtek-linux /etc $ sudo ir-keytable -s rc0 -w /lib/udev/rc_keymaps/dtt200u
    Read dtt200u table
    Wrote 18 keycode(s) to driver
    /sys/class/rc/rc0//protocols: Invalid argument
    Couldn’t change the IR protocols

    Coś jest nie tak?

  4. Michał pisze:

    Cześć. Dlaczego wszystkie polecenia które dodaję są w porządku, jak u Ciebie, a pilot w ogóle nie reaguje z systemem? Pod terminalem dostaje zwrot, że sygnał dociera, ale np. volume+ nie reaguje w systemie, w sensie, że nie podgłasza się dźwięk. Niemniej bardzo dziękuję za Twoje artykuły, zarówno skonfigurowałem kartę TV dzięki Twoim poradą jak i pilot w 70%. 🙂

  5. Michał pisze:

    Już wszystko ok, wystarczyło uruchomić ponownie komputer. Bardzo dziękuję, pilot działa. 🙂

  1. 12.10.2014

    […] Dwa wyżej opisane playery poprawnie wyświetlają obraz i odtwarzają dźwięk, nie ma problemów z kanałami Full HD. Wspierają również EPG. Do pełnej funkcjonalności i wygody brakuje tylko obsługi pilota, ale i to da się zrobić – dokładny opis znajdziesz tutaj. […]

Leave a Reply

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.