22.4.2009

3. päivä: Kaukosäädin toimimaan

Seuraavaksi näyttäisi olevan tärkeätä saada kaukosäädin toimimaan. Toisena vaihtoehtona on muuttaa VDR toimimaan sellaisilla näppäimillä, jotka löytyvät diNovo Edgestä. Edellinen asennus VDR:stä totteli oletusnäppäimiä numeronäppäimistöstä, joilla hoitui kanavan vaihto. DiNovo Edgessä ei numeronäppämistöä ole, joten jotain pitää säätää. Taas.

Kaukosäätimen asennus ei näytä onnistuvan Ubuntu 8.10:n peruskilkkeillä. Edessä kääntämistä ja hankalampaa säätöä. Ilmeisesti Antec Fusion Remote -kopan mukana tuleva kaukosäädin toimii Lirc 0.84 -versiosta lähtien, mutta Ubuntu 8.10:ssä ei ole kuin 0.83. Uudessa Ubuntu 9.4:ssä olisi sopiva versio, mutta se ilmestyy vasta huomenna eikä toimivuudesta ole niin hyvää takuuta kuin 8.10 + säätö ohjeiden mukaan.

Lähdin etenemään tämän lähteen ohjeiden mukaan: http://ubuntuforums.org/showthread.php?t=1103474


user@meedio:/$ sudo /etc/init.d/lirc stop
[sudo] password for user:
* Stopping remote control daemon(s): LIRC [ OK ]
user@meedio:/$ sudo apt-get remove lirc lirc-modules-source lcdproc


Näemmä apt-get olisi pysäyttänyt lircin itsekin, joten eka stop on turha. Sitten näemmä tuleekin kasa komentoja, joilla haetaan matskut kääntämistä ja cvs:ää varten.

user@meedio:/$ sudo apt-get install cvs
user@meedio:/$ sudo apt-get build-dep lirc
user@meedio:/$ sudo apt-get install libtool automake1.9 autoconf
user@meedio:/$ sudo apt-get install cvs build-essential automake


Haetaan LIRC:n tarvitsema lähdekoodi (CVS:n salasanana näemmä tyhjä).

user@meedio:/$ cvs -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc login
user@meedio:~$ cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc
user@meedio:~$ cd lirc
user@meedio:~$ cvs update


Kuten tarkkakorvaisimmat huomaavat, pitää cvs:n check out eli toinen komento yllä ajaa hakemistossa, johon voi kirjoittaa eli lisätä lirc-hakemiston (voisihan hakemiston absoluuttisen sijainninkin antaa, ihan miten vaan).

Sitten LIRC pitää kääntää.


user@meedio:~/lirc$ sudo ./autogen.sh
user@meedio:~/lirc$ sudo ./setup.sh


Valitse setup.sh:n tuottamasta valikosta Driver Configuration -> USB Devices -> Soundgraph iMON IR/LCD. Sitten valitse päävalikosta Save configuration & run configure.

Ja vielä varsinaiset käännöskomennot

user@meedio:~/lirc$ sudo make
user@meedio:~/lirc$ sudo make install


Varmuuskopiot vanhoista moduleista

user@meedio:~/lirc$ sudo mv /lib/modules/`uname -r`/kernel/ubuntu/lirc/lirc_imon/lirc_imon.ko{,.old}
user@meedio:~/lirc$ sudo mv /lib/modules/`uname -r`/kernel/ubuntu/lirc/lirc_dev/lirc_dev.ko{,.old}


Tässä kohtaa seuraamani ohje ei ollut ihan oikeassa. Käännöstulokset näyttivät tulevan lirc-hakemiston alle, joka sijaitsi kotihakemistossa. Tästä johtuen alla olevat komennot poikkeavat alkuperäisestä ohjeesta.

