From: Hal <sou...@ha...> - 2007-03-31 21:00:12
|
A number of *very* good points here... R. G. Newbury wrote: > >Hal wrote: > > The receiver is home-brew, TSOP-1738 based. The lirc software was > installed using Synaptec apt-get on PCLinuxOS. Software startup looks > like > > > > modprobe lirc_dev > > ln -s /dev/lirc/0 /dev/lirc0 > > setserial /dev/ttyS0 uart none > > modprobe lirc_serial irq=4 io=0x3f8 > > STOP HERE: DO NOT RUN LIRCD YET! > > Are you sure that these are in the correct order? I have never touched > a serial receiver but ISTR that there are some weird 'gotchas' > involved in ensuring that the right program has control of the serial > port (ie, a modem has not grabbed it or something like that). > > What happens if you: > > setserial first. > modprobe lirc_dev > modprobe lirc_serial > Stop and check what is in /dev > > ln -s /dev/lirc/0 /dev/lirc0 (point here being that it is possible > that udev does not create the /dev/lirc/0 UNTIL the lirc_serial module > is loaded. Check the udev rule to see *exactly* what class of thing is > being checked to fire the udev rule which creates the /dev/lirc(/0). I > do not think that lirc_dev will do this: I think it is an underlying > common module that does not directly interact with hardware (could be > wrong!). I suspect that lirc_serial does the hardware bit, and talks > to /dev/lirc(/x). You are correct that /dev/lirc/0 is being created after 'modprobe lirc_serial'. Even though the link apeared to be functional anyway, I prefer your suggested statement order. > And the lirc modules generally look for a /dev/lirc NOT a /dev/lirc0. I've seen references both ways. The problem is that since /dev/lirc already exists as a directory, I can't create a link by the same name. > Stop after the modprobe lirc_serial and look at what has been created. > I am assuming that you are getting a /dev/lirc/0 but I think you might > be better thereafter if the link is /dev/lirc (since you may be > missing a '-d /dev/lirc0' somewhere. > > Down below you have attempted to run mode2. Mode2 and lircd are > equivalents in terms of layering. Whoa. Major eye-opener there. I didn't realize that at all. > Try mode2 HERE. > before: > > lircd -d /dev/lirc0 /etc/lircd.conf --nodaemon Unfortunately mode2 is still silent. > > No errors or warnings in the console or /var/log/messages. > Have you looked at dmesg? Although if something is NOT being created, > there would be no message.. By habit I tend to look in /var/log/messages. dmesg reports lirc_dev: IR Remote Control driver registered, at major 61 lirc_serial: auto-detected active high receiver lirc_dev: lirc_register_plugin: sample_rate: 0 Oh, and /etc/modprobe.conf includes alias char-major-61 lirc_serial options lirc_serial io=0x3f8 irq=4 I also tried after the modprobes cd /dev mv lirc lircd ln -s lircd/0 lirc so that /dev/lirc would be the device. No joy. You mentioned udev rules. The contents of /etc/udev/rules.d/lirc.rules: KERNEL="lirc[0-9]*", NAME="lirc/%n" I have zero experience with udev rules, so this doesn't really tell me much. Seems reasonable enough to my untrained eye, I guess. You provided so much useful information it got my hopes up. But today still isn't the big day, I guess. I really appreciate the help, though. Hal |