How can I get lirc working on a frugal install?


Forum: Apps
Topic: How can I get lirc working on a frugal install?
started by: bpsg119

Posted by bpsg119 on Oct. 12 2007,04:47
I've got a frugal digital picture frame and I'd like to get lirc installed to be able to control with via a remote. I previously was able to compile and install lirc on a normal HDD install, but I'm not sure how to deal with this now.

I've been trying to search and piece together bits of info and find myself going in circles. I'm hoping to get some hints or suggestions on this(maybe its just a waste of time).

I've found deb packages for lirc but my initial attempt at installation failed because there seem to be a bunch of dependencies and my system croaked when I tried grabbing them all.

I do have another computer sitting around that I load a regular HDD DSL install from which I could compile lirc-- would I be able to tar it up or make it a dsl to bring over to my frugal system at that point?

It seems that whenever I try to unpack kernel source in /usr/src/ on the frugal system it gets some fraction of the way through before crapping out-- I guess maybe sucking up all my ram? How much ram would I need to make this a reasonable proposition?

Thanks, and sorry for the long and annoying post. I've come up dry looking around for similar info via searching the forum.

Posted by Juanito on Oct. 12 2007,12:11
If you install the full kernel sources it will take up a lot of ram - the tar.gz file is about 35M so I would guess it needs maybe 100MB. If you don't need to compile an lirc module, then maybe all you need are the kernel headers which take a lot less space.

If you compile lirc on a dsl traditional install, then you should able to make an extension that will work on a frugal system.

Posted by curaga on Oct. 12 2007,14:32
It will take up to 300mb when compiled.. Suggest you compile on the HD install and pack up for the frugal..

Or make a remaster that has lirc in the base to release some ram..

Posted by bpsg119 on Oct. 12 2007,15:53
Great ideas guys. Just need to learn how to do these things. Assuming I'm able to get lirc working on a HD install, how difficult will it be to do either one of the two ideas you guys suggested?
Posted by curaga on Oct. 13 2007,09:13
Making an extension would be easier. After compiling it, and getting to work, make a file list that includes all the files lirc needs, with all paths and one per line (like you would get from "find").

Then pack it up as a .dsl: tar -cvzf lirc.dsl -T my_filelist --no-recursion --numeric-owner
Then use dsl2unc on it, to make it a unc (uses less ram): dsl2unc lirc.dsl

And now you can move this to the frame and test it..

Posted by bpsg119 on Oct. 14 2007,21:55
Quote (curaga @ Oct. 13 2007,05:13)
Making an extension would be easier. After compiling it, and getting to work, make a file list that includes all the files lirc needs, with all paths and one per line (like you would get from "find").

Then pack it up as a .dsl: tar -cvzf lirc.dsl -T my_filelist --no-recursion --numeric-owner
Then use dsl2unc on it, to make it a unc (uses less ram): dsl2unc lirc.dsl

And now you can move this to the frame and test it..

I'm sorry if this should be obvious, but is there an easy way to find out what files a program(in this case lirc) are needed for it to work?  

I know some, but don't know if it is everything I need.

Posted by Juanito on Oct. 15 2007,05:29
It depends on how you got lirc in the first place:

1. From a debian package
Code Sample
$ dpkg -L package_name > filelist

2. By compiling lirc
Code Sample
$ make
$ touch mymarker
$ sudo make install
$ sudo find / -not -type 'd' -cnewer mymarker | grep -v "\/proc\/" | tee filelist

Posted by curaga on Oct. 16 2007,15:50
Or if you put it into it's own prefix, like /opt/lirc, just do a "find /opt/lirc"..
Posted by robc on Oct. 16 2007,20:15
I too am trying to get lirc to work with DSL.
So far I have been able to get lirc 0.8.1 installed with all the dependencies but I don't have the modules.

I can run the lircd daemon but I cannot send/receive/record any IR on any device. I get this error:

Quote
modprobe: modprobe: Can't locate module char-major-61
mode2: error opening /dev/lirc
mode2: No such device


After some searching it seems this is caused from not having the lirc modules loaded, and since I don't even have them then I can't load them.

