Further Troubleshooting

There are two basic ways in which WinLIRC won't work -- either the hardware or software is bad. This will hopefully help you track down and fix any problems you might be having.

Nothing works

So you've built a receiver and it doesn't work at all; that is, when you hit "raw codes" in WinLIRC, you don't see anything at all when you press buttons on your remote. Possible causes of this are:

Learning doesn't work

You see raw codes but learning doesn't work. I'm not surprised. The learn function in WinLIRC is pretty bad, and only works well on a handful of the various protocols used by remotes out there. Some ways to fix this:

By the way, if learning works but analyzing doesn't, that's no big deal. WinLIRC should still be able to receive and decode signals.

Unreliable decoding and other intermittent problems

Either decoding is unreliable (works one time, fails the next), or it becomes unreliable or stops working completely depending on the programs you run and what you do. Maybe you see problems with you go to play a DVD, or an MP3, or CD audio, or a DivX movie, or whatever.

This is by far the most common problem I get e-mailed about. The culprit is just the way that things work from within Windows. In Linux, the lirc_serial module gets loaded into the kernel and chains directly to the serial port's interrupt handler. There isn't much you can do to knock it from its throne. Windows isn't nearly as nice. WinLIRC runs as a user-space process, and it's at the mercy of Windows to get scheduling time whenever it can. It runs at the highest priority, but anything in kernel space (such as any VxDs or device drivers) can easily take precedence over it, and WinLIRC can end up missing or misreading signals from the receiver. I've heard a lot of different problems, and each one seems to have its own solution.

Some general things to try:

Now, for some specific problems that have been reported to me:

Well, there you have it. That's just about everything I know regarding getting WinLIRC to actually work on all of the systems out there. If you've gotten this far and still have trouble, you may be out of luck. What we really need is a good microcontroller-based circuit that handles all of the low-level decoding on a dedicated processor, so that none of this stuff regarding system load and drivers actually matters at all. I'm currently working on a nice USB transmitter/receiver to do just this, but I don't know if or when that will ever get finished. Subscribe to the WinLIRC mailing list or just keep an eye on the main WinLIRC page and you'll be sure to know if such a project ever gets finished.

Copyright (C) 2002 Jim Paris <jim@jtan.com>
Last update: Thursday, June 13, 2013 at 08:28 PM
Hits (since May 21,2001):