📄 install.html
字号:
<!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"> <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.2. 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 will 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 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 TV card remote controls you will need either at least kernel version 2.4.0 or you use Gerd Knorr's current <A HREF="http://www.strusel007.de/linux/bttv/index.html">bttv</A> package together with a kernel version of 2.2.4 or higher. In any case bttv version 0.7.45 or higher is required. As LIRC during compilation uses the bttv header files you will have to copy the current bttv files into your kernel sources. The I2C driver also requires the new I2C stack that was introduced in 2.3.x. <A HREF="http://www2.lm-sensors.nu/~lm78/">Patches</A> for 2.2.x kernels are also available. </P> <P> 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://www.uni-giessen.de/~gej2/">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> <!-- 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 two special drivers:</P> <DL> <DT>none</DT> <DD> will only let lircd talk to other lircd's though the network and not to any local hardware. </DD> <DT>any</DT> <DD> will build multiple drivers into lircd and runtime selection will be possible. However, not all drivers are included, so in some cases you will have to select the appropriate driver and not <em>any</em>. </DD> </DL> <P> 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 CVS 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> 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>/dev/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 /dev/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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -