/usr/share/doc/lirc/html/install.html is in lirc 0.9.0-0ubuntu5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>LIRC - Linux Infrared Remote Control</TITLE>
<LINK REL=stylesheet TYPE="text/css" HREF="../lirc.css">
<LINK REL="shortcut icon" HREF="../favicon.ico">
<META NAME="description" CONTENT="LIRC - Linux Infra-red Remote Control">
<META NAME="keywords" CONTENT="linux, kernel module, remote control, animax, multimedia">
</HEAD>
<BODY BACKGROUND="../images/marb18.jpg"
BGCOLOR="#FFFFFF" TEXT="#000000" ALINK="#8080FF">
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD CLASS="menu" WIDTH="100%" HEIGHT="150">
<IMG SRC="../images/diode.gif" ALT=""
WIDTH="300" HEIGHT="150" BORDER="0" HSPACE="20"
VSPACE="0" ALIGN="LEFT">
<IMG SRC="../images/lirc.gif" ALT=""
WIDTH="300" HEIGHT="150" BORDER="0" HSPACE="20"
VSPACE="0" ALIGN="RIGHT">
</TD>
</TR>
<TR>
<TD WIDTH="100%"> <BR>
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD WIDTH="15%"> <BR></TD>
<TD WIDTH="70%" ALIGN="LEFT" VALIGN="TOP"> <BR>
<!-- Text ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dependencies +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="dependencies"></A><HR>
<H1 ALIGN="CENTER">Dependencies</H1>
<HR WIDTH="70%">
<P>
To use LIRC's <em>setup.sh</em> script you need the dialog
package. It already should be installed on most systems. The
setup.sh script makes configuration of LIRC much easier but
using it is not obligatory.
</P>
<P>
If you want to compile and use all tools, you also need an
installed <em>svgalib</em> (used by <em>smode2</em>) and the X
Windows header files (needed by <em>irxevent</em> and
<em>xmode2</em>). You can get svgalib from <A
HREF="ftp://sunsite.unc.edu/pub/Linux/libs/graphics/">
ftp://sunsite.unc.edu/pub/Linux/libs/graphics/</A>. The
configure script will notify you if some necessary files are
missing and the according tools won't be compiled.
</P>
<P>
<B>Irman (=UIR) :</B> To use your Irman with LIRC you need the
latest <A HREF="http://www.lirc.org/software/snapshots/">
<em>libirman</em></A> library. At the time this has been written
the current libirman version was 0.4.3. Former versions won't
work. Please also read <A HREF="#updating">Updating from
lirc-0.5.4</A>.
</P>
<A NAME="kernel"></A>
<P>
<B>Kernel modules:</B> All devices that require a kernel module
will need the properly configured kernel sources being available
somewhere in /usr/src/. During the build process of this package
the kernel Makefile and the current kernel configuration will be
used to work around some other problems that would arise if we
used our own Makefile. That means that you might have to build
your own kernel which is a good idea anyway. Make sure you use
the standard kernel which you can download at <A
HREF="http://www.kernel.org">www.kernel.org</A>. Don't use any
kernel sources that have been modified for your
distribution. For example you won't be able to compile some
modules for kernels that come with S.u.S.E. 7.0. Please refer to
the documentation of your distribution or read the
<em>README</em> file in the kernel source directory to get more
information on how to compile and set up an own kernel. More
documentation is available at the <A
HREF="http://sunsite.unc.edu/LDP/">Linux Documentation
Project</A>.
</P>
<P>
If you are still running a stock kernel that came with your
distribution and don't want to compile a new kernel you can try
the following. Install the kernel sources package of the
currently running kernel. Most distributions provide rpm/deb
packages of their stock kernels. Double-check that you selected
the correct kernel sources. Now make sure that there is a file
called .config in the root directory of the kernel source
tree. This file holds the configuration used to compile this
kernel. If it is not available and you can't get it from a
different source (/boot/config-<em>version</em> (Debian),
/proc/config.gz (SuSE) or
/usr/src/linux-<em>version</em>/configs/ (Red Hat) are good
places to look into) you are out of luck and will have to
configure and compile your own kernel. Otherwise call <em>make
oldconfig && make dep</em> inside the root directory of
the kernel source tree. After that you should be able to compile
the LIRC modules without problems. Just make sure that the
configure script for the LIRC package picked the correct kernel
source directory. But be aware that there might still be some
problems due to incompatible extensions of the distribution
kernels as mentioned in the last paragraph. There are even more
pitfalls. The modules should be compiled with the same compiler
version. Otherwise you might see strange lockups and kernel
oopses. Another problem might be that some distribution vendors
also modify the kernel version variables inside the Makefile of
the kernel and e.g. add something like <em>custom</em> to the
EXTRAVERSION variable. This will result in the modules being
installed in the wrong directory. In such cases it is common
practice to remove the <em>custom</em> string before proceeding
with kernel compilation. This has been only a list of known
problems. If you run into such problems I won't be able to help
you, so don't even ask.
</P>
<P>
If you want to use a home-brew receiver, an Anir Multimedia
Magic, a Packard Bell receiver, the IRdeo or if you want to use
the SIR IrDA driver, I suggest that you compile the Linux kernel
serial port driver as a module (however, you can choose not to
do so if you use setserial properly, see below). The according
kernel option that should be set to <em>M</em> is
<em>Standard/generic (dumb) serial support</em>
(resp. <em>Standard/generic (8250/16550 and compatible UARTs)
serial support</em> for 2.4 kernels) in the <em>Character
devices</em> section of the kernel configuration
dialogue. Usually the serial port driver grabs all ports it
auto-detects as soon as it is loaded and the LIRC modules won't
be able to use any of them.
</P>
<P>
There are two solutions for this problem. Either you load the
LIRC module before the kernel serial port driver is loaded
(that's why you have to compile it as a module) or you call
<em>setserial /dev/ttySx uart none</em> to release the according
port. setserial usually is already called during boot-up in some
init script whose location depends on the distribution you
use. Be aware that setserial might also be the cause of
trouble. The reason for this is a kernel bug (known to be true
for 2.2.20, patches are on the way). If you tell setserial to
configure a port that is already claimed by a LIRC module, the
kernel serial driver will steal the port from the LIRC module
and LIRC will stop working. So check your setserial
configuration to only configure available ports. Debian users
should adjust their <em>/etc/serial.conf</em>.
</P>
<P>
<B>TV cards:</B> To use any remote control receivers connected
directly to a bttv based TV card you will need a working bttv
setup in your kernel. For most TV cards we rely on bttv
autodetection. That way you don't have to give any parameters to
the module as they are selected internally depending on the
information the bttv module gives us. This means that you should
pay attention that your TV card is detected correctly by bttv.
</P>
<P>
<B>Technisat MediaFocus I:</B> You will have to install the <A
HREF="http://freenet-homepage.de/mediafocus/">driver</A> for this
card.
</P>
<!-- Supported Hardware ++++++++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="hardware"></A><HR>
<H1 ALIGN="CENTER">Supported Hardware</H1>
<HR WIDTH="70%">
<P>
Generally speaking everything that can receive or send infrared
signals can be supported by LIRC. The project began with support
for home-brew receivers and transmitters for the serial port and
later support for analogous hardware for the parallel port was
added. At that time the focus of the project was to provide an
infrared solution that is both very cheap and easy to
assemble. The following links point to instructions how to build
your own receiver/transmitter.
</P>
<UL>
<LI><A HREF="http://www.lirc.org/receivers.html">
Building a serial port receiver</A></LI>
<LI><A HREF="http://www.lirc.org/transmitters.html">
Building a serial port transmitter</A></LI>
<LI><A HREF="http://www.lirc.org/parallel.html">
Building a parallel port transceiver</A></LI>
</UL>
<P>
Current versions of LIRC now support many more commercially
available solutions. Examples are the Irman, built-in IrDA ports
or TV cards. Drivers for even more hardware are likely to appear
in the future. If you are a programmer who wants to maintain
such a driver you are welcome to join the project.
</P>
<P>
You should locate your device in this <A HREF="table.html">list
of supported devices</A> and see if there is additional
information available regarding the setup of your device.
</P>
<!-- Compiling +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="compiling"></A><HR>
<H1 ALIGN="CENTER">Compiling</H1>
<HR WIDTH="70%">
<P>
Before compiling the binaries you have to choose which driver to
use. This can easily be done with the <em>setup.sh</em>
script. Just type <em>./setup.sh</em> from the shell
prompt. After selecting your driver you can exit the setup with
"Save configuration & run configure".
</P>
<P>
If you don't have <em>dialog</em> installed you will have to do
it the hard way and give the correct parameters to the configure
script manually. See <em>./configure --help</em> for a detailed
description of the possible parameters. You will have to at
least choose a driver with the <em>--with-driver=X</em>
option.
</P>
<P>There are three special drivers:</P>
<DL>
<DT>all</DT>
<DD>
will build multiple drivers into lircd and runtime selection
will be possible using the <em>--driver</em> option. However,
not all drivers are included, so in some cases you will have
to select the appropriate driver and not <em>all</em>. This
option will also compile all available kernel modules. Some
kernel modules are only supported with recent kernel
versions. That means that compilation of these drivers might
fail with older kernel versions. If this happens for you, you
should consider using the <em>userspace</em> driver described
below and only compile the kernel modules that you need
separately.
</DD>
<DT>none</DT>
<DD>
will only let lircd talk to other lircd's though the network and
not to any local hardware.
</DD>
<DT>userspace</DT>
<DD>
behaves like the <em>all</em> driver option except that no
kernel modules will be built.
</DD>
</DL>
<P>
When running the configure script, please pay attention at its
output. At the end of the configuration checks, it will tell you
which kernel module (if any) will be required for your
hardware. You can also look up this information in the <A
HREF="table.html">device table</A>. After having configured the
package just type <em>make</em> and lean back.
</P>
<P>
<B>Note:</B> You won't find a configure script in the source repo
version of LIRC. You will have to generate it first by executing
<em>./autogen.sh</em>. You need at least libtool-1.3.3,
automake-1.4 and autoconf-2.13 to do this properly.
</P>
<!-- Install LIRC ++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="installing"></A><HR>
<H1 ALIGN="CENTER">Installation</H1>
<HR WIDTH="70%">
<P>
Installing the compiled programs is really easy, just type
<em>make install</em>. All binaries and modules should be
installed at the usual places. The necessary devices should be
generated in the <em>/dev/</em> directory and all configuration
files should be copied to its proper destination if you happen
to use some hardware where configuration files are already
available.
</P>
<P>
When you are using <em>devfs</em> or <em>sysfs</em> with your
kernel, the /dev/lirc device node will disappear again once you
reboot your machine. In that case the LIRC kernel module will
generate the required entry every time it is loaded. But the
device node won't be visible as /dev/lirc, but might be located
in a different location like e.g. /dev/lirc/0. Please be aware
of this fact when starting programs that access the device node
like mode2 or lircd. You will have to use the --device command
line option of these programs to point them to the correct
location. When using sysfs together with the udev daemon you
should copy the <em>lirc.rules</em> file located in the contrib
directory of the source package to
<em>/etc/udev/rules.d/</em>. This will make sure that the device
node will be created.
</P>
<P>
The core program of LIRC is <em>lircd</em>, the LIRC system
daemon that does all of the decoding of infrared signals. LIRC
comes with a second daemon program: <em>lircmd</em>. lircmd
depends on lircd and translates remote control activity to mouse
movements. Just like all other daemons both lircd and lircmd
should be started at system boot time and do their work in
background. If you want to start them automatically at boot time
you will have to add an init script for them to your
system. Unfortunately the syntax and location of this init
script is highly dependent on the distribution you use so you
will have to figure it out yourself how this works on your
system. Good news is that there already are some init scripts
available in the <em>contrib/</em> directory of the LIRC
package.
</P>
<P>
<B>Warning:</B> Never compile daemons with "Disable
daemonize" turned on and place them in some init script
unless you have a rescue disc nearby...
</P>
<P>
Now you should adjust the file permissions of
<em>/var/run/lirc/lircd</em> (this is the Unix domain socket that clients
use to connect to lircd) so others than <em>root</em> can
connect to lircd.</P>
<PRE>
chmod 666 /var/run/lirc/lircd</PRE>
<P>
should do. You can also create a special group for this purpose.
</P>
<P>
If your hardware requires a kernel module you should make sure
that the kernel will find the correct module if a program tries
to access <em>/dev/lirc</em>. This can be done by inserting the
following line to your <em>/etc/conf.modules</em>
(<em>/etc/modules.conf</em> for current kernel versions):
</P>
<PRE>
alias char-major-61 lirc_driver</PRE>
<P>
Note that here <em>driver</em> is a placeholder for the actual
driver you are using (serial, parallel, etc.).
</P>
<P>
If your driver requires some special parameters to work you can
specify them at the same place. For example you can set the IRQ
and I/O base the serial port drivers shall use by adding the
following line to <em>/etc/conf.modules</em>:</P>
<PRE>
options lirc_serial irq=4 io=0x3e8</PRE>
<P>
This will override the default values you have selected during setup.
The configure script will tell you which kernel module you need.
</P>
<P>
Finally you might want to add <em>/usr/local/lib</em> to
<em>/etc/ld.so.conf</em> so the <em>lirc_client</em> library is
found by the run-time linker. Don't forget to call
<em>ldconfig</em> afterwards for the change to take effect.
</P>
<!-- Testing +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="testing"></A><HR>
<H1 ALIGN="CENTER">Testing your hardware & configuration</H1>
<HR WIDTH="70%">
<P>
If you have build the infrared hardware yourself you are
probably eager to find out if it really works. If you have not
build the hardware yourself you can skip the first test. For
most receivers it even won't work because it makes no
sense.
</P>
<P>
Type <em>su</em> to get root privileges and start <em>mode2</em>
(<B>Warning:</B> don't confuse mode2 with mode3: mode3 will set
your video card to a vesa mode using the vesa bios
calls...). This should load the kernel module into the kernel
and display the infrared signals. Hold your remote control to
your infrared receiver and press some buttons. You should see an
output like this (the values of your remote will probably be
different):
</P>
<PRE>
pulse 93
space 4965
pulse 108
space 4969
pulse 93
space 7496
pulse 93
space 7489
pulse 93
space 47915
pulse 138
space 7475
pulse 93
space 7494
pulse 93</PRE>
<P>
If you don't see anything, try to find out: (a) if you selected
the correct driver with the correct settings (I/O base address,
IRQ), (b) if you use a remote which works and (c) if your
hardware works. The voltage input of the infrared receiver
should be 5V +/- 0.5V, the output pin of the receiver should be
about 0.5V less than the input voltage.
</P>
<P>
From time to time there should be long spaces (>30000). If you
can see very long pulses this usually means that sense auto
detection of your serial port IR receiver circuit has
failed. You can override sense auto detection by loading the
device driver with the following option:</P>
<P>
<em>modprobe lirc_serial sense=0</em> if your receiver circuit is active
high or<BR>
<em>modprobe lirc_serial sense=1</em> if your receiver circuit is active
low.
</P>
<P>
Well, the driver seems to work, now let's test if lircd also
does its job. This only works, if lircd uses a <A
HREF="configure.html#lircd.conf">config file</A> which fits to
your remote control. Use <A
HREF="irrecord.html"><em>irrecord</em></A> in the case the LIRC
distribution doesn't provide a config file suitable for your
remote and it still is not available at the LIRC homepage. A
more detailed discussion of creating new config files is
available in the section about, you guess it: <A
HREF="help.html#new_remote">Adding new remote controls</A>.
</P>
<P>
Then start the decoder daemon with (make sure it is in your
path): <em>lircd</em> [config file]
</P>
<P>
The following program dumps the decoded key codes from lircd to
stdout: <em>irw</em>
</P>
<P>
This looks like this (depending on your remote):
</P>
<PRE>
0000000000f40bf0 00 1_DOWN ANIMAX
0000000000f40bf0 01 1_DOWN ANIMAX
0000000000f40bf0 02 1_DOWN ANIMAX
0000000000f40bf0 03 1_DOWN ANIMAX
0000000000f40bf0 04 1_DOWN ANIMAX
0000000000f40bf0 05 1_DOWN ANIMAX
0000000000748bf0 00 1_UP ANIMAX
0000000000748bf0 01 1_UP ANIMAX
0000000000748bf0 02 1_UP ANIMAX
0000000000718ef0 00 RED_BUTTON_UP ANIMAX</PRE>
<P>
If the driver test did work, but you now see nothing, then check
<em>/var/log/lircd</em>. If you still see nothing suspicious
compile lircd in DEBUG mode and look at the log file again. In
debug mode lircd has an additional command line option that lets
you choose the detail level of debug information.
</P>
<A NAME="sending"></A><HR>
<H1 ALIGN="CENTER">Sending infrared signals</H1>
<HR WIDTH="70%">
<P>
The LIRC package contains the <A HREF="irsend.html">irsend</A> tool for
sending infrared signals to e.g. your TV or CD player. For
reliable transmission a good config file is even more important
than for receiving. A discussion of all the infrared protocols
is way beyond the scope of this manual but when creating a
config file at least read the <A
HREF="help.html#new_remote">hints</A> at the end of this
manual. You can find exact timing specifications for most common
inside the remotes/generic/ directory of the LIRC package.
</P>
<P>
If you want a graphical interface for controlling your devices
using LIRC, you should have a look at xrc. You can download the
xrc package from the LIRC homepage. xrc is a Qt based
program. Setting up xrc and Qt is a bit tricky so if you don't
manage to compile it you can still use irsend. It has the full
functionality you need.
</P>
<!-- Uninstall LIRC ++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="uninstall"></A><HR>
<H1 ALIGN="CENTER">Uninstall</H1>
<HR WIDTH="70%">
<UL>
<LI>Remove the installed binaries, and device nodes:<BR>
<BR>
<em>make uninstall</em><BR>
<BR>
</LI>
<LI>Remove the config files, if you don't need them anymore:<BR>
<BR>
<em>rm /etc/lirc/lircd.conf /etc/lirc/lircmd.conf /etc/lirc/lircrc ~/.lircrc</em><BR>
<BR>
</LI>
</UL>
<!-- Module specific information +++++++++++++++++++++++++++++++++++++ -->
<A NAME="specific"></A><HR>
<H1 ALIGN="CENTER">Module specific information</H1>
<HR WIDTH="70%">
<H3>lirc_gpio</H3>
<P>
This module receives scan codes from the GPIO register of bt8[47]8
chips using polling or interrupts if the card supports this. It is a
"plugin" for the <em>lirc_dev</em> module. It loads
<em>bttv</em> and <em>lirc_dev</em> modules if they are not
loaded yet.<BR>
</P>
<P>
The following gives a list of parameters for the module. If your
TV card is already listed as supported than you don't need to
care about parameters except <em>debug</em> and <em>card</em>
because all other are set to the correct values
automatically. Setting the values manually only makes sense
while adding support for a new TV card so that you don't have to
recompile the module each time you try a different value.
</P>
<UL>
<LI><B>debug</B> (0) - value other than 0 (zero) enables
printing more log messages</LI>
<LI><B>card</B> (0) - number of TV card from which receive scan
codes</LI>
<LI><B>minor</B> (-1) - minor device number for
/dev/lirc device</LI>
<LI><B>gpio_mask</B> (0) - bit mask used for extracting usable
bits from GPIO value<BR> If this parameter is equal to 0 then
the module tries to autodetect the TV card and the remaining
parameters are ignored.</LI>
<LI><B>gpio_lock_mask</B> (0) - if this value "anded"
with GPIO value is non zero than it indicates that scan code
is not ready (value of 0 of this parameter disables
checking)</LI>
<LI><B>gpio_xor_mask</B> (0) - bitmask applied (by xor
operation) to GPIO value before lock_mask is checked</LI>
<LI><B>soft_gap</B> (0) - minimal gap (in milliseconds) between
two scan codes (value of 0 disables checking)</LI>
<LI><B>sample_rate</B> (10) - how often (times per second) GPIO
will be polled, set to 0 for interrupt driven input</LI>
<LI><B>bttv_id</B> (unknown) - force given bttv id, signals from
some cards are translated to match original codes</LI>
</UL>
<P>
Usage example would be e.g:
</P>
<em>modprobe lirc_gpio gpio_mask=0x1f00 gpio_lock_mask=0x8000 gpio_xor_mask=0 soft_gap=400 sample_rate=12</em>
<P>
Autodetection is performed using the API from the <em>bttv</em>
module - this means that if <em>bttv</em> doesn't properly
recognize the card type the remote control won't work.
</P>
<!-- Updating from lirc-0.5.4 ++++++++++++++++++++++++++++++++++++++++ -->
<A NAME="updating054"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.5.4</H1>
<HR WIDTH="70%">
<P>
This section only describes changes that break compatibility
with older versions. Please read the <EM>NEWS</EM> file to learn
about all new features of this release.
</P>
<P>
The config files of <em>lircd</em> and <em>lircmd</em> are now
located in <em>/usr/local/etc/</em> instead of <em>/etc/</em>
per default. Most people prefer to make <em>/usr/local/etc/</em>
a link to <em>/etc/</em>.
</P>
<P>
The modules no longer are uniformly installed as <em>lirc.o</em>
but are called lirc_<em>driver</em>.o depending on the driver
you are using. Therefore you might have to edit your
<em>/etc/conf.modules</em> and change the line
</P>
<PRE>
alias char-major-61 lirc</PRE>
<P>
to whatever you need.
</P>
<P>
LIRC now supports the Irman directly. <em>lirmand</em> is no
longer necessary. Before installing this version you should call
<NOBR><EM>rm /dev/lirc</EM></NOBR> to remove the FIFO that was
used in lirc-0.5.4. <em>/dev/lirc</em> now should be a link to
the device the Irman is connected to (e.g. <em>/dev/ttyS1</em>).
</P>
<A NAME="updating062"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.6.2</H1>
<HR WIDTH="70%">
<P>
The lirc_gpio_p has been renamed to lirc_gpio. It now also
contains support for TV cards that are able to generate
interrupts if infra-red commands are received. The lirc_gpio_i
driver that implemented this has been removed. The lirc_fly98
also has been removed as it is now supported by the lirc_gpio
driver.
</P>
<P>
The <em>lirc_haup</em> module has been renamed to <em>lirc_i2c</em>.
</P>
<P>
The transmit code in <em>lirc_serial</em> has been modified
slightly. If you have problems transmitting decrease the
frequency value in the lircd config file by approximately 2000.
</P>
<P>
There have been major changes to the SIR driver. If you used
this driver before you may have to generate new config files for
your remotes. Transmitting is now more likely to work.
</P>
<P>
The config file for the old AVerMedia TVCapture and TVPhone
cards (pre 98) has changed. Please use the new config file that
you can find in <em>remotes/avermedia/lircd.conf.avermedia</em>.
</P>
<A NAME="updating063"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.6.3</H1>
<HR WIDTH="70%">
<P>lircd.conf and lircmd.conf are in /etc again.</P>
<P>
Two independend bugs were fixed in the IRdeo and home-brew
transmitter code that affected correct pulse/space timings in
some situations. This might break config files that did work
with previous versions.
</P>
<A NAME="updating064"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.6.4</H1>
<HR WIDTH="70%">
<P>
AVerMedia TV cards with ID 0x00011461 and 0x00041461 should
finally work with the provided config files. That means they
will no longer work with the config files you have created
yourself.
</P>
<P>
The I/O base address for some modules now is set with the
<em>io</em> parameter. (formerly: lirc_sir = iobase, lirc_serial
and lirc_parallel = port).
</P>
<A NAME="updating065"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.6.5</H1>
<HR WIDTH="70%">
<P>
The config file for the Pixelview PlayTV pro and compatible TV
cards has changed. Please use the config file in
<em>remotes/pixelview/lircd.conf.playtv_pro</em>.
</P>
<P>
The config file for the Winfast TV2000 and compatible TV cards
has changed. Please use the config file in
<em>remotes/winfast/lircd.conf.tv2000</em>.
</P>
<A NAME="updating066"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.6.6</H1>
<HR WIDTH="70%">
<P>
The config files for all FlyVideo TV cards have changed. Please
use the config file in
<em>remotes/life-view/lircd.conf.flyvideo</em>.
</P>
<P>
The config file for the Winfast TV2000 TV card has
changed. Please use the config file in
<em>remotes/leadtek/lircd.conf.RM-0010</em>.
</P>
<P>
The lirc_sir now should generate better signals for some
remotes. Due to the change some old config files generated with
previous versions of the driver might stop working. In this case
you should just create a new config file using the new
driver. If you want to get the old behaviour of the driver
(deprecated) you can insert the module using the
<em>threshold=2</em> parameter. The default of
<em>threshold</em> is now set to 3. You might even want to try
higher values.
</P>
<P>
When you are using LIRC with the <B>Linux input layer</B>
driver, make sure that your config file contains the following
line in its header:
</P>
<pre>
bits 32
</pre>
<P>
Otherwise lircd will not recoginise any events.
</P>
<A NAME="updating07x"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.7.x</H1>
<HR WIDTH="70%">
<P>
There is a new program that you probably want to use: <A
HREF="lircrcd.html">lircrcd</a> reads the .lircrc config file
and synchronises the mode that the LIRC clients using this
config file (irexec, irxevent, etc.) are in. Using lircrcd has
to be explicitly enabled in the config file by adding the
following line at the beginning of the file:
<pre>
#! lircrcd
</pre>
</P>
<A NAME="updating081"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.8.1</H1>
<HR WIDTH="70%">
<P>
The config file for the Pinnacle Systems PCTV (pro) receiver has
changed. Please use the config file in
<em>remotes/pinnacle_systems/lircd.conf.pctv</em>.
</P>
<P>
The config file for the Creative Infra Receiver/CIMR100 has
changed. Please use the config file in
<em>remotes/creative/lircd.conf.creative</em>.
</P>
<A NAME="updating084"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.8.4</H1>
<HR WIDTH="70%">
<P>
Newly added iMon LCD displays with device ids 15c2:0038 and 15c2:0045
use a larger buffer to enable all remote and panel buttons. Consequently,
config files for earlier iMon receivers are not compatible with these
new devices, and vice versa. Be sure to select the appropriate 64-bit
config for a newer iMon LCD. (Early cvs support for the 0038 used only
a 32-bit buffer).
<em>For the 0038: remotes/imon/lircd.conf.imon-ultrabay</em>.
<em>For the 0045: remotes/imon/lircd.conf.imon-antec-veris</em>.
</P>
<P>
The behaviour of the <em>quit</em> flag in the <A
HREF="configure.html#lircrc_format">.lircrc</A> config file
has changed slightly concerning button sequences. Previously the
quit flag had no effect on button sequences which had partly
been entered. Now the quit flag will make execution of further
configurations stop even though just part of the button sequence
has been entered.
</P>
<P>
There was an interface change in the <em>lirc_dev</em> kernel
module. If you get an error message like
<PRE>
lirc_serial: Unknown symbol lirc_unregister_driver
lirc_serial: Unknown symbol lirc_register_driver
</PRE>
when trying to load any of the lirc kernel modules, then you have
probably an old version of <em>lirc_dev</em> loaded. Make sure
that the <em>lirc_dev</em> version that comes with this release is
loaded.
</P>
<A NAME="updating085"></A><HR>
<H1 ALIGN="CENTER">Updating from lirc-0.8.5</H1>
<HR WIDTH="70%">
<P>
The lircd socket was moved from <em>/dev/lircd</em> to
<em>/var/run/lirc/lircd</em> to conform to the Filesystem Hierarchy
Standard. The default pid file location was moved from
<em>/var/run/lircd.pid</em> to <em>/var/run/lirc/lircd.pid</em>.
</P>
<P>
The default location of lircd, lircmd and lircrcd config files
was moved to <em>/etc/lirc/lircd.conf</em>,
<em>/etc/lirc/lircmd.conf</em> and <em>/etc/lirc/lircrc</em>. If
the config files are not found in that location, they are still
searched at the old location in <em>/etc/</em>.
</P>
<P>
The functionality of the <em>lirc_mceusb2</em> driver has been
merged into the <em>lirc_mceusb</em> driver. The
<em>lirc_mceusb2</em> driver is now obsolete and has been
removed. You should use <em>lirc_mceusb</em> from now on.
</P>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<BR><BR>
<CENTER>[<A HREF="http://www.lirc.org/">LIRC homepage</A>]<BR>
<I>The LIRC Manual, last update: 24-May-2009</I></CENTER>
<BR><BR>
</TD>
<TD WIDTH="15%"> <BR></TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD CLASS="menu" WIDTH="100%"> <BR>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
|