The lirc deb package that I am using is from iguanaIR, since I am using their hardware.

So, it looks like I need to compile these modules.

Posted by ^thehatsrule^ on Oct. 16 2007,21:24
That looks more like it caused by /dev/lirc not existing..?
Posted by robc on Oct. 16 2007,23:08
Quote
That looks more like it caused by /dev/lirc not existing..?


Yes, that is what I originally thought, but /dev/lirc does exist and afaik lircd creates /dev/lirc if it doesn't already exist. I also get that same error when I tell lircd to use a different device (i.e. /dev/ttyS0).

I've been trying to get the modules for lirc to compile but they are being quite stubborn  ??? . I am down to this error ouput:
Code Sample
Makefile:8: **************************************************
Makefile:8: *** Makefile trick not undone, trying to recover *
Makefile:8: **************************************************
make[5]: *** No rule to make target `modules'.  Stop.
make[4]: *** [lirc_i2c.o] Error 2
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [i2c] Error 2
make: *** [build-stamp] Error 2


I think I am done working on this for today, I'll come back to it tomorrow. Any suggestions and/or answers are more than welcome.

Posted by bpsg119 on Oct. 17 2007,02:35
I've been a bit more successful, but only just. I could write pages on this but to keep it short, I was able to get  0.8.2 compiled and working on a regular HD install with DSL 3.2 back in June/July.

As the topic implies, I'm now trying to get it working on a frugal install with DSL 3.4. As suggested in previous posts, I'm trying to get it to install on 3.4 HD install now and I'll try to get it over to my  frugal system once its working fine.

So far I've been able to get it to compile, responds to mode2(ir input), and even been able to use irrecord to program a remote. That said, irexec a necessary module of lirc for me to do what I need isn't present.

I've found this post to be very useful as a guide to getting this setup before and even now---even though its behaving differently than with 3.2
< lirc guide >

I haven't had time to work on it since the weekend, but I'll be sure to post if I have more questions or if I happen to get this working.

Posted by robc on Oct. 17 2007,22:47
bpsg119: thanks for the link, it helped a lot

I was able to get a working version of lirc-0.8.2

I have created a .dsl for it but it keeps freezing after I load it. I think because it is trying to load modules into /lib. I know I will need to add additional libraries to be able to have this work properly as an extention.

Posted by bpsg119 on Oct. 18 2007,13:04
Quote (robc @ Oct. 17 2007,18:47)
bpsg119: thanks for the link, it helped a lot

I was able to get a working version of lirc-0.8.2

I have created a .dsl for it but it keeps freezing after I load it. I think because it is trying to load modules into /lib. I know I will need to add additional libraries to be able to have this work properly as an extention.

That's great!

I'd sure be interested in whatever you do get, although I'm probably not much help as I really don't know what I'm doing.

Are you using a homebrew IR receiver? I had to also get setserial to make mine work. Like I said I have it talking, but there are still some issues that need to be worked out.

Posted by Juanito on Oct. 18 2007,14:02
Quote
I had to also get setserial to make mine work

- I don't think setserial is strictly necessary, it just makes things easier. With 2.4.26 you have to be careful to use irda in serial emulation mode rather than fir mode (at least for my laptop) otherwise dsl hangs. In 2.6.12 fir mode works fine.

Maybe you need irda-utils to make things work - I made an extension for this a while ago which is in the repository under testing. This < post > might also be useful

Posted by curaga on Oct. 18 2007,14:51
I believe lirc does not use the irda stack at all, but might be wrong.
Posted by robc on Oct. 18 2007,16:10
Searching on www.lirc.org, they do not have complete support for IrDA devices yet. They explicitly state that USB IrDA Dongles are not supported. They also say that a dongle can be used through a serial port but needs "tweaking of the IrDA physical layer protocol." (< http://www.lirc.org/irda.html >)

bpsg119: The .dsl I created works for DSL 3.4.4 LiveCD with the device that I have. I'm not completely sure if it will work for a homebrew design since I don't have the hardware here to test it. I still need to do some other testing of it before I can submit it to the extentions.

I also created a setserial.dsl (actually I made it last year) so I don't have use a deb file.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.