22.4.2009

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

Jahas, olin näemmä unohtanut ajaa komennon sudo make install eikä lirc sitten ollut tietenkään missään saatavilla. Onpa outoa kun ei käynnistynyt :)

Kun sitten ajoin em. skriptin piti vielä konfata /etc/init.d/lirc -tiedostoa. '

Hakemiston

/usr/sbin

tilalle pitää laittaa hakemisto

/usr/local/sbin


Kannattaa vielä varmistaa, että lirc todella sijaitsee ko. hakemistossa. Ja sitten lirc-demoni käyntiin.

user@meedio:~/lirc$ sudo /etc/init.d/lirc start
* Loading LIRC modules [ OK ]
* Starting remote control daemon(s) : LIRC [ OK ]


Mutta eipä lähtenyt vieläkään toimimaan ainakaan irw. Pitkään ihmeteltyäni luin, että /dev/lirc0 ja /dev/lirc1 toimivan jollain tavalla sarjamuotoisesti ja jos toisen bufferia ei tyhjennetä, ei toisestakaan voi lukea mitään. Kun käynnistää molemmille laitteille oman mode2 -prosessin (ks. edellinen blogaus), niin kaukosäädin toimii täydellisesti. Mutta tämä ei vielä ratkaise kuin sen, että laitteisto itsessään on kunnossa.

Edellinen löytö auttoi ymmärtämään miksei lircd vastannut huhuiluihin, vaikka senkin konfiksessa oli virhe, joka ensin oli korjattava. Käynnistin kaksi lircd-prosessia yhtä aikaa sekä pakotin sen käyttämään oikeaa konfiguraatiota. Lircd-prosessi, joka kuuntelee (--listen=8765), toimii isäntänä toiselle lircd:lle. Prosessi irw puolestaa rekisteröi itsensä jäljemmälle prosessille tai ainakin tulosteen mukaan se saa uuden asiakkaan. Sitten käynnistin irw:n ja kas, kone reagoi kaukosäätimeen juuri oikealla tavalla ainakin irw:n mukaan. Alla esimerkki (lircd-prosessit olivat molemmat omassa shellissään samoin kuin irw, mutta koostin tulostukset yhteen).


user@meedio:~$ sudo /usr/local/sbin/lircd -n --driver=default --device=/dev/lirc0 --pidfile=/var/run/lirc0.pid --listen=8765 /etc/lirc/lircd.conf
user@meedio:~$ sudo /usr/local/sbin/lircd -n --driver=default --device=/dev/lirc1 --pidfile=/var/run/lirc1.pid --output=/dev/lircd --connect=localhost:8765 /etc/lirc/lircd.conf
user@meedio:~$ sudo irw
[sudo] password for user:
0200001e00000201 00 KEY_1 Antec_Veris_RM200
0200001e00000201 00 KEY_1 Antec_Veris_RM200
0200001e00000201 00 KEY_1 Antec_Veris_RM200
0200001e00000201 00 KEY_1 Antec_Veris_RM200


Kaukosäädin toimii täydellisesti oikealla lirc:n konfiguraatiolla. Konfiguraation vaihtamiseksi voisin muuttaa /etc/init.d/lirc -skriptiä, mutta sitä en halua enempää muutella. Parempi vaihtaa /etc/lircd.conf -tiedoston sisältö.

user@meedio:/$ cd /etc/
user@meedio:/etc$ sudo mv lircd.conf lircd.conf.original
user@meedio:/etc$ sudo ln -s /etc/lirc/lircd.conf lircd.conf


Sitten taas lircd käymään ja kokeilu irw:llä osoitti muutoksen toimivan!

Ei kommentteja:

Lähetä kommentti