user@meedio:~$ sudo mkdir /lib/modules/2.6.27-11-generic/selfmade
user@meedio:~$ sudo cp -R lirc/drivers/lirc_dev /lib/modules/2.6.27-11-generic/selfmade/
user@meedio:~$ sudo cp -R lirc/drivers/lirc_imon /lib/modules/2.6.27-11-generic/selfmade/
user@meedio:~$ sudo ln -s /lib/modules/`uname -r`/selfmade/lirc_imon/lirc_imon.ko /lib/modules/`uname -r`/kernel/ubuntu/lirc/lirc_imon/
user@meedio:~$ sudo ln -s /lib/modules/`uname -r`/selfmade/lirc_dev/lirc_dev.ko /lib/modules/`uname -r`/kernel/ubuntu/lirc/lirc_dev/


Lisätään modulit käynnistyksen yhteyteen eli lisää seuraavat rivit tiedoston /etc/modules loppuun.

lirc_dev
lirc_imon


Vaihda tiedoston /etc/lirc/hardware.conf sisältö alla olevaksi.

# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Soundgraph iMON IR/LCD"
REMOTE_MODULES="lirc_dev lirc_imon"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS="--driver=default --device=/dev/lirc0 --pidfile=/var/run/lirc0.pid --listen=8765"

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS="--driver=default --device=/dev/lirc1 --pidfile=/var/run/lirc1.pid --output=/dev/lircd --connect=localhost:8765"

#Enable lircd
START_LIRCD="true"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"

#Try to load appropriate kernel modules
LOAD_MODULES="true"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
START_LIRCMD=""


Vaihda tiedston /etc/lirc/lircd.conf sisältö seuraavaksi.

# this config file was hand-generated
# using lirc-0.8.4a (imon) on Fri Nov 7 13:55:44 2008
#
# contributed by Jarod Wilson
#
# brand: Antec Veris
# model no. of remote control: RM200 (Rebadged iMon PAD)
# devices being controlled by this remote:
# -Antec Veris Multimedia Station Premiere
# -Antec Veris Multimedia Station Elite, possibly
#
# nb: most codes appear to come in with an initial keypress value, as well as
# a "this key is no longer being pressed" value, which is "key | 0x00004000"

begin remote

name Antec_Veris_RM200
bits 64
eps 30
aeps 100

one 0 0
zero 0 0
gap 139998
ignore_mask 0x0000000000000301
min_repeat 1
toggle_bit 0

