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 :).
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.
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.
Mega tanie, bezprzewodowe moduły Internet of Things na dobre zadomowiły się w naszych sieciach. Od…
Pewnie nie każdy posiadacz tytułowej stacji lutowniczej wie, że posiada ona możliwość aktualizacji firmware'u. Producent…
Jakiś czas temu, przeglądając Aliexpress natknąłem się na ciekawy shield do Arduino Nano. Według opisu…
W mailach i komentarzach kilka razy przewijała się prośba o ten wpis. Chodzi o aktualizację…
Dziś tematyka audio, a nawet audiofilska. Uznany wzmacniacz słuchawkowy Lehmann Black Cube Linear o dość…
Tradycyjnie w styczniu, publikuję podsumowanie minionego roku na stronie grylewicz.pl. Poniżej trochę liczb, lista najpopularniejszych…
Zobacz komentarze
Szkoda iż pilot, steruje tylko VOL systemu, a nie samej aplikacji. Czy to może da się gdzieś definiować?
Da się - przedostatnie zdanie we wpisie.
Wpisuję: "Registered IR keymap rc-empty" i otrzymuję: "Registered: nie znaleziono polecenia"
Co mam nie tak?
Bo tego się nie wpisuje, to fragment loga.
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. :)