First off, I originally tried to become a member of the mailing list and send it there, but after I joined and then sent my messgae, I got a "must be approved" message that still hasn't been acted on. I'm not complaing, since I'm sure I'm not anyone's top priority, but I just wanted to bring it up.
I have installed an irman version of lirc 0.9.0 on my OpenSUSE 13.2 installation from here: http://download.opensuse.org/repositories/home:/wolfi323:/irman/openSUSE_13.2/. I was successfully able to use irrecord with both the irman and usbx drivers on /dev/ttyACM0, but when I configure lirc to use the driver and generated config file, I get no output from irw. I have tried starting lirc manually as well as with its service. I have the same issue on another Ubuntu machine with the same config file.
Here is lircd.conf generated by irrecord with the irman driver:
# Please make this file available to others
# by sending it to lirc@bartelmus.de
#
# this config file was automatically generated
# using lirc-0.9.0(irman) on Thu Aug 6 19:09:06 2015
#
# contributed by
#
# brand: lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#
begin codes
KEY_0 0xFFFF666536383937 0x0000000066666666
KEY_1 0xFFFF666535306166 0x0000000066666666
KEY_2 0xFFFF666539303666 0x0000000066666666
KEY_3 0xFFFF666531306566 0x0000000066666666
KEY_4 0xFFFF666537303866 0x0000000066666666
KEY_5 0xFFFF666562303466 0x0000000066666666
KEY_6 0xFFFF666533306366 0x0000000066666666
KEY_7 0xFFFF666534386237 0x0000000066666666
KEY_8 0xFFFF666538383737 0x0000000066666666
KEY_9 0xFFFF666530386637 0x0000000066666666
KEY_BACKSPACE 0xFFFF666538303766 0x0000000066666666
KEY_ENTER 0xFFFF666538323764 0x0000000066666666
KEY_UP 0xFFFF666562383437 0x0000000066666666
KEY_DOWN 0xFFFF666537613835 0x0000000066666666
KEY_LEFT 0xFFFF666537383837 0x0000000066666666
KEY_RIGHT 0xFFFF666533386337 0x0000000066666666
KEY_OK 0xFFFF666535616135 0x0000000066666666
KEY_BACK 0xFFFF666531616535 0x0000000066666666
KEY_STOP 0xFFFF666565303166 0x0000000066666666
KEY_PAUSE 0xFFFF666532326464 0x0000000066666666
KEY_PLAY 0xFFFF666561323564 0x0000000066666666
KEY_REWIND 0xFFFF666531326564 0x0000000066666666
KEY_FORWARD 0xFFFF666539323664 0x0000000066666666
KEY_PREVIOUS 0xFFFF666533326364 0x0000000066666666
KEY_NEXT 0xFFFF666562323464 0x0000000066666666
KEY_RECORD 0xFFFF666532306466 0x0000000066666666
KEY_MENU 0xFFFF666534326264 0x0000000066666666
KEY_EXIT 0xFFFF666539613635 0x0000000066666666
KEY_BLUE 0xFFFF666563303366 0x0000000066666666
KEY_INFO 0xFFFF666531386537 0x0000000066666666
KEY_SUBTITLE 0xFFFF666536303966 0x0000000066666666
KEY_LANGUAGE 0xFFFF666561303566 0x0000000066666666
KEY_GREEN 0xFFFF666538613735 0x0000000066666666
KEY_RED 0xFFFF666532386437 0x0000000066666666
KEY_YELLOW 0xFFFF666535386137 0x0000000066666666
KEY_ESC 0xFFFF666539383637 0x0000000066666666
KEY_NUMERIC_STAR 0xFFFF666561383537 0x0000000066666666
KEY_PAGEUP 0xFFFF666564303266 0x0000000066666666
KEY_PAGEDOWN 0xFFFF666566303066 0x0000000066666666
KEY_CHANNELUP 0xFFFF666530326664 0x0000000066666666
KEY_CHANNELDOWN 0xFFFF666561613535 0x0000000066666666
KEY_ADVINFO 0xFFFF666532616435 0x0000000066666666
KEY_SLOW 0xFFFF666563383337 0x0000000066666666
KEY_REPEAT 0xFFFF666530616635 0x0000000066666666
KEY_STEP 0xFFFF666565383137 0x0000000066666666
KEY_MUTE 0xFFFF666564383237 0x0000000066666666
KEY_POWER 0xFFFF666534306266 0x0000000066666666
KEY_EJECT 0xFFFF666530306666 0x0000000066666666
end codes
My remote is from an old Terapin DVD player that I'm not using anymore. It outputs the HEX comand and then ffffff as long as it's held down. No, my remote does not have all of the buttons above, but my Harmony Remote won't need to know that when I program the buttons into that (I simply changed the names of the buttons). I would use the MCE remote with the Harmony, but I have another device that also likes to respond to those signals (I'm sure that you can guess what it is).
I should note that this is not the actually irman device, it is an Arduino (Sparkfun Pro Micro) that I stuck a working sensor on. It listens for the irman driver's "IR" message and responds properly with "OK" every time. However, sometimes, when using the irman driver, my LED that signifies that the handshaking has happened does not turn on when I start lirc. It always works with irrecord. I'm not sure, but I think that the handshaking only occurs in irrecord (and not lirc). I would prefer to use the usbx driver over irman, but irman has given me better output I think (the generated config files are slightly different).
Any assistance is greatly appreciated. I've been struggling with this for a while now. I created forum posts on both the OpenSUSE and Kodi forums (and tried the mailing list as I said above), but I did not get any help about this problem.
Thanks,
DaAwesomeP
Sorry about the formatting (I can't edit it). I see now that Sourceforge doesn't take the standard MD formatting for code (three backticks).
Fixed the formatting, NP
Nordic summer holidays... :)
That said, I dont really know what to do here. This is 0.9,0, a version from 2011 - current version is 0.9.2, and 0.9.3 is branched. So, this is really old code. I understand that this is what debian package, and have even filed a bug about it. But it's hard to support.
There is new upstream configuration docs at [1]. In particular, the Configuration Manual might be helpful, even though it partlly refers to new stuff such as dynamic drivers. Following that flow, the first questions woulde be:
Not much help, I know. But this is what comes up out of the top of my head
--alec
[1] http://lirc.sourceforge.net/lirc.org/html/index.html
We cannot have a milestone on a 0.9.0 configuration problem, which at this point don't even seems to be a bug (?)
Well, I'll go and report a bug to OpenSUSE (it's not Debian). Heck, I use the buildservice and make my own version of 0.9.3 with irman. I'm going to work on simply updating it before I get to anything else. It's kind of odd that OpenSUSE 13.2 wouldn't have the latest version of lirc (they were missing irman too, but that'll have to be in the next version of OpenSUSE unless I pull the package from the Factory version).
I just read that by going to 0.9.1 or higher I can get the kernel stuff configured automatically, so I might as well upgrade. Also, mode2 gives no output either really. I huess that there's no point in rebuilding lirc at this point if I'm going to update it.
Thank you for such a quick response.
There is a 0.9.3pre3 fedora source rpm at https://leamas.fedorapeople.org/lirc/lirc-0.9.3-0.1.pre3.fc22.src.rpm Don't know if it's any help.
EDIT: That the kernl configuraion in 0.9.1+ is automatic isn't really true. It's just one task of many which is handled by lircd. But it's certainly one thing less to do manually.
EDIT2: fix link
Last edit: Alec Leamas 2015-08-16
Ok, so I filed two bugs. One about the version in 13.2 (https://bugzilla.opensuse.org/show_bug.cgi?id=941882) and one about the version and missing libirman in Factory (https://bugzilla.opensuse.org/show_bug.cgi?id=941883).
I also tried using the buildservice to make my own LIRC version. I update the version and dependencies, but I get the folowing error:
The full buildlog is here (the good stuff is at the very bottom): https://build.opensuse.org/package/live_build_log/home:DaAwesomeP:branches:home:wolfi323:irman/lirc/openSUSE_13.2/i586 That command corresponds to line 160 of the build script here: https://build.opensuse.org/package/view_file/home:DaAwesomeP:branches:home:wolfi323:irman/lirc/lirc.spec?expand=1 I did simply grab the working 0.9.0 build script and throw it onto 0.9.3pre3, so I guess that I couldn't have expected it to go perfectly smoothly.
I'm not sure how safe it would be to install the Fedora package. I am dealing a little with kernel stuff, so I really don't want to botch my machine. I'll see if I can find their build scripts though.
It would be totally unsure, don't even think about it. I just mention it if the spec file contains something useful, dunno.
You have read the "Build and install" chapter at http://lirc.sourceforge.net/lirc.org/html/install.html , right?
The first thing which strikes me is that it might be better to make a full ./autogen.sh first. That script is pretty field-tested, and might create a better, shrink-wrapped configure.
Still, ./configure should work. Do you know what version on the gnu toolchain OBS uses (make, gcc etc.)
I will look into the sources, but hunting build errors without being able to reproduce them is tricky. Let's give it a try, though.
Oops, you do run autogen... stay tuned
EDIT: That build script hasn't got a chance. The build is heavily revised, and has very little in common with 0.9.0. You are probably better off starting with the fedora spec and patching that than the other way around. The big difference is of course the dependencies (different package names).
The drawback is that the fedora spec is a little complicated, many subpackages. But still...
Last edit: Alec Leamas 2015-08-16
The build should start in lib/ since all other directories depends on it. To me this looks weird. E. g., the failing lircrcd.o has a dependencu on ../lib/liblirc_client.la which is a fully defined target in lib/Makefile.am.
This works even on Darwin, so you should have a chance getting this built.
I replaced the make and make install parts of the build that had "-C daemon," "-C docs," etc. with just one "make" and one "make install." It built, but now I have a problem with the symlinks. I'm not sure what file is missing (full build log here):
I can't tell where this comes from in the spec.
I have no idea. But that spec will IMHO just not fly, the fedora spec is actually closer to current suse standards then this. It lacks handling of systemd, tmpfiles + all the installation layout changes in current lirc. To make this actually do something useful is a lot of work.
I have been interested in OBS for some time. I will give it a shot, my gut feeling is that it shouldn't be that hard starting from current Fedora.
Here you go, I think this is a better start (?). At least, it builds.
Here are a few rpmlint warnings:
systemd-service-without-service_... : I do have these macros in place e. g., %service_del_preun. But rpmlint is stubborn, and I cannot figure out why. Can you?
Same goes for postin-without-tmpfile-creation. The %tmpfiles_create macro is there, but rpmlint complains
shlib-policy-missing-suffix is bogus - these are private plugins and not in the ld.so path.
suse-filelist-empty: I don't care. Empty packages is a great solution from time to time.
The docs would be much better if we could use one of the man2thml repos which are available at OBS. Havn't figured out the syntax for that,though
https://forums.opensuse.org/showthread.php/509218-Newbie-Cannot-get-definitions-of-service_add_pre-et-a-l
Well, the OpenSUSE people don't seem to like the idea of updtaing the package. I've decided to go with 0.9.2a for that reason since it is a stable release.
I dissected that spec file and removed the Fedora only parts (even though they on't run, it's clutter for OpenSUSE), so hopefully this will build.
Also, what does this mean:
I wish I knew... basically the autoreconf step (in autogen.sh) seems to have failed, leaving bogus files.
0.9.2 should be relatively OK, installation-wise there are not that big differences to 0.9.3.
I wouldn't say they don't update - going with 0.9.2 is a very reasonable choice., I would have done the same. The real problem is Debian which seems stuck in 0.9.0 for some reason. It's odd, for sure.
EDIT: BTW, glad to see that my spec file is used out there. Note that the ./configure options are utterly wrong, you will see warning messages in the log.
Last edit: Alec Leamas 2015-08-17
I found an official build spec of 0.9.2a: https://build.opensuse.org/package/show?project=openSUSE%3AFactory&package=lirc
I'm going to branch from that and then add irman. That'll be even easier since it builds successfully.
Yay! That 0.9.2a version built for 13.2! Now I will just add in the irman patch and I should be good to go.
hm... you don't have to make any changes to 0.9.2 to get irman support. Just build it as-is, and install everything, in particular the header files (the -devel package). Then you can build the irman driver out-of-tree as described in http://www.lirc.org/html/driver-api.html, and drop the so-file in the proper directory. Should be much easier.
Last edit: Alec Leamas 2015-08-17
Oh yeah, I just included the devel version with BuildRequires. Otherwise it wouldn't have gotten it.
It worked! https://build.opensuse.org/package/live_build_log/home:DaAwesomeP:lirc-irman/lirc/openSUSE_13.2/i586
Now I just have to install it, make sure that irman is alright, and try it.
Alright, so it installs and irrecord shows that irman is available (yay), but another problem has arisen. Do I need to redo irrecord to be compatible with 0.9.2a? My conf file was created with 0.9.0.
The systemd service was configured to run the follwoing:
It fails. When I run that or the follwoing manually, it just quits and outputs nothing:
Here is /etc/lirc/lirc_options.conf:
Here is /etc/lirc/lircd.conf:
Inside lircd.conf.d there is a README, a file named lircd that ls showed in pink (is that a socket?), and my remote0.conf:
Last edit: DaAwesomeP 2015-08-17
Probablysomething simple. You need to inspect the logs, but I don't know how your system is configured. /var/log/messages? journalctl? If you dont get hold of them, give lircd a logfile argument, In any case, raise the loglevel.
I set the loglevel to "debug" and gave it a file to write to. It always creates the log file if it's not there, but it leaves it blank.
Then I left the log settings alone and got something good out of journalctl:
That's doesn't look good.
Last edit: DaAwesomeP 2015-08-18
Hey, what's this? Have you put some sudo commands in the service file?! This is certainly not the way to do it. If you have, restore the files and use sudo systemctl start lircd.socket etc.
Actually, it looks like sudo crashes in your logs. If it still crashes after restoring the service file, try to generate a stacktrace as described in CONTRIBUTE (in the git sources)..
:
No, the format is stable since long.
Oh no, that must have been me running it myself or maybe the systemd program. I wouldn't stoop to that low of a noob level.
Some of what I did:
I'm trying to make a stacktrace, but where's the "daemons" folder that I run ulimit in? I found the instructions here in the GIT sources.
Last edit: DaAwesomeP 2015-08-18