begin codes
KEY_EXIT 0x2881d5b700000201 # AppExit
KEY_POWER 0x289115b700000201 # Power
KEY_RECORD 0x298115b700000201 # Record
KEY_PLAY 0x2a8115b700000201 # Play
KEY_OPEN 0x29b195b700000201 # Tray Open
KEY_REWIND 0x2a8195b700000201 # Rewind
KEY_PAUSE 0x2a9115b700000201 # Pause
KEY_FASTFORWARD 0x2b8115b700000201 # Fast Forward
KEY_PREVIOUS 0x2b9115b700000201 # Previous Chapter
KEY_STOP 0x2b9715b700000201 # Stop
KEY_NEXT 0x298195b700000201 # Next Chapter
KEY_ESC 0x0200002900000201 # Esc
KEY_EJECTCD 0x299395b700000201 # Eject
AppLauncher 0x29b715b700000201 # App. Launcher
Go 0x2ab195b700000201 # Go
TaskSwitcher 0x2a9395b700000201 # Task Switcher
KEY_MUTE 0x2b9595b700000201 # Mute
KEY_VOLUMEUP 0x28a395b700000201 # VOL +
KEY_VOLUMEDOWN 0x28a595b700000201 # VOL -
KEY_CHANNELUP 0x289395b700000201 # CH +
KEY_CHANNELDOWN 0x288795b700000201 # CH -
Timer 0x2b8395b700000201 # Timer
KEY_1 0x0200001e00000201 # 1
KEY_2 0x0200001f00000201 # 2
KEY_3 0x0200002000000201 # 3
KEY_4 0x0200002100000201 # 4
KEY_5 0x0200002200000201 # 5
KEY_6 0x0200002300000201 # 6
KEY_7 0x0200002400000201 # 7
KEY_8 0x0200002500000201 # 8
KEY_9 0x0200002600000201 # 9
KEY_0 0x0200002700000201 # 0
Star 0x0220002500000201 # *
Hash 0x0220002000000201 # #
KEY_VIDEO 0x2b8515b700000201 # Videos
KEY_AUDIO 0x299195b700000201 # Music
KEY_PHOTO 0x2ba115b700000201 # Pictures
KEY_TV 0x28a515b700000201 # TV
KEY_BOOKMARKS 0x288515b700000201 # Bookmark
Thumbnail 0x2ab715b700000201 # Thumbnail
Zoom 0x29a595b700000201 # Zoom
FullScreen 0x2aa395b700000201 # Full Screen
KEY_DVD 0x29a395b700000201 # DVD
KEY_MENU 0x2ba395b700000201 # Menu
Subtitle 0x298595b700000201 # Subtitle
KEY_LANGUAGE 0x2b8595b700000201 # Audio
MouseKeyboard 0x299115b700000201 # Mouse/Keyboard
# MouseKeyboard also spews 0100007f between press and release...
KEY_BACKSPACE 0x0200002a00000201 # Backspace
KEY_SELECT 0x0200002c00000201 # Select/Space
# SelectSpace also spews 2b9115b7 and 289115b7 between press and release...
LeftMenu 0x0280000000000201 # Left Menu
RightMenu 0x0200006500000201 # Right Menu
BTN_LEFT 0x0101000000000201 # L. Click
# LeftClick flips to 01010001 when held
BTN_RIGHT 0x0102000000000201 # R. Click
# Un-click for both right and left is 01000000
KEY_ENTER 0x0200002800000201 # ENTER
# Un-click for all 0x02foo buttons is 02000000
KEY_UP 0x0100800000000201 # Pad Up
KEY_DOWN 0x01007f0000000201 # Pad Down
KEY_LEFT 0x0100008000000201 # Pad Left
KEY_RIGHT 0x0100007f00000201 # Pad Right
end codes

end remote



Otetaan uudet modulit käyttöön käännöstuoreena.

user@meedio:~$ sudo modprobe -r -v lirc_imon
rmmod /lib/modules/2.6.27-11-generic/kernel/ubuntu/lirc/lirc_imon/lirc_imon.ko
rmmod /lib/modules/2.6.27-11-generic/kernel/ubuntu/lirc/lirc_dev/lirc_dev.ko
user@meedio:~$ sudo modprobe lirc_dev
user@meedio:~$ sudo modprobe lirc_imon


Ennen LIRCin käynnistämistä, lisäsin ~/lirc -hakemistoon, jonne kaikki oli käännetty, kaikille oikeudet lukea ja suorittaa (sudo chmod ugo+rx ~/lirc).

Käynnistetään lirc

user@meedio:~/lirc/tools$ sudo /etc/init.d/lirc start


Kaiken säädön jälkeen kaukosäätimestä saa satunnaisen oloisesti jotain elämää vastaanottimelle asti. Vastineet kaukon painamiseen ovat aika satunnaisia, mutta tapahtuessaan konsistentteja. Kaukosäädin ja etulevyn äänenvoimakkuuden säädin siis varmasti toimivat.

user@meedio:~/lirc/tools$ sudo ./mode2 -m -r -d /dev/lirc1
code: 0x00010000000002ee
code: 0x298115b700000201
code: 0x298155b700000201
^C
user@meedio:~/lirc/tools$ sudo ./mode2 -m -r -d /dev/lirc0
code: 0x0200001f00000000



Jostain syystä irw-ohjelma ei toimi, vaan valittaa, ks. alla. Käsittääkseni irw toimii lircd:n läpi, kun taas mode2 toimii suoraan laitteen kanssa. Lircd ei siis toimi jostain syystä oikein.

user@meedio:~/lirc/tools$ ./irw
connect: Connection refused



Jatkan vääntämistä illemmalla...

Ei kommentteja:

Lähetä kommentti