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

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:

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:

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:

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:

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

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.

Wojtek

Zobacz komentarze

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

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

  • 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?

    • wpisz w google Couldn’t change the IR protocols, raczej znajdziesz rozwiązanie

  • 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%. :)

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

Ostatnie posty

Tani moduł IoT z kamerką ESP32 CAM – pierwsze uruchomienie

Mega tanie, bezprzewodowe moduły Internet of Things na dobre zadomowiły się w naszych sieciach. Od…

2 dni temu

Aktualizacja oprogramowania w stacji lutowniczej AiXun T3A

Pewnie nie każdy posiadacz tytułowej stacji lutowniczej wie, że posiada ona możliwość aktualizacji firmware'u. Producent…

2 tygodnie temu

Programator USB AVR ISP z Arduino Nano

Jakiś czas temu, przeglądając Aliexpress natknąłem się na ciekawy shield do Arduino Nano. Według opisu…

4 tygodnie temu

Tester elementów elektronicznych na atmega – aktualizacja firmware’u

W mailach i komentarzach kilka razy przewijała się prośba o ten wpis. Chodzi o aktualizację…

2 miesiące temu

Wzmacniacz słuchawkowy Lovely Cube – popularny klon Lehmanna

Dziś tematyka audio, a nawet audiofilska. Uznany wzmacniacz słuchawkowy Lehmann Black Cube Linear o dość…

2 miesiące temu

Podsumowanie 2023 roku

Tradycyjnie w styczniu, publikuję podsumowanie minionego roku na stronie grylewicz.pl. Poniżej trochę liczb, lista najpopularniejszych…

3 miesiące temu