<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.linuxmce.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Esperanto</id>
	<title>LinuxMCE - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.linuxmce.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Esperanto"/>
	<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php/Special:Contributions/Esperanto"/>
	<updated>2026-07-22T04:32:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=RaspberryPi&amp;diff=36388</id>
		<title>RaspberryPi</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=RaspberryPi&amp;diff=36388"/>
		<updated>2016-01-15T20:38:20Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Setup Steps */ ssh remark&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Hardware]]&lt;br /&gt;
[[Category: Media Directors]]&lt;br /&gt;
[[Category: Barebones]]&lt;br /&gt;
qMDs are still a thing of myth, although seen occasionally in the wild they are elusive and not easily tamed. ;)&lt;br /&gt;
&lt;br /&gt;
=Device Specification=&lt;br /&gt;
*The Raspberry Pi 2 B is an ARM based computer the size of a credit card.  4x900Mhz Cores, 1GB RAM, FastEthernet, 4xUSB, 40xGPIO&lt;br /&gt;
*The Raspberry Pi B is an ARM based computer the size of a credit card.  1x700Mhz Core, 256MB or 512MB RAM, FastEthernet, 2xUSB, GPIO&lt;br /&gt;
&lt;br /&gt;
=RPi Disked Media Director=&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* Your core must be LinuxMCE 1204 or higher.&lt;br /&gt;
* The recommended device is the RPi2.  The RPi2 runs at a reasonable speed and can support all the functions of a LinuxMCE MediaDirector.  &lt;br /&gt;
* The following Raspbian based SD cards are bootable on anything that is a Raspberry Pi Model B or higher.  RPi1 performance is very, very, very slow.&lt;br /&gt;
&lt;br /&gt;
==Setup Steps==&lt;br /&gt;
*Download the rpi uSD card image ([http://download.linuxmce.org/lmce-disked-md-rpi2-jessie.tar.xz raspbian jessie (recommended)] (Updated: 2015-12-23)&lt;br /&gt;
*Download the rpi uSD card image ([http://download.linuxmce.org/lmce-disked-md-rpi2-wheezy.tar.xz raspbian wheezy (deprecated)]&lt;br /&gt;
*Download the rpi uSD card image ([http://download.linuxmce.org/lmce-disked-md-rpi2-trusty.tar.xz ubuntu trusty(RPi2 only and you&#039;re on your own here)])&lt;br /&gt;
*untar the compressed file (e.g. tar -xvJf lmce-disked-md-rpi2-jessie.tar.xz)&lt;br /&gt;
*Install the resulting image onto an SD card, using dd on linux ( e.g. sudo dd bs=4M if=2015-12-23-raspbian-jessie.img of=/dev/sdb [make sure device name is correct!]) or win32diskimage on windows&lt;br /&gt;
*Ensure the RPi is connected to the internal lan of your core and boot the RPi.&lt;br /&gt;
*You may be prompted on existing orbiters to choose a device type MD/qMD/SqueezeOnly, do so. (qMD is not working yet)&lt;br /&gt;
*The device will automatically be created, you will need to reload your router.&lt;br /&gt;
*The MD will resize the filesystem to fit the SDCard and then reboot.&lt;br /&gt;
*AVWizard will not appear.&lt;br /&gt;
*You should see the setup wizard and be asked to configure your new MD.&lt;br /&gt;
*The new RPi moonpi should continue installing and eventually present you with a UI1 OnScreen Orbiter.&lt;br /&gt;
*Please report any bugs with *very* specific (package date/svn, etc) information in a ticket.&lt;br /&gt;
&lt;br /&gt;
If you have any issues you can ssh to the rpi with:  ssh moonXX -c aes128-ctr (replace the XX with the device number. you currently have to specify the cipher https://git.linuxmce.org/linuxmce/linuxmce/issues/2451 )&lt;br /&gt;
&lt;br /&gt;
==HDMI-CEC Control==&lt;br /&gt;
Please see [[Pulse-Eight]] for HDMI-CEC setup information&lt;br /&gt;
&lt;br /&gt;
==Manual Settings==&lt;br /&gt;
*Overscan - currently only able to change by manually editing the config.txt file on the sdcard. (See [http://elinux.org/RPiconfig http://elinux.org/RPiconfig])&lt;br /&gt;
*Overscan compensation - currently only able to change by manually editing the config.txt file on the sdcard.  In /sdcard/config.txt from a booted moonpi. (See [http://elinux.org/RPiconfig http://elinux.org/RPiconfig])&lt;br /&gt;
*Orbiter will automatically regenerate following a reboot and detecting a new display resolution.&lt;br /&gt;
*Audio settings are adjusted in webadmin: S = Stereo, H = HDMI, H3 = HDMI with passthrough capability for AC3 &amp;amp; DTS&lt;br /&gt;
&lt;br /&gt;
==What works==&lt;br /&gt;
*Orbiter UI1&lt;br /&gt;
*Photo Screen Saver (need to disable on RPi1)&lt;br /&gt;
*AppServer&lt;br /&gt;
*HAL&lt;br /&gt;
*Embedded phone&lt;br /&gt;
*OMX_Player will play audio and video.  You must have the appropriate codecs to play MPG and VC1 media.  The codecs can be purchased from the Raspberry Pi foundation.&lt;br /&gt;
*squeezelite can play audio&lt;br /&gt;
*USB-UIRT&lt;br /&gt;
*HDMI-CEC control&lt;br /&gt;
*Generic Serial Devices (only on RPi2)&lt;br /&gt;
&lt;br /&gt;
==What does not work==&lt;br /&gt;
*Video Overlays&lt;br /&gt;
&lt;br /&gt;
= RPi2 Core =&lt;br /&gt;
This section is meant for informational purposes only and is not intended to suggest that the RaspberryPi2 would make a good core.  There is NO support for this.&lt;br /&gt;
&lt;br /&gt;
*Download an Ubuntu Trusty Tahr 14.04 image for the RPi2 from [http://www.finnie.org/software/raspberrypi/2015-04-06-ubuntu-trusty.zip http://www.finnie.org/software/raspberrypi/2015-04-06-ubuntu-trusty.zip].&lt;br /&gt;
*Unzip it and write it to an sdcard.&lt;br /&gt;
*Boot and resize the filesystem to fill the sdcard:&lt;br /&gt;
**There are no Raspbian-specific utilities included, specifically no automatic root resizer. However, it&#039;s not hard to do manually. Once booted:&lt;br /&gt;
 $ sudo fdisk /dev/mmcblk0&lt;br /&gt;
**Delete the second partition (d, 2), then re-create it using the defaults (n, p, 2, enter, enter), then write and exit (w). Reboot the system, then:&lt;br /&gt;
 $ sudo resize2fs /dev/mmcblk0p2&lt;br /&gt;
*Add the following linuxmce repo&#039;s to your /etc/apt/sources.list:&lt;br /&gt;
 deb http://deb.linuxmce.org/ubuntu/ trusty main&lt;br /&gt;
 deb http://deb.linuxmce.org/ trusty main&lt;br /&gt;
*Run:&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; DEBIAN_FRONTEND=&amp;quot;noninteractive&amp;quot; apt-get install -y --allow-unauthenticated lmce-core&lt;br /&gt;
*reboot&lt;br /&gt;
*Feel free to play.  This is not, and will never be, supported.&lt;br /&gt;
&lt;br /&gt;
=RPi1 (obsolete) =&lt;br /&gt;
 NOTE: The RPi1 is no longer supported as a LinuxMCE Diskless style device.  If you wish to continue working on RPi1 support please contact us.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi v1 B/B+ will not be supported for much longer, but can be used as a minimal diskless Media Director within LinuxMCE.  The following instructions will show how to create a diskless MD.  The Raspberry Pi 2 is not compatible with the PXE method of booting.&lt;br /&gt;
&lt;br /&gt;
When using the sdcard below the RPi will be overclocked using the standard Raspberry Pi foundation overclock settings.  These are throttled automatically as thermally required.  You are free to overclock the device further by editing the config.txt file on the sdcard.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* Your core must be LinuxMCE 1204 or higher.&lt;br /&gt;
* The Raspberry Pi must be a 512MB Model B (or B+).  The Model A and the 256MB Model B do not have enough RAM to boot into Orbiter.&lt;br /&gt;
* The Raspberry Pi must be plugged into the internal side of your LinuxMCE core&#039;s network to act as a media director.&lt;br /&gt;
* The Raspberry Pi must be plugged in using the HDMI connector&amp;lt;del&amp;gt; and using HDMI sound&amp;lt;/del&amp;gt;.  Set an S (for Stereo) or H (for HDMI) for the Audio Settings for the MD in webadmin.&lt;br /&gt;
** The Raspberry Pi will detect the boot resolution of your television and adjust itself accordingly.&lt;br /&gt;
** If resolution has changed since the last boot the orbiter will be regenerated.&lt;br /&gt;
* You may wish to have a usb keyboard or mouse for orbiter interaction.  USB-UIRT/MCE Remote is also possible but must be installed using the webadmin (device detection is working but the device is not added currently).&lt;br /&gt;
&lt;br /&gt;
==Setup Steps==&lt;br /&gt;
*On the Core:&lt;br /&gt;
**Install the [http://www.linuxmce.org/linux-image-default-raspbian-wheezy_3.10-3-rpi-lmce1_all.deb default PXE kernel package (lmce1)] for a Raspberry Pi MD. This image will create an RPi MD (DT#2216) only.&lt;br /&gt;
**-- To be able to choose betwen an RPi MD and an RPi qMD (as well as other possible rpi Device Templates) at MD creation use [http://www.linuxmce.org/linux-image-default-raspbian-wheezy_3.10-3-rpi-lmce2_all.deb this (lmce2)] as the default image instead.  This image will allow you to choose from multiple RPi based image including RPi MD (DT#2216), RPi qMD (DT#2281) and others.&lt;br /&gt;
**edit /usr/pluto/bin/Diskless_CreateTBZ.sh and enable &amp;quot;raspbian_armhf&amp;quot; as the only TARGET_TYPE, be sure to comment (use a #) any other TARGET_TYPE lines so that only this one is enabled.&lt;br /&gt;
**run /usr/pluto/bin/Diskless_CreateTBZ.sh to create a raspbian tarball&amp;lt;del&amp;gt;, and sdcard.zip file on your core&amp;lt;/del&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Get the LinuxMCE Raspberry Pi MD SD card contents.&lt;br /&gt;
**Download the [http://www.linuxmce.org/sdcard.zip zip] &lt;br /&gt;
***Format the SD card for VFAT using the SD card formatter for Mac or Windows https://www.sdcard.org/downloads/formatter_4, or using mkfs.vfat on linux.&lt;br /&gt;
***Copy the entire contents of the sdcard zip to the newly formatted SD card, all files should be in the root directory of the card with no sub-directories.&lt;br /&gt;
*Insert the SD card into the Raspberry Pi.&lt;br /&gt;
*Power up the Raspberry Pi.&lt;br /&gt;
*On first boot the u-boot bootloader will start, it will try to grab various different pxe files until it finally finds the default PXE kernel and initrd.&lt;br /&gt;
*The kernel will boot, there is a 10 second delay when activating the ethernet drivers to allow for the hardware to respond properly, this delay only occurs during the default kernel/initrd boot.&lt;br /&gt;
*Raspberry Pi will display &amp;quot;Announced ourselves to the router&amp;quot;.&lt;br /&gt;
**If you have the lmce1 default image installed (see above,) the core will run Diskless_Setup to prepare an RPi MD.&lt;br /&gt;
**If you have the lmce2 default image installed (see above,) you will be prompted on existing orbiters to select the type of RPi device you would like installed.  Once you have made your selection the core will run Diskless_Setup to prepare the device.&lt;br /&gt;
*The Raspberry Pi will reboot automatically once Diskless_Setup completes properly.&lt;br /&gt;
*You should go to an existing orbiter and &#039;Reload the Router&#039; after this point.  You will be prompted to do so eventually on the moonPi, if you have not already done so.&lt;br /&gt;
*On the second boot (called the &#039;FIRSTRUN&#039;) the bootloader on the sdcard will be updated to the version on the diskless image.&lt;br /&gt;
*The Raspberry Pi will reboot again.&lt;br /&gt;
*On the third boot LinuxMCE will slowly come to life.  Please be patient, this can take up to 45 minutes.  You will be presented with the Setup Wizard after ConfirmDependencies has finished installing all ancillary packages.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=RaspberryPi&amp;diff=36387</id>
		<title>RaspberryPi</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=RaspberryPi&amp;diff=36387"/>
		<updated>2016-01-14T19:26:09Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Setup Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Hardware]]&lt;br /&gt;
[[Category: Media Directors]]&lt;br /&gt;
[[Category: Barebones]]&lt;br /&gt;
qMDs are still a thing of myth, although seen occasionally in the wild they are elusive and not easily tamed. ;)&lt;br /&gt;
&lt;br /&gt;
=Device Specification=&lt;br /&gt;
*The Raspberry Pi 2 B is an ARM based computer the size of a credit card.  4x900Mhz Cores, 1GB RAM, FastEthernet, 4xUSB, 40xGPIO&lt;br /&gt;
*The Raspberry Pi B is an ARM based computer the size of a credit card.  1x700Mhz Core, 256MB or 512MB RAM, FastEthernet, 2xUSB, GPIO&lt;br /&gt;
&lt;br /&gt;
=RPi Disked Media Director=&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* Your core must be LinuxMCE 1204 or higher.&lt;br /&gt;
* The recommended device is the RPi2.  The RPi2 runs at a reasonable speed and can support all the functions of a LinuxMCE MediaDirector.  &lt;br /&gt;
* The following Raspbian based SD cards are bootable on anything that is a Raspberry Pi Model B or higher.  RPi1 performance is very, very, very slow.&lt;br /&gt;
&lt;br /&gt;
==Setup Steps==&lt;br /&gt;
*Download the rpi uSD card image ([http://download.linuxmce.org/lmce-disked-md-rpi2-jessie.tar.xz raspbian jessie (recommended)] (Updated: 2015-12-23)&lt;br /&gt;
*Download the rpi uSD card image ([http://download.linuxmce.org/lmce-disked-md-rpi2-wheezy.tar.xz raspbian wheezy (deprecated)]&lt;br /&gt;
*Download the rpi uSD card image ([http://download.linuxmce.org/lmce-disked-md-rpi2-trusty.tar.xz ubuntu trusty(RPi2 only and you&#039;re on your own here)])&lt;br /&gt;
*untar the compressed file (e.g. tar -xvJf lmce-disked-md-rpi2-jessie.tar.xz)&lt;br /&gt;
*Install the resulting image onto an SD card, using dd on linux ( e.g. sudo dd bs=4M if=2015-12-23-raspbian-jessie.img of=/dev/sdb [make sure device name is correct!]) or win32diskimage on windows&lt;br /&gt;
*Ensure the RPi is connected to the internal lan of your core and boot the RPi.&lt;br /&gt;
*You may be prompted on existing orbiters to choose a device type MD/qMD/SqueezeOnly, do so. (qMD is not working yet)&lt;br /&gt;
*The device will automatically be created, you will need to reload your router.&lt;br /&gt;
*The MD will resize the filesystem to fit the SDCard and then reboot.&lt;br /&gt;
*AVWizard will not appear.&lt;br /&gt;
*You should see the setup wizard and be asked to configure your new MD.&lt;br /&gt;
*The new RPi moonpi should continue installing and eventually present you with a UI1 OnScreen Orbiter.&lt;br /&gt;
*Please report any bugs with *very* specific (package date/svn, etc) information in a ticket.&lt;br /&gt;
&lt;br /&gt;
==HDMI-CEC Control==&lt;br /&gt;
Please see [[Pulse-Eight]] for HDMI-CEC setup information&lt;br /&gt;
&lt;br /&gt;
==Manual Settings==&lt;br /&gt;
*Overscan - currently only able to change by manually editing the config.txt file on the sdcard. (See [http://elinux.org/RPiconfig http://elinux.org/RPiconfig])&lt;br /&gt;
*Overscan compensation - currently only able to change by manually editing the config.txt file on the sdcard.  In /sdcard/config.txt from a booted moonpi. (See [http://elinux.org/RPiconfig http://elinux.org/RPiconfig])&lt;br /&gt;
*Orbiter will automatically regenerate following a reboot and detecting a new display resolution.&lt;br /&gt;
*Audio settings are adjusted in webadmin: S = Stereo, H = HDMI, H3 = HDMI with passthrough capability for AC3 &amp;amp; DTS&lt;br /&gt;
&lt;br /&gt;
==What works==&lt;br /&gt;
*Orbiter UI1&lt;br /&gt;
*Photo Screen Saver (need to disable on RPi1)&lt;br /&gt;
*AppServer&lt;br /&gt;
*HAL&lt;br /&gt;
*Embedded phone&lt;br /&gt;
*OMX_Player will play audio and video.  You must have the appropriate codecs to play MPG and VC1 media.  The codecs can be purchased from the Raspberry Pi foundation.&lt;br /&gt;
*squeezelite can play audio&lt;br /&gt;
*USB-UIRT&lt;br /&gt;
*HDMI-CEC control&lt;br /&gt;
*Generic Serial Devices (only on RPi2)&lt;br /&gt;
&lt;br /&gt;
==What does not work==&lt;br /&gt;
*Video Overlays&lt;br /&gt;
&lt;br /&gt;
= RPi2 Core =&lt;br /&gt;
This section is meant for informational purposes only and is not intended to suggest that the RaspberryPi2 would make a good core.  There is NO support for this.&lt;br /&gt;
&lt;br /&gt;
*Download an Ubuntu Trusty Tahr 14.04 image for the RPi2 from [http://www.finnie.org/software/raspberrypi/2015-04-06-ubuntu-trusty.zip http://www.finnie.org/software/raspberrypi/2015-04-06-ubuntu-trusty.zip].&lt;br /&gt;
*Unzip it and write it to an sdcard.&lt;br /&gt;
*Boot and resize the filesystem to fill the sdcard:&lt;br /&gt;
**There are no Raspbian-specific utilities included, specifically no automatic root resizer. However, it&#039;s not hard to do manually. Once booted:&lt;br /&gt;
 $ sudo fdisk /dev/mmcblk0&lt;br /&gt;
**Delete the second partition (d, 2), then re-create it using the defaults (n, p, 2, enter, enter), then write and exit (w). Reboot the system, then:&lt;br /&gt;
 $ sudo resize2fs /dev/mmcblk0p2&lt;br /&gt;
*Add the following linuxmce repo&#039;s to your /etc/apt/sources.list:&lt;br /&gt;
 deb http://deb.linuxmce.org/ubuntu/ trusty main&lt;br /&gt;
 deb http://deb.linuxmce.org/ trusty main&lt;br /&gt;
*Run:&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; DEBIAN_FRONTEND=&amp;quot;noninteractive&amp;quot; apt-get install -y --allow-unauthenticated lmce-core&lt;br /&gt;
*reboot&lt;br /&gt;
*Feel free to play.  This is not, and will never be, supported.&lt;br /&gt;
&lt;br /&gt;
=RPi1 (obsolete) =&lt;br /&gt;
 NOTE: The RPi1 is no longer supported as a LinuxMCE Diskless style device.  If you wish to continue working on RPi1 support please contact us.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi v1 B/B+ will not be supported for much longer, but can be used as a minimal diskless Media Director within LinuxMCE.  The following instructions will show how to create a diskless MD.  The Raspberry Pi 2 is not compatible with the PXE method of booting.&lt;br /&gt;
&lt;br /&gt;
When using the sdcard below the RPi will be overclocked using the standard Raspberry Pi foundation overclock settings.  These are throttled automatically as thermally required.  You are free to overclock the device further by editing the config.txt file on the sdcard.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* Your core must be LinuxMCE 1204 or higher.&lt;br /&gt;
* The Raspberry Pi must be a 512MB Model B (or B+).  The Model A and the 256MB Model B do not have enough RAM to boot into Orbiter.&lt;br /&gt;
* The Raspberry Pi must be plugged into the internal side of your LinuxMCE core&#039;s network to act as a media director.&lt;br /&gt;
* The Raspberry Pi must be plugged in using the HDMI connector&amp;lt;del&amp;gt; and using HDMI sound&amp;lt;/del&amp;gt;.  Set an S (for Stereo) or H (for HDMI) for the Audio Settings for the MD in webadmin.&lt;br /&gt;
** The Raspberry Pi will detect the boot resolution of your television and adjust itself accordingly.&lt;br /&gt;
** If resolution has changed since the last boot the orbiter will be regenerated.&lt;br /&gt;
* You may wish to have a usb keyboard or mouse for orbiter interaction.  USB-UIRT/MCE Remote is also possible but must be installed using the webadmin (device detection is working but the device is not added currently).&lt;br /&gt;
&lt;br /&gt;
==Setup Steps==&lt;br /&gt;
*On the Core:&lt;br /&gt;
**Install the [http://www.linuxmce.org/linux-image-default-raspbian-wheezy_3.10-3-rpi-lmce1_all.deb default PXE kernel package (lmce1)] for a Raspberry Pi MD. This image will create an RPi MD (DT#2216) only.&lt;br /&gt;
**-- To be able to choose betwen an RPi MD and an RPi qMD (as well as other possible rpi Device Templates) at MD creation use [http://www.linuxmce.org/linux-image-default-raspbian-wheezy_3.10-3-rpi-lmce2_all.deb this (lmce2)] as the default image instead.  This image will allow you to choose from multiple RPi based image including RPi MD (DT#2216), RPi qMD (DT#2281) and others.&lt;br /&gt;
**edit /usr/pluto/bin/Diskless_CreateTBZ.sh and enable &amp;quot;raspbian_armhf&amp;quot; as the only TARGET_TYPE, be sure to comment (use a #) any other TARGET_TYPE lines so that only this one is enabled.&lt;br /&gt;
**run /usr/pluto/bin/Diskless_CreateTBZ.sh to create a raspbian tarball&amp;lt;del&amp;gt;, and sdcard.zip file on your core&amp;lt;/del&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Get the LinuxMCE Raspberry Pi MD SD card contents.&lt;br /&gt;
**Download the [http://www.linuxmce.org/sdcard.zip zip] &lt;br /&gt;
***Format the SD card for VFAT using the SD card formatter for Mac or Windows https://www.sdcard.org/downloads/formatter_4, or using mkfs.vfat on linux.&lt;br /&gt;
***Copy the entire contents of the sdcard zip to the newly formatted SD card, all files should be in the root directory of the card with no sub-directories.&lt;br /&gt;
*Insert the SD card into the Raspberry Pi.&lt;br /&gt;
*Power up the Raspberry Pi.&lt;br /&gt;
*On first boot the u-boot bootloader will start, it will try to grab various different pxe files until it finally finds the default PXE kernel and initrd.&lt;br /&gt;
*The kernel will boot, there is a 10 second delay when activating the ethernet drivers to allow for the hardware to respond properly, this delay only occurs during the default kernel/initrd boot.&lt;br /&gt;
*Raspberry Pi will display &amp;quot;Announced ourselves to the router&amp;quot;.&lt;br /&gt;
**If you have the lmce1 default image installed (see above,) the core will run Diskless_Setup to prepare an RPi MD.&lt;br /&gt;
**If you have the lmce2 default image installed (see above,) you will be prompted on existing orbiters to select the type of RPi device you would like installed.  Once you have made your selection the core will run Diskless_Setup to prepare the device.&lt;br /&gt;
*The Raspberry Pi will reboot automatically once Diskless_Setup completes properly.&lt;br /&gt;
*You should go to an existing orbiter and &#039;Reload the Router&#039; after this point.  You will be prompted to do so eventually on the moonPi, if you have not already done so.&lt;br /&gt;
*On the second boot (called the &#039;FIRSTRUN&#039;) the bootloader on the sdcard will be updated to the version on the diskless image.&lt;br /&gt;
*The Raspberry Pi will reboot again.&lt;br /&gt;
*On the third boot LinuxMCE will slowly come to life.  Please be patient, this can take up to 45 minutes.  You will be presented with the Setup Wizard after ConfirmDependencies has finished installing all ancillary packages.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Kmx3&amp;diff=35285</id>
		<title>Kmx3</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Kmx3&amp;diff=35285"/>
		<updated>2014-11-13T14:49:40Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: kmx3 xev codes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KMX3 = &lt;br /&gt;
2.4Ghz Wireless Air Fly Mouse Keyboard Remote Control For Android TV Box MX3&lt;br /&gt;
&lt;br /&gt;
http://www.ebay.com/itm/2-4Ghz-Wireless-Air-Fly-Mouse-Keyboard-Remote-Control-For-Android-TV-Box-MX3-/111297791678&lt;br /&gt;
&lt;br /&gt;
==  dmesg ==&lt;br /&gt;
  [321010.916163] usb 1-1.1: new full-speed USB device number 4 using ehci-pci&lt;br /&gt;
  [321011.018927] usb 1-1.1: New USB device found, idVendor=0c45, idProduct=2702&lt;br /&gt;
  [321011.018931] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0&lt;br /&gt;
  [321011.018933] usb 1-1.1: Product: 2.4G Wireless Device&lt;br /&gt;
  [321011.018934] usb 1-1.1: Manufacturer: 2.4G&lt;br /&gt;
  [321011.047235] input: 2.4G 2.4G Wireless Device as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.2/input/input12&lt;br /&gt;
  [321011.048214] hid-generic 0003:0C45:2702.0003: input,hiddev0,hidraw0: USB HID v1.10 Mouse [2.4G 2.4G Wireless Device] on usb-0000:00:1a.0-1.1/input2&lt;br /&gt;
  [321011.048499] input: 2.4G 2.4G Wireless Device as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.3/input/input13&lt;br /&gt;
  [321011.048641] hid-generic 0003:0C45:2702.0004: input,hidraw1: USB HID v1.10 Keyboard [2.4G 2.4G Wireless Device] on usb-0000:00:1a.0-1.1/input3&lt;br /&gt;
  [321011.053389] cannot find the slot for index 1 (range 0-1), error: -16&lt;br /&gt;
  [321011.053392] cannot create card instance 0&lt;br /&gt;
  [321011.053396] snd-usb-audio: probe of 1-1.1:1.0 failed with error -5&lt;br /&gt;
  [321011.053411] usbcore: registered new interface driver snd-usb-audio&lt;br /&gt;
&lt;br /&gt;
== lsusb ==&lt;br /&gt;
  Bus 001 Device 004: ID 0c45:2702 Microdia&lt;br /&gt;
&lt;br /&gt;
==  xev output ==&lt;br /&gt;
&lt;br /&gt;
  |&amp;lt;&amp;lt;&lt;br /&gt;
  KeyPress event, serial 31, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324316296, (335,437), root:(1206,879),&lt;br /&gt;
      state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324316498, (335,437), root:(1206,879),&lt;br /&gt;
      state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
  &amp;gt;&amp;gt;|&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324318094, (340,449), root:(1211,891),&lt;br /&gt;
      state 0x0, keycode 171 (keysym 0x1008ff17, XF86AudioNext), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324318296, (340,449), root:(1211,891),&lt;br /&gt;
      state 0x0, keycode 171 (keysym 0x1008ff17, XF86AudioNext), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
  PG+&lt;br /&gt;
  KeyPress event, serial 31, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324385642, (-871,397), root:(0,839),&lt;br /&gt;
      state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324385750, (-870,402), root:(1,844),&lt;br /&gt;
      state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
  PG-&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324387021, (-854,369), root:(17,811),&lt;br /&gt;
      state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324387207, (-868,360), root:(3,802),&lt;br /&gt;
      state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
  MUTE:&lt;br /&gt;
  FocusOut event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      mode NotifyGrab, detail NotifyAncestor&lt;br /&gt;
 &lt;br /&gt;
  FocusIn event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      mode NotifyUngrab, detail NotifyAncestor&lt;br /&gt;
 &lt;br /&gt;
  KeymapNotify event, serial 34, synthetic NO, window 0x0,&lt;br /&gt;
      keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2   &lt;br /&gt;
            0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   &lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324450254, (-740,-144), root:(131,298),&lt;br /&gt;
      state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  SEARCH:&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324507875, (-390,239), root:(481,681),&lt;br /&gt;
      state 0x0, keycode 69 (keysym 0xffc0, F3), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324508076, (-390,233), root:(481,675),&lt;br /&gt;
      state 0x0, keycode 69 (keysym 0xffc0, F3), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
  DEL:&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324533944, (827,471), root:(1698,913),&lt;br /&gt;
      state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,&lt;br /&gt;
      XLookupString gives 1 bytes: (08) &amp;quot;&lt;br /&gt;
      XmbLookupString gives 1 bytes: (08) &amp;quot;&lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324534178, (827,471), root:(1698,913),&lt;br /&gt;
      state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,&lt;br /&gt;
      XLookupString gives 1 bytes: (08) &amp;quot;&lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  !:&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324563973, (827,471), root:(1698,913),&lt;br /&gt;
      state 0x0, keycode 248 (keysym 0x0, NoSymbol), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324564100, (827,471), root:(1698,913),&lt;br /&gt;
      state 0x0, keycode 248 (keysym 0x0, NoSymbol), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  VIDEO:&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324592004, (827,471), root:(1698,913),&lt;br /&gt;
      state 0x0, keycode 179 (keysym 0x1008ff81, XF86Tools), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324592124, (827,471), root:(1698,913),&lt;br /&gt;
      state 0x0, keycode 179 (keysym 0x1008ff81, XF86Tools), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
  WINDOWS:&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324921384, (931,297), root:(1802,739),&lt;br /&gt;
      state 0x0, keycode 68 (keysym 0xffbf, F2), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324921569, (923,294), root:(1794,736),&lt;br /&gt;
      state 0x0, keycode 68 (keysym 0xffbf, F2), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  PLAY/PAUSE:&lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324731366, (835,470), root:(1706,912),&lt;br /&gt;
      state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 324731447, (820,469), root:(1691,911),&lt;br /&gt;
      state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  UP/RIGHT/DOWN/LEFT:&lt;br /&gt;
 &lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x5a00002, time 325176788, (42,13), root:(859,571),&lt;br /&gt;
      state 0x0, keycode 116 (keysym 0xff54, Down), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x5a00002, time 325176943, (42,13), root:(859,571),&lt;br /&gt;
      state 0x0, keycode 116 (keysym 0xff54, Down), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 325381821, (0,16), root:(871,458),&lt;br /&gt;
      state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 325382038, (-13,23), root:(858,465),&lt;br /&gt;
      state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x5a00002, time 325241274, (42,13), root:(859,571),&lt;br /&gt;
      state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x5a00002, time 325241524, (42,13), root:(859,571),&lt;br /&gt;
      state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyPress event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 325416950, (-871,202), root:(0,644),&lt;br /&gt;
      state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XmbLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;br /&gt;
 &lt;br /&gt;
  KeyRelease event, serial 34, synthetic NO, window 0x5a00001,&lt;br /&gt;
      root 0x209, subw 0x0, time 325417107, (-871,202), root:(0,644),&lt;br /&gt;
      state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,&lt;br /&gt;
      XLookupString gives 0 bytes: &lt;br /&gt;
      XFilterEvent returns: False&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Bananapi_mythtv&amp;diff=35228</id>
		<title>Bananapi mythtv</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Bananapi_mythtv&amp;diff=35228"/>
		<updated>2014-09-30T08:16:45Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Using Raspbian_For_BananaPi_v3.1&lt;br /&gt;
http://www.lemaker.org/resources/9-81/raspbian_for_bananapi.html&lt;br /&gt;
&lt;br /&gt;
After installing the image and booting one time I had to use a partition mananger to increase the root partition otherwise all the required packages will not fit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  apt-get install \&lt;br /&gt;
  make gcc git automake autoconf pkg-config libtool dh-autoreconf \&lt;br /&gt;
  xserver-xorg-dev \&lt;br /&gt;
  libgl1-mesa-dev \&lt;br /&gt;
  libgles2-mesa-dev \&lt;br /&gt;
  libgles1-mesa-dev \&lt;br /&gt;
  xutils-dev \&lt;br /&gt;
  x11proto-xf86dri-dev \&lt;br /&gt;
  mesa-utils \&lt;br /&gt;
  mplayer2 \&lt;br /&gt;
  glew-utils \&lt;br /&gt;
  libglew-dev \&lt;br /&gt;
  libvdpau-dev \&lt;br /&gt;
  freeglut3-dev&lt;br /&gt;
&lt;br /&gt;
  apt-get purge libegl1-mesa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  git clone https://github.com/robclark/libdri2.git&lt;br /&gt;
  git clone https://github.com/linux-sunxi/libump.git&lt;br /&gt;
  git clone https://github.com/linux-sunxi/sunxi-mali.git&lt;br /&gt;
  git clone https://github.com/ssvb/xf86-video-fbturbo.git&lt;br /&gt;
&lt;br /&gt;
  (I actualy have git clone -b 0.4.0 https://github.com/ssvb/xf86-video-fbturbo.git currently but I doubt that makes a difference )&lt;br /&gt;
&lt;br /&gt;
  ran:&lt;br /&gt;
  dpkg-reconfigure locales&lt;br /&gt;
  and selected the locale that was failing when running autogen in the next step&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/libdri2&lt;br /&gt;
  ./autogen.sh --prefix=/usr&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/libump&lt;br /&gt;
  autoreconf -vi&lt;br /&gt;
  ./configure --prefix=/usr&lt;br /&gt;
  make&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/sunxi-mali&lt;br /&gt;
  git submodule init&lt;br /&gt;
  git submodule update&lt;br /&gt;
  make config ABI=armhf VERSION=r3p0&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/xf86-video-fbturbo&lt;br /&gt;
  autoreconf -vi&lt;br /&gt;
  ./configure --prefix=/usr&lt;br /&gt;
  make&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  mkdir -p /etc/X11/xorg.conf.d/&lt;br /&gt;
&lt;br /&gt;
  vi /etc/X11/xorg.conf.d/99-fbturbo.conf&lt;br /&gt;
  -----------------&lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Allwinner A10/A13 FBDEV&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;fbturbo&amp;quot;&lt;br /&gt;
          Option          &amp;quot;fbdev&amp;quot; &amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
          Option          &amp;quot;SwapbuffersWait&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;AccelMethod&amp;quot; &amp;quot;G2D&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  ------------------&lt;br /&gt;
&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  git clone https://github.com/linux-sunxi/libvdpau-sunxi.git&lt;br /&gt;
  cd $HOME/libvdpau-sunxi&lt;br /&gt;
  make&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  modprobe sunxi_cedar_mod&lt;br /&gt;
&lt;br /&gt;
  to run as non root user:&lt;br /&gt;
  chmod 666 /dev/ump /dev/mali /dev/disp /dev/g2d /dev/fb* /dev/cedar_dev&lt;br /&gt;
&lt;br /&gt;
  export VDPAU_DRIVER=sunxi&lt;br /&gt;
  wget http://babilejo.org/linuxmce/sample.mkv&lt;br /&gt;
  mplayer -fs -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau sample.mkv&lt;br /&gt;
&lt;br /&gt;
  ==================&lt;br /&gt;
  apt-get update&lt;br /&gt;
  apt-get dist-upgrade&lt;br /&gt;
  sudo apt-get install qt4-qmake libfreetype6-dev libmp3lame-dev libqt4-dev libxxf86vm-dev libxinerama-dev libasound2-dev pkg-config uuid-dev libtag1-dev libgexiv2-dev&lt;br /&gt;
&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  git clone git://github.com/MythTV/mythtv.git&lt;br /&gt;
  cd $HOME/mythtv/mythtv&lt;br /&gt;
  ./configure&lt;br /&gt;
  make -j 2&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
  set vdpau normal in playback profiles&lt;br /&gt;
  set the audio output&lt;br /&gt;
&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  sudo modprobe sunxi_cedar_mod&lt;br /&gt;
  export VDPAU_DRIVER=sunxi&lt;br /&gt;
  export VDPAU_OSD=1&lt;br /&gt;
  sudo chmod 666 /dev/ump /dev/mali /dev/disp /dev/g2d /dev/fb* /dev/cedar_dev&lt;br /&gt;
  mythfrontend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Xine does not work yet:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install xine-console  xfonts-base&lt;br /&gt;
  &lt;br /&gt;
  xine --no-splash --no-logo --no-gui -f -V vdpau sample.mkv&lt;br /&gt;
  &lt;br /&gt;
  ===============&lt;br /&gt;
  bananapi@lemaker ~ $ xine --no-splash --no-logo --no-gui -f -V vdpau sample.mkv&lt;br /&gt;
  This is xine (X11 gui) - a free video player v0.99.7.&lt;br /&gt;
  (c) 2000-2010 The xine Team.&lt;br /&gt;
  vo_vdpau: vdpau API version : 1&lt;br /&gt;
  vo_vdpau: vdpau implementation description : sunxi VDPAU Driver&lt;br /&gt;
  vo_vdpau: VideoSurface doesn&#039;t support chroma type 4:2:2, sorry.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Bananapi_mythtv&amp;diff=35227</id>
		<title>Bananapi mythtv</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Bananapi_mythtv&amp;diff=35227"/>
		<updated>2014-09-29T19:51:55Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: concept info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Using Raspbian_For_BananaPi_v3.1&lt;br /&gt;
http://www.lemaker.org/resources/9-81/raspbian_for_bananapi.html&lt;br /&gt;
&lt;br /&gt;
After installing the image and booting one time I had to use a partition mananger to increase the root partition otherwise all the required packages will not fit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  apt-get install \&lt;br /&gt;
  make gcc git automake autoconf pkg-config libtool dh-autoreconf \&lt;br /&gt;
  xserver-xorg-dev \&lt;br /&gt;
  libgl1-mesa-dev \&lt;br /&gt;
  libgles2-mesa-dev \&lt;br /&gt;
  libgles1-mesa-dev \&lt;br /&gt;
  xutils-dev \&lt;br /&gt;
  x11proto-xf86dri-dev \&lt;br /&gt;
  mesa-utils \&lt;br /&gt;
  mplayer2 \&lt;br /&gt;
  glew-utils \&lt;br /&gt;
  libglew-dev \&lt;br /&gt;
  libvdpau-dev \&lt;br /&gt;
  freeglut3-dev&lt;br /&gt;
&lt;br /&gt;
  apt-get purge libegl1-mesa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  git clone https://github.com/robclark/libdri2.git&lt;br /&gt;
  git clone https://github.com/linux-sunxi/libump.git&lt;br /&gt;
  git clone https://github.com/linux-sunxi/sunxi-mali.git&lt;br /&gt;
  git clone https://github.com/ssvb/xf86-video-fbturbo.git&lt;br /&gt;
&lt;br /&gt;
  (I actualy have git clone -b 0.4.0 https://github.com/ssvb/xf86-video-fbturbo.git currently but I doubt that makes a difference )&lt;br /&gt;
&lt;br /&gt;
  ran:&lt;br /&gt;
  dpkg-reconfigure locales&lt;br /&gt;
  and selected the locale that was failing when running autogen in the next step&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/libdri2&lt;br /&gt;
  ./autogen.sh --prefix=/usr&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/libump&lt;br /&gt;
  autoreconf -vi&lt;br /&gt;
  ./configure --prefix=/usr&lt;br /&gt;
  make&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/sunxi-mali&lt;br /&gt;
  git submodule init&lt;br /&gt;
  git submodule update&lt;br /&gt;
  make config ABI=armhf VERSION=r3p0&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  cd $HOME/xf86-video-fbturbo&lt;br /&gt;
  autoreconf -vi&lt;br /&gt;
  ./configure --prefix=/usr&lt;br /&gt;
  make&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  mkdir -p /etc/X11/xorg.conf.d/&lt;br /&gt;
&lt;br /&gt;
  vi /etc/X11/xorg.conf.d/99-fbturbo.conf&lt;br /&gt;
  -----------------&lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Allwinner A10/A13 FBDEV&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;fbturbo&amp;quot;&lt;br /&gt;
          Option          &amp;quot;fbdev&amp;quot; &amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
          Option          &amp;quot;SwapbuffersWait&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;AccelMethod&amp;quot; &amp;quot;G2D&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  ------------------&lt;br /&gt;
&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  git clone https://github.com/linux-sunxi/libvdpau-sunxi.git&lt;br /&gt;
  cd $HOME/libvdpau-sunxi&lt;br /&gt;
  make&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
  modprobe sunxi_cedar_mod&lt;br /&gt;
&lt;br /&gt;
  to run as non root user:&lt;br /&gt;
  chmod 666 /dev/ump /dev/mali /dev/disp /dev/g2d /dev/fb* /dev/cedar_dev&lt;br /&gt;
&lt;br /&gt;
  export VDPAU_DRIVER=sunxi&lt;br /&gt;
  wget http://babilejo.org/linuxmce/sample.mkv&lt;br /&gt;
  mplayer -fs -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau sample.mkv&lt;br /&gt;
&lt;br /&gt;
  ==================&lt;br /&gt;
  apt-get update&lt;br /&gt;
  apt-get dist-upgrade&lt;br /&gt;
  sudo apt-get install qt4-qmake libfreetype6-dev libmp3lame-dev libqt4-dev libxxf86vm-dev libxinerama-dev libasound2-dev pkg-config uuid-dev libtag1-dev libgexiv2-dev&lt;br /&gt;
&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  git clone git://github.com/MythTV/mythtv.git&lt;br /&gt;
  cd $HOME/mythtv/mythtv&lt;br /&gt;
  ./configure&lt;br /&gt;
  make -j 2&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
  set vdpau normal in playback profiles&lt;br /&gt;
  set the audio output&lt;br /&gt;
&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  sudo modprobe sunxi_cedar_mod&lt;br /&gt;
  export VDPAU_DRIVER=sunxi&lt;br /&gt;
  export VDPAU_OSD=1&lt;br /&gt;
  sudo chmod 666 /dev/ump /dev/mali /dev/disp /dev/g2d /dev/fb* /dev/cedar_dev&lt;br /&gt;
  mythfrontend&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Boblight&amp;diff=35198</id>
		<title>Boblight</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Boblight&amp;diff=35198"/>
		<updated>2014-09-14T17:44:36Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: boblight &amp;amp; adalight notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Boblight with Adalight on Linuxmce =&lt;br /&gt;
&lt;br /&gt;
Until Linuxmce integrates the possibility to do some postprocessing in xine it looks like you have to run a separate xine process which enables postprocessing. I put this together based on my notes so if something does not work please let me know and improve this page.&lt;br /&gt;
&lt;br /&gt;
* [https://code.google.com/p/boblight/ boblight]&lt;br /&gt;
* [https://learn.adafruit.com/adalight-diy-ambient-tv-lighting adalight] (the hardware can be order for less then $50 on ebay.&lt;br /&gt;
&lt;br /&gt;
== install Boblight ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libx11-dev libgl1-mesa-dev libxrender-dev libxext-dev libavcodec-dev libavformat-dev libswscale-dev libavdevice-device&lt;br /&gt;
 &lt;br /&gt;
 svn checkout http://boblight.googlecode.com/svn/trunk/ boblight-read-only&lt;br /&gt;
 cd boblight-read-only/&lt;br /&gt;
 &lt;br /&gt;
 ./configure --without-portaudio&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 echo &amp;quot;/usr/local/lib/libboblight.so&amp;quot; &amp;gt; /etc/ld.so.conf.d/boblightlibs.conf&lt;br /&gt;
 sudo ldconfig&lt;br /&gt;
&lt;br /&gt;
Next create a startscript for the daemon&lt;br /&gt;
&lt;br /&gt;
/etc/init/boblight.conf&lt;br /&gt;
 # boblight service&lt;br /&gt;
 &lt;br /&gt;
 description     &amp;quot;boblight&amp;quot;&lt;br /&gt;
 author          &amp;quot;jordi&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 start on started network-services&lt;br /&gt;
 stop on starting shutdown&lt;br /&gt;
 &lt;br /&gt;
 respawn&lt;br /&gt;
 &lt;br /&gt;
 env EXEC=&amp;quot;/usr/local/bin/boblightd&amp;quot;&lt;br /&gt;
 env PIDFILE=&amp;quot;/var/run/boblightd.pid&amp;quot;&lt;br /&gt;
 env CONFFILE=&amp;quot;/etc/boblight.conf&amp;quot;&lt;br /&gt;
 env LOGFILE=&amp;quot;/var/log/boblightd.log&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 exec start-stop-daemon  -m --pidfile $PIDFILE --exec $EXEC --start -- -c $CONFFILE &amp;gt; $LOGFILE 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
------------------------------&lt;br /&gt;
&lt;br /&gt;
Lastly setup the configuration script for boblight at /etc/boblight.conf. Below is the basis for the configuration file to start from. You need to calculate the lights location and add those to the file. Use an online calculator for this: &lt;br /&gt;
* http://tvgloria.hu/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
 interface 127.0.0.1&lt;br /&gt;
 port      19333&lt;br /&gt;
 &lt;br /&gt;
 [device]&lt;br /&gt;
 name ambilight&lt;br /&gt;
 type momo&lt;br /&gt;
 output /dev/ttyUSB0&lt;br /&gt;
 channels 150&lt;br /&gt;
 #25 leds&lt;br /&gt;
 #prefix 41 64 61 00 18 4D&lt;br /&gt;
 #50 leds&lt;br /&gt;
 prefix 41 64 61 00 31 64&lt;br /&gt;
 #100 leds&lt;br /&gt;
 #prefix 41 64 61 00 63 36&lt;br /&gt;
 interval 10000&lt;br /&gt;
 rate 115200&lt;br /&gt;
 debug off #turn this on to see what it&#039;s doing with the serial port&lt;br /&gt;
 delayafteropen 1000000 &lt;br /&gt;
 &lt;br /&gt;
 [color]&lt;br /&gt;
 name                            red&lt;br /&gt;
 rgb                             FF0000&lt;br /&gt;
 gamma                           1.1&lt;br /&gt;
 adjust                          0.22&lt;br /&gt;
 blacklevel                      0.01  &lt;br /&gt;
 &lt;br /&gt;
 [color]&lt;br /&gt;
 name                            green&lt;br /&gt;
 rgb                             00FF00&lt;br /&gt;
 gamma                           1.1&lt;br /&gt;
 adjust                          0.22&lt;br /&gt;
 blacklevel                      0.01 &lt;br /&gt;
 &lt;br /&gt;
 [color]&lt;br /&gt;
 name                            blue&lt;br /&gt;
 rgb                             0000FF&lt;br /&gt;
 gamma                           1.2&lt;br /&gt;
 adjust                          0.2&lt;br /&gt;
 blacklevel                      0.01 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a log rotate file:&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/logrotate.d/boblightd &lt;br /&gt;
 /var/log/boblightd.log {&lt;br /&gt;
        daily&lt;br /&gt;
        rotate 7&lt;br /&gt;
        delaycompress&lt;br /&gt;
        compress&lt;br /&gt;
        missingok&lt;br /&gt;
        postrotate &lt;br /&gt;
         [ ! -f /var/run/boblightd.pid ] || kill -HUP `cat /var/run/boblightd.pid`&lt;br /&gt;
        endscript&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DFatmo plugin ==&lt;br /&gt;
 sudo apt-get install libxine2-dev&lt;br /&gt;
 git clone https://github.com/durchflieger/DFAtmo&lt;br /&gt;
 cd DFAtmo/&lt;br /&gt;
 &lt;br /&gt;
 make xineplugin&lt;br /&gt;
 make xineinstall&lt;br /&gt;
 make dfatmo&lt;br /&gt;
 make dfatmoinstall&lt;br /&gt;
&lt;br /&gt;
== install xine player ==&lt;br /&gt;
&lt;br /&gt;
to compile Xine_Player you need:&lt;br /&gt;
 sudo apt-get install libxmu-dev \&lt;br /&gt;
 libxxf86vm-dev \&lt;br /&gt;
 libxtst-dev \&lt;br /&gt;
 libcdparanoia-dev&lt;br /&gt;
&lt;br /&gt;
then get the latest xine player from https://www.xine-project.org/homeand install it. &lt;br /&gt;
&lt;br /&gt;
== run ==&lt;br /&gt;
&lt;br /&gt;
 sudo start boblight&lt;br /&gt;
 export DISPLAY=:0; xine --verbose=10  --hide-gui --geometry 1x1+0+1080  --post=dfatmo:driver=serial &amp;amp;&lt;br /&gt;
 export DISPLAY=:0; boblight-X11 &amp;amp;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=User_talk:Phenigma&amp;diff=35197</id>
		<title>User talk:Phenigma</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=User_talk:Phenigma&amp;diff=35197"/>
		<updated>2014-09-14T15:41:40Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is from my notes:&lt;br /&gt;
&lt;br /&gt;
===== MYTHTV 0.28 PPA daily =====&lt;br /&gt;
&lt;br /&gt;
 sudo add-apt-repository ppa:mythbuntu/0.28&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get purge libmyth-0* mythtv-backend mythtv-common mythtv-frontend mythtv-transcode-utils libmyth-python  libmythtv-perl&lt;br /&gt;
 sudo apt-get install mythtv-frontend pluto-mythtv-player&lt;br /&gt;
&lt;br /&gt;
then start mythtv on frontend and fill in IP, port and password of the core backend.&lt;br /&gt;
Don&#039;t forget to select vdpau and set the sound device in mythtv.&lt;br /&gt;
&lt;br /&gt;
commented the start-on line on the MD:&lt;br /&gt;
 sed -e &#039;/^start on / s/^#*/#/&#039; -i /etc/init/mythtv-backend.conf&lt;br /&gt;
 mv /usr/pluto/bin/Restart_MythBackend.sh /usr/pluto/bin/Restart_MythBackend.sh_&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to set the token and protocol nr in the device template:&lt;br /&gt;
https://code.mythtv.org/doxygen/mythversion_8h_source.html&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=User_talk:Phenigma&amp;diff=35192</id>
		<title>User talk:Phenigma</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=User_talk:Phenigma&amp;diff=35192"/>
		<updated>2014-09-12T19:24:46Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is from my notes:&lt;br /&gt;
&lt;br /&gt;
===== MYTHTV 0.28 PPA daily =====&lt;br /&gt;
&lt;br /&gt;
 sudo add-apt-repository ppa:mythbuntu/0.28&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get purge libmyth-0* mythtv-backend mythtv-common mythtv-frontend mythtv-transcode-utils libmyth-python  libmythtv-perl&lt;br /&gt;
 sudo apt-get install mythtv-frontend pluto-mythtv-player&lt;br /&gt;
&lt;br /&gt;
then start mythtv on frontend and fill in IP, port and password of the core backend.&lt;br /&gt;
Don&#039;t forget to select vdpau and set the sound device in mythtv.&lt;br /&gt;
&lt;br /&gt;
commented the start-on line on the MD:&lt;br /&gt;
 sed -e &#039;/^start on / s/^#*/#/&#039; -i /etc/init/mythtv-backend.conf&lt;br /&gt;
 mv /usr/pluto/bin/Restart_MythBackend.sh /usr/pluto/bin/Restart_MythBackend.sh_&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=User_talk:Phenigma&amp;diff=35191</id>
		<title>User talk:Phenigma</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=User_talk:Phenigma&amp;diff=35191"/>
		<updated>2014-09-12T19:23:22Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: notes mythtv&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is from my notes:&lt;br /&gt;
&lt;br /&gt;
===== MYTHTV 0.28 PPA daily =====&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:mythbuntu/0.28&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get purge libmyth-0* mythtv-backend mythtv-common mythtv-frontend mythtv-transcode-utils libmyth-python  libmythtv-perl&lt;br /&gt;
sudo apt-get install mythtv-frontend pluto-mythtv-player&lt;br /&gt;
&lt;br /&gt;
then start mythtv on frontend and fill in IP, port and password of the core backend.&lt;br /&gt;
Don&#039;t forget to select vdpau and set the sound device in mythtv.&lt;br /&gt;
&lt;br /&gt;
commented the start-on line on the MD:&lt;br /&gt;
sed -e &#039;/^start on / s/^#*/#/&#039; -i /etc/init/mythtv-backend.conf&lt;br /&gt;
mv /usr/pluto/bin/Restart_MythBackend.sh /usr/pluto/bin/Restart_MythBackend.sh_&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Developing_a_DCE_Device&amp;diff=34922</id>
		<title>Developing a DCE Device</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Developing_a_DCE_Device&amp;diff=34922"/>
		<updated>2014-04-14T13:46:38Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: libattr1-dev needed for sql2cpp?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Development]]&lt;br /&gt;
[[Category: Programmer&#039;s Guide]]&lt;br /&gt;
Document Relevance:&lt;br /&gt;
*LinuxMCE 810&lt;br /&gt;
*LinuxMCE 1004&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
DCE (Data, Commands and Events) is a lightweight network protocol allowing any device to access its configuration (ie data) from a central database, send + receive commands, and fire + respond to events.&lt;br /&gt;
&lt;br /&gt;
A DCE device is a piece of software that implements the DCE protocol, as a means to interface with hardware or other pieces of software.&lt;br /&gt;
&lt;br /&gt;
See [[Developers Guide]] for more info on DCE and other parts of LinuxMCE architecture.&lt;br /&gt;
&lt;br /&gt;
For the purposes of this demonstration, we will be using the instructions below to create a c++ project that will result in a working DCE implementation of a fictional smart light bulb socket.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
Developing for any part of the system requires a specific environment setup, including an up to date source code tree and some required programs to be installed. It is assumed that this guide will be followed on an existing LinuxMCE Core installation. All commands following a # sign are to be run as a privileged user, either by prepending &#039;sudo&#039; or after obtaining a root shell (&amp;quot;sudo -s&amp;quot;, &amp;quot;sudo -r&amp;quot;, or &amp;quot;sudo su&amp;quot; are all acceptable means of doing this).&lt;br /&gt;
=== Required Packages ===&lt;br /&gt;
Install pluto-dcegen, [http://svn.linuxmce.org/svn/trunk/src/sql2cpp/ pluto-sql2cpp ], and a few other build dependencies&lt;br /&gt;
 # apt-get install pluto-dcegen subversion build-essential libmysqld-dev libattr1-dev&lt;br /&gt;
&lt;br /&gt;
*In my case on 810 replace libmysqld-dev with libmysqlclient15-dev   -L3mce&lt;br /&gt;
&lt;br /&gt;
=== Source Tree ===&lt;br /&gt;
Check out the LinuxMCE source tree&lt;br /&gt;
 # svn co http://svn.linuxmce.org/svn/branches/LinuxMCE-1004/src .&lt;br /&gt;
&lt;br /&gt;
=== Environment Preparation ===&lt;br /&gt;
Copy the system libs into the source tree&lt;br /&gt;
 # cp /usr/pluto/lib/* src/lib&lt;br /&gt;
== Developing the Device ==&lt;br /&gt;
&lt;br /&gt;
=== Device Template ===&lt;br /&gt;
Every DCE device, starts with a template.&lt;br /&gt;
&lt;br /&gt;
A template merely specifies what the device is, what it&#039;s capable of, how it relates to the other devices in the system, what it needs to install (the package entry), any data it might need to carry around (device data), any events the device may want to EMIT, any related devices that need to exist for this device to function, and any orbiter screens this thing might need, as well as plug and play data so the system can detect it if it&#039;s hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
In short, as the name implies, it is a template that the system can use as a basis to create a unique device for each piece of hardware or software attached to the system (even multiples of each).&lt;br /&gt;
&lt;br /&gt;
Before any code can be written, a device template is needed. This is created in the Web Admin, under Advanced -&amp;gt; Configuration -&amp;gt; Device Templates.&amp;lt;br&amp;gt;&lt;br /&gt;
There is a button for &amp;quot;Add device template&amp;quot;, but a manufacturer and a device category must be selected first. In this case, the manufacturer will be &amp;quot;Pluto&amp;quot; and the device category will be &amp;quot;Lighting Device &amp;lt; Environment&amp;quot;. New manufacturers and device categories can be added if none are suitable for the device being controlled.&amp;lt;br&amp;gt;&lt;br /&gt;
Select the manufacturer and device category, then click the &amp;quot;Add device template&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
On the window that pops up, select the second option (to make it a c++ device) and fill in a name (this guide will use &amp;quot;Intelligent Light Switch&amp;quot;) and click &amp;quot;Add&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
At this point the device template is complete and a functioning device could be made from it, however there are some important options that need to be set to make the device actually be useful. These are listed below organized by the section they appear in on the device template configuration screen.&lt;br /&gt;
&lt;br /&gt;
==== Device Template #xxxx ====&lt;br /&gt;
This is the main section. Remember the number after the pound sign; this is the unique identifier for this device template and will be required for some steps later. For demonstration purposes, this guide will use the number 2181. There are some important options that must be set here. For details on items which are not covered here, see [[Edit Device Template]].&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;Implements DCE device&#039;&#039; - this should always be checked for DCE devices, for obvious reasons.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;This device is controlled via&#039;&#039; and &#039;&#039;This device is controlled via category&#039;&#039; - devices are usually attached to other devices or controlled via other devices; these options provide a way of specifying that relationship. This mythical intelligent light can be controlled by any Media Director (which includes the Media Director portion of a Core/Hybrid) so click the &amp;quot;Add a new controlled via category device&amp;quot; and choose &amp;quot;Media Director&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Inherits MAC from PC&#039;&#039; and &#039;&#039;Is IP Based&#039;&#039; - the light is network-attached, so select these options.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Device Data ====&lt;br /&gt;
Device Data is simply a way of describing pieces of information, so that the device and the rest of the system know how to talk to each other. Events and Commands make use of Device Data to pass information around. This section tells this device what kind of information it will send or receive.&amp;lt;br&amp;gt;&lt;br /&gt;
The intelligent light will be able to provide information on how much electricity it is consuming, or we can manually configure it with this information, so open the drop-down next to &amp;quot;Add a new parameter&amp;quot; and select &amp;quot;Energy Consumption&amp;quot;. There are several options available for each Device Data:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Comments&#039;&#039; - as it says, a comment describing what this piece of information is for. Device Data are fairly generic in nature, so this allows a more descriptive entry. This is required, so fill it in with something.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Default Value&#039;&#039; - the value to use by default in any device created by this template. It is not required, but fill in a 0 for now.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Required&#039;&#039; - device data can be optional. If this is checked then a default value must be provided or the user must enter a value. Leave it unchecked.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Allowed to Modify&#039;&#039; - as it implies, this controls whether the user can modify the value in the web admin. Enable this.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Use Master Device List Defaults&#039;&#039; - this means that the default value above will always be used by any created devices, and any time the device template default is changed all created devices will be automatically updated. Leave it unchecked.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Set by Device&#039;&#039; - this means that the DCE device itself sets the value. Normally a device like the intelligent light switch would set its energy usage, but since this is just a demonstration this will be left unchecked.&lt;br /&gt;
&lt;br /&gt;
==== Commands ====&lt;br /&gt;
Commands are how the system tells this device to perform an action. As can be seen, several command groups have already been made available, chosen based on what device category this device template is. None are actually enabled, however, so some will need to be selected. The intelligent light switch is able to turn on and off, as well as dim to partially on states, so select the check boxes for &amp;quot;Dimming&amp;quot; and &amp;quot;On/Off Light Switch&amp;quot;. You can click on the &amp;quot;Edit Commands&amp;quot; button to see what commands make up each group.&lt;br /&gt;
&lt;br /&gt;
==== Events ====&lt;br /&gt;
Events are how the device lets the system know that something with this device has happened. Other parts of the system can register to listen for these events and perform an action of their own when the event is fired. The intelligent light switch also has manual controls, so it needs to let the system know when someone operates one of these controls.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually events will mirror commands, so use the dropdown to add events for &amp;quot;Device On/Off&amp;quot; and &amp;quot;State Changed&amp;quot; and use the textbox to add an appropriate comment for each.&lt;br /&gt;
&lt;br /&gt;
==== Plug &amp;amp; Play ====&lt;br /&gt;
This is used to help the system identify when a device becomes available and know that this is the device template to use when creating a device for it. This section is not used in this guide.&lt;br /&gt;
&lt;br /&gt;
==== Device Template Related ====&lt;br /&gt;
This is used to let the system know about devices that are related to this one. This section is not used in this guide.&lt;br /&gt;
&lt;br /&gt;
==== Screens ====&lt;br /&gt;
This is used to let OrbiterGen know about Orbiter screens that are not referenced directly but are still used by this device. This section is not use in this guide.&lt;br /&gt;
&lt;br /&gt;
=== Running DCEGen ===&lt;br /&gt;
DCEGen is a program that uses the device template information to create a skeleton of c++ code that will comprise the basics of the device. It creates the necessary header files, source files and makefiles in order for the device&#039;s code to compile. Included in this are functions for the device data, commands, and events defined in the template. Under normal circumstances, you would do an initial sqlCVS checkin at this point in order to get a permanent Device Template number, but since this is a demonstration only this will not be performed.&amp;lt;br&amp;gt;&lt;br /&gt;
Run DCEGen to create the source code skeleton:&lt;br /&gt;
 # cd src/DCEGen&lt;br /&gt;
 # /usr/pluto/bin/DCEGen -d 2181&lt;br /&gt;
It is important to be in src/DCEGen of the svn tree when running this command! Also make sure to use the correct device template number for your template in place of 2181. DCEGen can also be run again later if you change the device template options; it will leave your customizations alone and only update the device template specified options. DCEGen adds very verbose comments that makes the code very easy to read and modify.&lt;br /&gt;
&lt;br /&gt;
=== Running sql2cpp ===&lt;br /&gt;
All database tables, rows, and columns are represented as c++ constants, and must be regenerated any time device template options change. sql2cpp performs this operation.&amp;lt;br&amp;gt;&lt;br /&gt;
 # cd ../sql2cpp&lt;br /&gt;
 # /usr/pluto/bin/sql2cpp&lt;br /&gt;
As with DCEGen, it is important to be in src/sql2cpp of the svn tree when executing it, and it is safe to execute this again at any time.&lt;br /&gt;
&lt;br /&gt;
=== Testing Compilation ===&lt;br /&gt;
Before compilation, you may need to install build packages required for some code. Its wise to do this in the start and spare yourself the headaches.&lt;br /&gt;
&lt;br /&gt;
 apt-get install $(cat home/src/LinuxMCE-1004/src/Ubuntu_Helpers_NoHardcode/conf-files/lucid-i386/build-packages)&lt;br /&gt;
&lt;br /&gt;
This should install the packages needed for compilation.&lt;br /&gt;
&lt;br /&gt;
At this point the device code is complete and will create a fully functioning device binary when compiled. DCEGen created a new directory in src for the device and placed all the code within that directory, so to compile it, simply cd into that directory and invoke the &amp;quot;make&amp;quot; command:&amp;lt;br&amp;gt;&lt;br /&gt;
 # cd ../Intelligent_Light_Switch&lt;br /&gt;
 # ./make&lt;br /&gt;
Due to a bug in DCEGen, there will be an error during compilation about post_make.sh, however it is not fatal. If the error bothers you, you can simply make the file executable:&amp;lt;br&amp;gt;&lt;br /&gt;
 # chmod 755 post_make.sh&lt;br /&gt;
You should now have a binary of the device in the current dir: Intelligent_Light_Switch&lt;br /&gt;
&lt;br /&gt;
=== Testing the Device ===&lt;br /&gt;
At this point you could create a device in the device tree and copy the binary to /usr/pluto/bin and the device would be started in a screen session after a router reload. However for testing purposes it is usually better to just run the device directly from where it is at. Go ahead and create a device in the device tree:&amp;lt;br&amp;gt;&lt;br /&gt;
Sign in to the web admin, go to Advanced -&amp;gt; Configuration -&amp;gt; Devices, and browse to and select the &amp;quot;The core/hybrid&amp;quot; device under &amp;quot;CORE&amp;quot; in the tree to the left.&amp;lt;br&amp;gt;&lt;br /&gt;
Click &amp;quot;Create Child Device&amp;quot;, enter a description, and click the &amp;quot;Pick device template&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
Enter your device template ID in the box next to the &amp;quot;Go&amp;quot; button, click the &amp;quot;Go&amp;quot; button, then click &amp;quot;Pick device template&amp;quot;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Write down the device number this is assigned to this device. For demonstration purposes, this guide will use &amp;quot;53&amp;quot; as the device number.&amp;lt;br&amp;gt;&lt;br /&gt;
Now, start the device, providing it with the device number to use:&amp;lt;br&amp;gt;&lt;br /&gt;
 # ./Intelligent_Light_Switch -d 53&lt;br /&gt;
It will probably tell you that the router needs reloaded; go ahead and do this using the web admin or an Orbiter. You may need to restart the device afterwards. Note that at any time you can press ctrl-c to stop the device and exit back to the shell. To see the device in action, click on the &amp;quot;Send command to device&amp;quot; link at the top of it&#039;s web admin page. Choose one of the available commands and click &amp;quot;Send Message&amp;quot;, providing any Device Data that you want. The terminal running the device will output messages saying that the command was received.&lt;br /&gt;
&lt;br /&gt;
=== Implementing Code ===&lt;br /&gt;
Of course the device created so far doesn&#039;t actually do anything, other than provide some output when it is sent commands; hardly a useful device! Here begins the process of adding functionality and testing the results. Add/edit some code, then do the compiling and testing steps above to make sure things are going in the right direction. Repeat until the device does everything it should.&amp;lt;br&amp;gt;&lt;br /&gt;
Refer to the source code for other devices if you get stuck or if you need ideas on how to implement something. And make sure to run DCEGen and sql2cpp as necessary if you change options in the device template.&lt;br /&gt;
&lt;br /&gt;
== Packaging the Device ==&lt;br /&gt;
&lt;br /&gt;
=== Creating the Binary Package ===&lt;br /&gt;
=== Creating the Source Package ===&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Developing_a_DCE_Device&amp;diff=34921</id>
		<title>Developing a DCE Device</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Developing_a_DCE_Device&amp;diff=34921"/>
		<updated>2014-04-14T13:39:38Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: removed pluto-sql2cpp package&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Development]]&lt;br /&gt;
[[Category: Programmer&#039;s Guide]]&lt;br /&gt;
Document Relevance:&lt;br /&gt;
*LinuxMCE 810&lt;br /&gt;
*LinuxMCE 1004&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
DCE (Data, Commands and Events) is a lightweight network protocol allowing any device to access its configuration (ie data) from a central database, send + receive commands, and fire + respond to events.&lt;br /&gt;
&lt;br /&gt;
A DCE device is a piece of software that implements the DCE protocol, as a means to interface with hardware or other pieces of software.&lt;br /&gt;
&lt;br /&gt;
See [[Developers Guide]] for more info on DCE and other parts of LinuxMCE architecture.&lt;br /&gt;
&lt;br /&gt;
For the purposes of this demonstration, we will be using the instructions below to create a c++ project that will result in a working DCE implementation of a fictional smart light bulb socket.&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
Developing for any part of the system requires a specific environment setup, including an up to date source code tree and some required programs to be installed. It is assumed that this guide will be followed on an existing LinuxMCE Core installation. All commands following a # sign are to be run as a privileged user, either by prepending &#039;sudo&#039; or after obtaining a root shell (&amp;quot;sudo -s&amp;quot;, &amp;quot;sudo -r&amp;quot;, or &amp;quot;sudo su&amp;quot; are all acceptable means of doing this).&lt;br /&gt;
=== Required Packages ===&lt;br /&gt;
Install pluto-dcegen, [http://svn.linuxmce.org/svn/trunk/src/sql2cpp/ pluto-sql2cpp ], and a few other build dependencies&lt;br /&gt;
 # apt-get install pluto-dcegen subversion build-essential libmysqld-dev&lt;br /&gt;
&lt;br /&gt;
*In my case on 810 replace libmysqld-dev with libmysqlclient15-dev   -L3mce&lt;br /&gt;
&lt;br /&gt;
=== Source Tree ===&lt;br /&gt;
Check out the LinuxMCE source tree&lt;br /&gt;
 # svn co http://svn.linuxmce.org/svn/branches/LinuxMCE-1004/src .&lt;br /&gt;
&lt;br /&gt;
=== Environment Preparation ===&lt;br /&gt;
Copy the system libs into the source tree&lt;br /&gt;
 # cp /usr/pluto/lib/* src/lib&lt;br /&gt;
== Developing the Device ==&lt;br /&gt;
&lt;br /&gt;
=== Device Template ===&lt;br /&gt;
Every DCE device, starts with a template.&lt;br /&gt;
&lt;br /&gt;
A template merely specifies what the device is, what it&#039;s capable of, how it relates to the other devices in the system, what it needs to install (the package entry), any data it might need to carry around (device data), any events the device may want to EMIT, any related devices that need to exist for this device to function, and any orbiter screens this thing might need, as well as plug and play data so the system can detect it if it&#039;s hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
In short, as the name implies, it is a template that the system can use as a basis to create a unique device for each piece of hardware or software attached to the system (even multiples of each).&lt;br /&gt;
&lt;br /&gt;
Before any code can be written, a device template is needed. This is created in the Web Admin, under Advanced -&amp;gt; Configuration -&amp;gt; Device Templates.&amp;lt;br&amp;gt;&lt;br /&gt;
There is a button for &amp;quot;Add device template&amp;quot;, but a manufacturer and a device category must be selected first. In this case, the manufacturer will be &amp;quot;Pluto&amp;quot; and the device category will be &amp;quot;Lighting Device &amp;lt; Environment&amp;quot;. New manufacturers and device categories can be added if none are suitable for the device being controlled.&amp;lt;br&amp;gt;&lt;br /&gt;
Select the manufacturer and device category, then click the &amp;quot;Add device template&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
On the window that pops up, select the second option (to make it a c++ device) and fill in a name (this guide will use &amp;quot;Intelligent Light Switch&amp;quot;) and click &amp;quot;Add&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
At this point the device template is complete and a functioning device could be made from it, however there are some important options that need to be set to make the device actually be useful. These are listed below organized by the section they appear in on the device template configuration screen.&lt;br /&gt;
&lt;br /&gt;
==== Device Template #xxxx ====&lt;br /&gt;
This is the main section. Remember the number after the pound sign; this is the unique identifier for this device template and will be required for some steps later. For demonstration purposes, this guide will use the number 2181. There are some important options that must be set here. For details on items which are not covered here, see [[Edit Device Template]].&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;Implements DCE device&#039;&#039; - this should always be checked for DCE devices, for obvious reasons.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;This device is controlled via&#039;&#039; and &#039;&#039;This device is controlled via category&#039;&#039; - devices are usually attached to other devices or controlled via other devices; these options provide a way of specifying that relationship. This mythical intelligent light can be controlled by any Media Director (which includes the Media Director portion of a Core/Hybrid) so click the &amp;quot;Add a new controlled via category device&amp;quot; and choose &amp;quot;Media Director&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Inherits MAC from PC&#039;&#039; and &#039;&#039;Is IP Based&#039;&#039; - the light is network-attached, so select these options.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Device Data ====&lt;br /&gt;
Device Data is simply a way of describing pieces of information, so that the device and the rest of the system know how to talk to each other. Events and Commands make use of Device Data to pass information around. This section tells this device what kind of information it will send or receive.&amp;lt;br&amp;gt;&lt;br /&gt;
The intelligent light will be able to provide information on how much electricity it is consuming, or we can manually configure it with this information, so open the drop-down next to &amp;quot;Add a new parameter&amp;quot; and select &amp;quot;Energy Consumption&amp;quot;. There are several options available for each Device Data:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Comments&#039;&#039; - as it says, a comment describing what this piece of information is for. Device Data are fairly generic in nature, so this allows a more descriptive entry. This is required, so fill it in with something.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Default Value&#039;&#039; - the value to use by default in any device created by this template. It is not required, but fill in a 0 for now.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Required&#039;&#039; - device data can be optional. If this is checked then a default value must be provided or the user must enter a value. Leave it unchecked.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Allowed to Modify&#039;&#039; - as it implies, this controls whether the user can modify the value in the web admin. Enable this.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Use Master Device List Defaults&#039;&#039; - this means that the default value above will always be used by any created devices, and any time the device template default is changed all created devices will be automatically updated. Leave it unchecked.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Set by Device&#039;&#039; - this means that the DCE device itself sets the value. Normally a device like the intelligent light switch would set its energy usage, but since this is just a demonstration this will be left unchecked.&lt;br /&gt;
&lt;br /&gt;
==== Commands ====&lt;br /&gt;
Commands are how the system tells this device to perform an action. As can be seen, several command groups have already been made available, chosen based on what device category this device template is. None are actually enabled, however, so some will need to be selected. The intelligent light switch is able to turn on and off, as well as dim to partially on states, so select the check boxes for &amp;quot;Dimming&amp;quot; and &amp;quot;On/Off Light Switch&amp;quot;. You can click on the &amp;quot;Edit Commands&amp;quot; button to see what commands make up each group.&lt;br /&gt;
&lt;br /&gt;
==== Events ====&lt;br /&gt;
Events are how the device lets the system know that something with this device has happened. Other parts of the system can register to listen for these events and perform an action of their own when the event is fired. The intelligent light switch also has manual controls, so it needs to let the system know when someone operates one of these controls.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually events will mirror commands, so use the dropdown to add events for &amp;quot;Device On/Off&amp;quot; and &amp;quot;State Changed&amp;quot; and use the textbox to add an appropriate comment for each.&lt;br /&gt;
&lt;br /&gt;
==== Plug &amp;amp; Play ====&lt;br /&gt;
This is used to help the system identify when a device becomes available and know that this is the device template to use when creating a device for it. This section is not used in this guide.&lt;br /&gt;
&lt;br /&gt;
==== Device Template Related ====&lt;br /&gt;
This is used to let the system know about devices that are related to this one. This section is not used in this guide.&lt;br /&gt;
&lt;br /&gt;
==== Screens ====&lt;br /&gt;
This is used to let OrbiterGen know about Orbiter screens that are not referenced directly but are still used by this device. This section is not use in this guide.&lt;br /&gt;
&lt;br /&gt;
=== Running DCEGen ===&lt;br /&gt;
DCEGen is a program that uses the device template information to create a skeleton of c++ code that will comprise the basics of the device. It creates the necessary header files, source files and makefiles in order for the device&#039;s code to compile. Included in this are functions for the device data, commands, and events defined in the template. Under normal circumstances, you would do an initial sqlCVS checkin at this point in order to get a permanent Device Template number, but since this is a demonstration only this will not be performed.&amp;lt;br&amp;gt;&lt;br /&gt;
Run DCEGen to create the source code skeleton:&lt;br /&gt;
 # cd src/DCEGen&lt;br /&gt;
 # /usr/pluto/bin/DCEGen -d 2181&lt;br /&gt;
It is important to be in src/DCEGen of the svn tree when running this command! Also make sure to use the correct device template number for your template in place of 2181. DCEGen can also be run again later if you change the device template options; it will leave your customizations alone and only update the device template specified options. DCEGen adds very verbose comments that makes the code very easy to read and modify.&lt;br /&gt;
&lt;br /&gt;
=== Running sql2cpp ===&lt;br /&gt;
All database tables, rows, and columns are represented as c++ constants, and must be regenerated any time device template options change. sql2cpp performs this operation.&amp;lt;br&amp;gt;&lt;br /&gt;
 # cd ../sql2cpp&lt;br /&gt;
 # /usr/pluto/bin/sql2cpp&lt;br /&gt;
As with DCEGen, it is important to be in src/sql2cpp of the svn tree when executing it, and it is safe to execute this again at any time.&lt;br /&gt;
&lt;br /&gt;
=== Testing Compilation ===&lt;br /&gt;
Before compilation, you may need to install build packages required for some code. Its wise to do this in the start and spare yourself the headaches.&lt;br /&gt;
&lt;br /&gt;
 apt-get install $(cat home/src/LinuxMCE-1004/src/Ubuntu_Helpers_NoHardcode/conf-files/lucid-i386/build-packages)&lt;br /&gt;
&lt;br /&gt;
This should install the packages needed for compilation.&lt;br /&gt;
&lt;br /&gt;
At this point the device code is complete and will create a fully functioning device binary when compiled. DCEGen created a new directory in src for the device and placed all the code within that directory, so to compile it, simply cd into that directory and invoke the &amp;quot;make&amp;quot; command:&amp;lt;br&amp;gt;&lt;br /&gt;
 # cd ../Intelligent_Light_Switch&lt;br /&gt;
 # ./make&lt;br /&gt;
Due to a bug in DCEGen, there will be an error during compilation about post_make.sh, however it is not fatal. If the error bothers you, you can simply make the file executable:&amp;lt;br&amp;gt;&lt;br /&gt;
 # chmod 755 post_make.sh&lt;br /&gt;
You should now have a binary of the device in the current dir: Intelligent_Light_Switch&lt;br /&gt;
&lt;br /&gt;
=== Testing the Device ===&lt;br /&gt;
At this point you could create a device in the device tree and copy the binary to /usr/pluto/bin and the device would be started in a screen session after a router reload. However for testing purposes it is usually better to just run the device directly from where it is at. Go ahead and create a device in the device tree:&amp;lt;br&amp;gt;&lt;br /&gt;
Sign in to the web admin, go to Advanced -&amp;gt; Configuration -&amp;gt; Devices, and browse to and select the &amp;quot;The core/hybrid&amp;quot; device under &amp;quot;CORE&amp;quot; in the tree to the left.&amp;lt;br&amp;gt;&lt;br /&gt;
Click &amp;quot;Create Child Device&amp;quot;, enter a description, and click the &amp;quot;Pick device template&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
Enter your device template ID in the box next to the &amp;quot;Go&amp;quot; button, click the &amp;quot;Go&amp;quot; button, then click &amp;quot;Pick device template&amp;quot;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Write down the device number this is assigned to this device. For demonstration purposes, this guide will use &amp;quot;53&amp;quot; as the device number.&amp;lt;br&amp;gt;&lt;br /&gt;
Now, start the device, providing it with the device number to use:&amp;lt;br&amp;gt;&lt;br /&gt;
 # ./Intelligent_Light_Switch -d 53&lt;br /&gt;
It will probably tell you that the router needs reloaded; go ahead and do this using the web admin or an Orbiter. You may need to restart the device afterwards. Note that at any time you can press ctrl-c to stop the device and exit back to the shell. To see the device in action, click on the &amp;quot;Send command to device&amp;quot; link at the top of it&#039;s web admin page. Choose one of the available commands and click &amp;quot;Send Message&amp;quot;, providing any Device Data that you want. The terminal running the device will output messages saying that the command was received.&lt;br /&gt;
&lt;br /&gt;
=== Implementing Code ===&lt;br /&gt;
Of course the device created so far doesn&#039;t actually do anything, other than provide some output when it is sent commands; hardly a useful device! Here begins the process of adding functionality and testing the results. Add/edit some code, then do the compiling and testing steps above to make sure things are going in the right direction. Repeat until the device does everything it should.&amp;lt;br&amp;gt;&lt;br /&gt;
Refer to the source code for other devices if you get stuck or if you need ideas on how to implement something. And make sure to run DCEGen and sql2cpp as necessary if you change options in the device template.&lt;br /&gt;
&lt;br /&gt;
== Packaging the Device ==&lt;br /&gt;
&lt;br /&gt;
=== Creating the Binary Package ===&lt;br /&gt;
=== Creating the Source Package ===&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34894</id>
		<title>RF03 Air mouse</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34894"/>
		<updated>2014-03-30T16:42:00Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: added reset procedure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mele F10 Fly mouse / RF03 Air Mouse &amp;amp; Wireless Keyboard&lt;br /&gt;
&lt;br /&gt;
http://www.amazon.com/Mele-wireless-Keyboard-Control-Universal/dp/B0092KDSQW/&lt;br /&gt;
&lt;br /&gt;
To reset the mouse: make sure the distance between the usb receiver and the air mouse is as small as possible. Put the air mouse horizontally. Next press the Enter key (middle of circle) and the right mouse button/back key (just right above the circle) simultanously.&lt;br /&gt;
&lt;br /&gt;
Button layout on mouse side:&lt;br /&gt;
&lt;br /&gt;
     X                                X&lt;br /&gt;
 &lt;br /&gt;
    KEY_ENTER                   BTN_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                  KEY_UP&lt;br /&gt;
 &lt;br /&gt;
 KEY_LEFT        BTN_LEFT             KEY_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                 KEY_DOWN&lt;br /&gt;
 &lt;br /&gt;
 KEY_HOME BTN_MIDDLE KEY_VOLUMEDOWN KEY_VOLUMEUP&lt;br /&gt;
 &lt;br /&gt;
 KEY_TV        X            X          KEY_MUTE&lt;br /&gt;
 &lt;br /&gt;
 KEY_F1     KEY_F2       KEY_F3          KEY_F4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USB ID: 1915af11&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=34877</id>
		<title>Squeezelite</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=34877"/>
		<updated>2014-03-20T14:31:47Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: stop section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An alternative for squeezeslave.&lt;br /&gt;
&lt;br /&gt;
Downloadable executables and source at:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/squeezelite/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Squeezelite upstart (/etc/init/squeezelite.conf). This is run after pulseaudio is started up and uses the pulseaudio sink &#039;kitchen&#039;.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# squeezelite service&lt;br /&gt;
&lt;br /&gt;
description     &amp;quot;squeezelite&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on started pulseaudio&lt;br /&gt;
stop on starting shutdown or stopping pulseaudio&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
&lt;br /&gt;
env EXEC=&amp;quot;/root/squeezelite-i386&amp;quot;&lt;br /&gt;
env ARGS=&amp;quot;-a 180 -o pulse&amp;quot;&lt;br /&gt;
env LOGGING=&amp;quot;-d all=info&amp;quot;&lt;br /&gt;
env MAC=&amp;quot;00:00:00:00:00:04&amp;quot;&lt;br /&gt;
env LOGFILE=&amp;quot;/var/log/squeezelite.log&amp;quot;&lt;br /&gt;
env PIDFILE=&amp;quot;/var/run/squeezelite.pid&amp;quot;&lt;br /&gt;
env NAME=&amp;quot;kitchen&amp;quot;&lt;br /&gt;
env PULSE_SINK=&amp;quot;kitchen&amp;quot;&lt;br /&gt;
env PULSE_PROP_OVERRIDE=&amp;quot;application.name=&#039;squeezelite kitchen&#039;&amp;quot;&lt;br /&gt;
env SERVER=&amp;quot;192.168.80.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exec start-stop-daemon  -m --pidfile $PIDFILE --exec $EXEC --start -- -s $SERVER $ARGS $LOGGING -m $MAC -f $LOGFILE -n $NAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take care of the logfile&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/var/log/squeezelite.log {&lt;br /&gt;
       daily&lt;br /&gt;
       rotate 7&lt;br /&gt;
       delaycompress&lt;br /&gt;
       compress&lt;br /&gt;
       missingok&lt;br /&gt;
       postrotate &lt;br /&gt;
        [ ! -f /var/run/squeezelite.pid ] || kill -HUP `cat /var/run/squeezelite.pid`&lt;br /&gt;
       endscript&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since pulseaudio is started via /etc/init.d/ instead of upstart I changed /etc/init.d/pulseaudio and added to end of the pulseaudio_start () section:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
        if [ ${status} -eq 0 ]; then&lt;br /&gt;
                initctl emit started JOB=pulseaudio&lt;br /&gt;
        fi&lt;br /&gt;
        log_end_msg ${status}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And added an emit entry to the /etc/init.d/pulseaudio pulseaudio_stop () section:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
pulseaudio_stop () {&lt;br /&gt;
        log_daemon_msg &amp;quot;Stopping system PulseAudio Daemon&amp;quot;&lt;br /&gt;
        start-stop-daemon -p $PIDFILE --stop --retry 5 || echo -n &amp;quot;...which is not running&amp;quot;&lt;br /&gt;
        initctl emit stopping JOB=pulseaudio&lt;br /&gt;
        log_end_msg $?&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=34876</id>
		<title>Squeezelite</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=34876"/>
		<updated>2014-03-20T14:19:33Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An alternative for squeezeslave.&lt;br /&gt;
&lt;br /&gt;
Downloadable executables and source at:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/squeezelite/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Squeezelite upstart (/etc/init/squeezelite.conf). This is run after pulseaudio is started up and uses the pulseaudio sink &#039;kitchen&#039;.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# squeezelite service&lt;br /&gt;
&lt;br /&gt;
description     &amp;quot;squeezelite&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on started pulseaudio&lt;br /&gt;
stop on starting shutdown or stopping pulseaudio&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
&lt;br /&gt;
env EXEC=&amp;quot;/root/squeezelite-i386&amp;quot;&lt;br /&gt;
env ARGS=&amp;quot;-a 180 -o pulse&amp;quot;&lt;br /&gt;
env LOGGING=&amp;quot;-d all=info&amp;quot;&lt;br /&gt;
env MAC=&amp;quot;00:00:00:00:00:04&amp;quot;&lt;br /&gt;
env LOGFILE=&amp;quot;/var/log/squeezelite.log&amp;quot;&lt;br /&gt;
env PIDFILE=&amp;quot;/var/run/squeezelite.pid&amp;quot;&lt;br /&gt;
env NAME=&amp;quot;kitchen&amp;quot;&lt;br /&gt;
env PULSE_SINK=&amp;quot;kitchen&amp;quot;&lt;br /&gt;
env PULSE_PROP_OVERRIDE=&amp;quot;application.name=&#039;squeezelite kitchen&#039;&amp;quot;&lt;br /&gt;
env SERVER=&amp;quot;192.168.80.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exec start-stop-daemon  -m --pidfile $PIDFILE --exec $EXEC --start -- -s $SERVER $ARGS $LOGGING -m $MAC -f $LOGFILE -n $NAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take care of the logfile&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/var/log/squeezelite.log {&lt;br /&gt;
       daily&lt;br /&gt;
       rotate 7&lt;br /&gt;
       delaycompress&lt;br /&gt;
       compress&lt;br /&gt;
       missingok&lt;br /&gt;
       postrotate &lt;br /&gt;
        [ ! -f /var/run/squeezelite.pid ] || kill -HUP `cat /var/run/squeezelite.pid`&lt;br /&gt;
       endscript&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since pulseaudio is started via /etc/init.d/ instead of upstart I changed /etc/init.d/pulseaudio and added to end of the pulseaudio_start () section:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
        if [ ${status} -eq 0 ]; then&lt;br /&gt;
                initctl emit started JOB=pulseaudio&lt;br /&gt;
        fi&lt;br /&gt;
        log_end_msg ${status}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=34875</id>
		<title>Squeezelite</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=34875"/>
		<updated>2014-03-20T14:18:38Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: Added upstart and log scripts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An alternative for squeezeslave.&lt;br /&gt;
&lt;br /&gt;
Downloadable executables and source at:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/squeezelite/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Squeezelite upstart (/etc/init/squeezelite.conf). This is run after pulseaudio is started up and uses the pulseaudio sink &#039;kitchen&#039;.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# squeezelite service&lt;br /&gt;
&lt;br /&gt;
description     &amp;quot;squeezelite&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on start pulseaudio&lt;br /&gt;
stop on starting shutdown&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
&lt;br /&gt;
env EXEC=&amp;quot;/root/squeezelite-i386&amp;quot;&lt;br /&gt;
env ARGS=&amp;quot;-a 180 -o pulse&amp;quot;&lt;br /&gt;
env LOGGING=&amp;quot;-d all=info&amp;quot;&lt;br /&gt;
env MAC=&amp;quot;00:00:00:00:00:04&amp;quot;&lt;br /&gt;
env LOGFILE=&amp;quot;/var/log/squeezelite.log&amp;quot;&lt;br /&gt;
env PIDFILE=&amp;quot;/var/run/squeezelite.pid&amp;quot;&lt;br /&gt;
env NAME=&amp;quot;kitchen&amp;quot;&lt;br /&gt;
env PULSE_SINK=&amp;quot;kitchen&amp;quot;&lt;br /&gt;
env PULSE_PROP_OVERRIDE=&amp;quot;application.name=&#039;squeezelite kitchen&#039;&amp;quot;&lt;br /&gt;
env SERVER=&amp;quot;192.168.80.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exec start-stop-daemon  -m --pidfile $PIDFILE --exec $EXEC --start -- -s $SERVER $ARGS $LOGGING -m $MAC -f $LOGFILE -n $NAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take care of the logfile&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/var/log/squeezelite.log {&lt;br /&gt;
       daily&lt;br /&gt;
       rotate 7&lt;br /&gt;
       delaycompress&lt;br /&gt;
       compress&lt;br /&gt;
       missingok&lt;br /&gt;
       postrotate &lt;br /&gt;
        [ ! -f /var/run/squeezelite.pid ] || kill -HUP `cat /var/run/squeezelite.pid`&lt;br /&gt;
       endscript&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since pulseaudio is started via /etc/init.d/ instead of upstart I changed /etc/init.d/pulseaudio and added to end of the pulseaudio_start () section:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
        if [ ${status} -eq 0 ]; then&lt;br /&gt;
                initctl emit started JOB=pulseaudio&lt;br /&gt;
        fi&lt;br /&gt;
        log_end_msg ${status}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34157</id>
		<title>RF03 Air mouse</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34157"/>
		<updated>2013-05-31T19:17:06Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mele F10 Fly mouse / RF03 Air Mouse &amp;amp; Wireless Keyboard&lt;br /&gt;
&lt;br /&gt;
http://www.amazon.com/Mele-wireless-Keyboard-Control-Universal/dp/B0092KDSQW/&lt;br /&gt;
&lt;br /&gt;
Button layout on mouse side:&lt;br /&gt;
&lt;br /&gt;
     X                                X&lt;br /&gt;
 &lt;br /&gt;
    KEY_ENTER                   BTN_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                  KEY_UP&lt;br /&gt;
 &lt;br /&gt;
 KEY_LEFT        BTN_LEFT             KEY_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                 KEY_DOWN&lt;br /&gt;
 &lt;br /&gt;
 KEY_HOME BTN_MIDDLE KEY_VOLUMEDOWN KEY_VOLUMEUP&lt;br /&gt;
 &lt;br /&gt;
 KEY_TV        X            X          KEY_MUTE&lt;br /&gt;
 &lt;br /&gt;
 KEY_F1     KEY_F2       KEY_F3          KEY_F4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USB ID: 1915af11&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34156</id>
		<title>RF03 Air mouse</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34156"/>
		<updated>2013-05-31T07:59:41Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mele F10 Fly mouse / RF03 Air Mouse &amp;amp; Wireless Keyboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Button layout on mouse side:&lt;br /&gt;
&lt;br /&gt;
     X                                X&lt;br /&gt;
 &lt;br /&gt;
    KEY_ENTER                   BTN_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                  KEY_UP&lt;br /&gt;
 &lt;br /&gt;
 KEY_LEFT        BTN_LEFT             KEY_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                 KEY_DOWN&lt;br /&gt;
 &lt;br /&gt;
 KEY_HOME BTN_MIDDLE KEY_VOLUMEDOWN KEY_VOLUMEUP&lt;br /&gt;
 &lt;br /&gt;
 KEY_TV        X            X          KEY_MUTE&lt;br /&gt;
 &lt;br /&gt;
 KEY_F1     KEY_F2       KEY_F3          KEY_F4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USB ID: 1915af11&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34155</id>
		<title>RF03 Air mouse</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=RF03_Air_mouse&amp;diff=34155"/>
		<updated>2013-05-31T07:56:06Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: Created page with &amp;quot;Mele F10 Fly mouse / RF03 Air Mouse &amp;amp; Wireless Keyboard   Button layout on mouse side:       X                                X       KEY_ENTER                   BTN_RIGHT       ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mele F10 Fly mouse / RF03 Air Mouse &amp;amp; Wireless Keyboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Button layout on mouse side:&lt;br /&gt;
&lt;br /&gt;
     X                                X&lt;br /&gt;
 &lt;br /&gt;
    KEY_ENTER                   BTN_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                  KEY_UP&lt;br /&gt;
 &lt;br /&gt;
 KEY_LEFT        BTN_LEFT             KEY_RIGHT&lt;br /&gt;
 &lt;br /&gt;
                 KEY_DOWN&lt;br /&gt;
 &lt;br /&gt;
 KEY_HOME BTN_MIDDLE KEY_VOLUMEDOWN KEY_VOLUMEUP&lt;br /&gt;
 &lt;br /&gt;
 KEY_TV        X            X          KEY_MUTE&lt;br /&gt;
 &lt;br /&gt;
 KEY_F1     KEY_F2       KEY_F3          KEY_F4&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=33711</id>
		<title>Squeezelite</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Squeezelite&amp;diff=33711"/>
		<updated>2013-01-20T16:53:41Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: squeezeslave alternative&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An alternative for squeezeslave.&lt;br /&gt;
&lt;br /&gt;
Downloadable executables and source at:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/squeezelite/&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Custom_orbiter_sizes&amp;diff=33710</id>
		<title>Custom orbiter sizes</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Custom_orbiter_sizes&amp;diff=33710"/>
		<updated>2013-01-19T20:14:39Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [[Custom_Display_Resolutions#Orbiter_size]] for more info.&lt;br /&gt;
&lt;br /&gt;
To add a custom size via the commandline:&lt;br /&gt;
 * sudo mysql pluto_main&lt;br /&gt;
 * copy paste one of the insert lines below&lt;br /&gt;
&lt;br /&gt;
* Asus Transformer infinity&lt;br /&gt;
 INSERT INTO Size SET Description=&#039;1920x1128 (asus transformer infinity)&#039;, Width=1920, Height=1128, ScaleX=902, ScaleY=707, ScaleMenuBg=&#039;S&#039;, ScaleOtherGraphics=&#039;F&#039;;&lt;br /&gt;
&lt;br /&gt;
* Asus Transformer prime&lt;br /&gt;
 INSERT INTO Size SET Description=&#039;1280x752 (Asus transformer prime)&#039;, Width=1280, Height=752, ScaleX=602, ScaleY=471, ScaleMenuBg=&#039;S&#039;, ScaleOtherGraphics=&#039;F&#039;;&lt;br /&gt;
&lt;br /&gt;
* generic 1920x1200&lt;br /&gt;
 INSERT INTO Size SET Description=&#039;1920x1200&#039;, Width=1920, Height=1200, ScaleX=902, ScaleY=752, ScaleMenuBg=&#039;S&#039;, ScaleOtherGraphics=&#039;F&#039;;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Custom_orbiter_sizes&amp;diff=33709</id>
		<title>Custom orbiter sizes</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Custom_orbiter_sizes&amp;diff=33709"/>
		<updated>2013-01-19T20:11:51Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: sql insert lines for custom orbiter sizes for different devices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [[Custom_Display_Resolutions#Orbiter_size]] for more info.&lt;br /&gt;
&lt;br /&gt;
To add a custom size via the commandline:&lt;br /&gt;
 * sudo mysql pluto_main&lt;br /&gt;
 * copy paste one of the insert lines below&lt;br /&gt;
&lt;br /&gt;
* Asus Transformer infinity&lt;br /&gt;
 INSERT INTO Size SET Description=&#039;1920x1128 (asus transformer infinity)&#039;, Width=1920, Height=1128, ScaleX=902, ScaleY=707, ScaleMenuBg=&#039;S&#039;,&lt;br /&gt;
&lt;br /&gt;
* Asus Transformer prime&lt;br /&gt;
 INSERT INTO Size SET Description=&#039;1280x752 (Asus transformer prime)&#039;, Width=1280, Height=752, ScaleX=602, ScaleY=471, ScaleMenuBg=&#039;S&#039;, ScaleOtherGraphics=&#039;F&#039;;&lt;br /&gt;
&lt;br /&gt;
* generic 1920x1200&lt;br /&gt;
 INSERT INTO Size SET Description=&#039;1920x1200&#039;, Width=1920, Height=1200, ScaleX=902, ScaleY=752, ScaleMenuBg=&#039;S&#039;, ScaleOtherGraphics=&#039;F&#039;;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Squeezeslave_on_the_core&amp;diff=33705</id>
		<title>Squeezeslave on the core</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Squeezeslave_on_the_core&amp;diff=33705"/>
		<updated>2013-01-16T15:44:56Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Select Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Tutorials]]&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==Whats does it do?==&lt;br /&gt;
Squeezeslave basically makes it possible to add additional &#039;virtual&#039; Squeezeboxes to your Core or MD&#039;s just by adding additional sound-cards. Each Squeezeslave/Sound-card combo uses about 4-5% CPU on an ATOM/Ion based MD. We have tested an ATOM/Ion based MD running 3 x Squeezeslave/Sound-Card combo&#039;s while playing a ripped DVD from the Core without any problems at all. Using Squeezeslave/Sound-Card combo&#039;s makes it possible to have several independent audio outputs from your Core or from an MD allowing you to use the 2nd Zone of your Surround Amp for example to provide audio to an adjoining room eg a bathroom or maybe a kitchen. All of this expands the options you have when designing your system, gives you enormous additional flexibility to locate additional audio sources where you need them, and reduces the energy footprint of your system at the same time (in comparison to adding additional physical Squeezeboxes).&lt;br /&gt;
&lt;br /&gt;
==Squeezeslave Setup==&lt;br /&gt;
Here&#039;s how to setup squeezeslave to run on your core or in fact any of your MD&#039;s.  It&#039;s fairly straight forward but currently requires manual config/install of each Squeezeslave - I&#039;m working on making this something you can just configure from Web Admin simply and quickly.  One small issue is that because squeezeslave uses the OSS interface, you will need a separate sound card for each instance of squeezeslave you want to run.&lt;br /&gt;
&lt;br /&gt;
==Hardware Supported==&lt;br /&gt;
The Startech Virtual 7.1 USB Audio Adapter (model No. ICUSBAUD107) works fine. This tiny USB Stick style adapter works perfectly under 7.10, 9.10 &amp;amp; 10.04. No installation...just plug it in and its ready a few secs later. Only stereo out jack and Mic input jack.&lt;br /&gt;
&lt;br /&gt;
Many other brands of USB Audio adapter will probably work too. Please add your experiences with other working hardware here too.&lt;br /&gt;
&lt;br /&gt;
Under LinuxMCE 0810 it may be necessary to downgrade Alsa in order for the device to appear (in &#039;aplay -l&#039; or &#039;squeezeslave -L&#039;). Be aware that downgrading alsa will remove audio over hdmi capabilities on the affected computer.&lt;br /&gt;
&lt;br /&gt;
===Setting Up Squeezeslave on your Core or MD&#039;s===&lt;br /&gt;
If you want to setup Squeezeslave on your Core then either open Konsole session from the KDE Desktop or ssh in from another machine and sudo yourself. If you want to set up Squeezeslave on an MD then ssh into your Core and then use;&lt;br /&gt;
&lt;br /&gt;
 ssh moonNNN (**where NNN is the ID number of the MD you want to ssh into.)&lt;br /&gt;
&lt;br /&gt;
You can find the ID of your MD from the Web Admin page at Wizard-&amp;gt;Devices-&amp;gt;Media Directors and the ID is the number with a &#039;#&#039; in front of it at the top of each MD section. Now follow the instructions below for each MD you want to add Squeezeslave too.&lt;br /&gt;
&lt;br /&gt;
===Needed Dependencies===&lt;br /&gt;
System libraries needed are subversion and libasound2-dev&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  sudo apt-get install libasound2-dev&lt;br /&gt;
Since squeezeslave is only updating the display versions of their makefiles also needed for building&lt;br /&gt;
  sudo apt-get install libncurses5-dev&lt;br /&gt;
  sudo apt-get install liblircclient-dev&lt;br /&gt;
&lt;br /&gt;
===Squeezeslave is available in the debs===&lt;br /&gt;
Easiest for anybody will be&lt;br /&gt;
  sudo apt-get install squeezeslave&lt;br /&gt;
This will install squeezeslave in the right directory for you to use. If you want to build it yourself follow the next steps.&lt;br /&gt;
&lt;br /&gt;
===Typical build===&lt;br /&gt;
  svn checkout http://squeezeslave.googlecode.com/svn/squeezeslave/trunk/squeezeslave&lt;br /&gt;
  cd squeezeslave&lt;br /&gt;
  make -f makefile.linux26-alsa-display realclean&lt;br /&gt;
  make -f makefile.linux26-alsa-display&lt;br /&gt;
&lt;br /&gt;
===Or Download Source / look at the squeezeslave wiki===&lt;br /&gt;
Download a version of [http://sourceforge.net/project/showfiles.php?group_id=105169 Squeezeslave].  I&#039;m running the latest version which was 0.9-173 &lt;br /&gt;
&lt;br /&gt;
Look at the slimdevices wiki for the latest options and install instructions http://wiki.slimdevices.com/index.php/SqueezeSlave&lt;br /&gt;
&lt;br /&gt;
===Installing=== &lt;br /&gt;
*You&#039;ll want to put it somewhere in your path. (This is already done if you did the apt-get install method)&lt;br /&gt;
*There will be a file in the /bin directory called squeezeslave (there might be something added to this to represent the version you build, just rename the file to squeezeslave and copy to your wanted directory&lt;br /&gt;
*Example: /usr/bin&lt;br /&gt;
====Modify /etc/rc.local====&lt;br /&gt;
Next add the following to /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
If your setting up Squeezeslave on your Core then use;&lt;br /&gt;
  /usr/bin/squeezeslave -o4 -m00:00:00:00:00:01 -r5 -M/var/log/squeezeslave.log&lt;br /&gt;
&lt;br /&gt;
If your setting up Squeezeslave on one of your MD&#039;s then use;&lt;br /&gt;
  /usr/bin/squeezeslave -o4 192.168.80.1 -m00:00:00:00:00:01 -r5 -M/var/log/squeezeslave.log&lt;br /&gt;
&lt;br /&gt;
* the IP address should be the IP address of your Core (**Only needed if your running Squeezeslave on MD&#039;s**).&lt;br /&gt;
* the MAC address can be whatever you want, it just needs to be the same as the device created in linux mce&lt;br /&gt;
* the -o option specifies which output device ie /dev/dsp1 (check with &amp;quot;squeezeslave -L&amp;quot; for available devices then use &#039;-oN&#039; where &#039;N&#039; is the number next to your output device)&lt;br /&gt;
See example output using &#039;squeezeslave -L&#039; below;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Output devices:&lt;br /&gt;
  0: (ALSA) SB Live! Value [CT4832]: ADC Capture/Standard PCM Playback (hw:0,0) (11/46)&lt;br /&gt;
  2: (ALSA) SB Live! Value [CT4832]: Multichannel Capture/PT Playback (hw:0,2) (10/42)&lt;br /&gt;
  3: (ALSA) SB Live! Value [CT4832]: Multichannel Playback (hw:0,3) (10/42)&lt;br /&gt;
  4: (ALSA) USB Audio Device: USB Audio (hw:1,0) (10/42)&lt;br /&gt;
  5: (ALSA) front (11/46)&lt;br /&gt;
  6: (ALSA) rear (11/46)&lt;br /&gt;
  7: (ALSA) center_lfe (11/46)&lt;br /&gt;
  8: (ALSA) surround40 (11/46)&lt;br /&gt;
  9: (ALSA) surround41 (11/46)&lt;br /&gt;
 10: (ALSA) surround50 (11/46)&lt;br /&gt;
 11: (ALSA) surround51 (11/46)&lt;br /&gt;
 12: (ALSA) iec958 (10/42)&lt;br /&gt;
 13: (ALSA) spdif (10/42)&lt;br /&gt;
 14: (ALSA) spdif_playback (11/46)&lt;br /&gt;
 15: (ALSA) asym_spdif (11/46)&lt;br /&gt;
 17: (ALSA) asym_analog (42/46)&lt;br /&gt;
 18: (ALSA) usb_analog (42/46)&lt;br /&gt;
 19: (ALSA) dmix (42/42)&lt;br /&gt;
*20: (ALSA) default (42/46)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am using the No.18 device in the output above and therefore would use &#039;-o18&#039; switch when using the squeezeslave command.&lt;br /&gt;
&lt;br /&gt;
* the -r option tells squeezeslave to keep retrying to connect to the server, useful if the server is not running yet.&lt;br /&gt;
* the -M option makes it run as a Daemon and creates log&lt;br /&gt;
&lt;br /&gt;
====Fixing sample rate issues====&lt;br /&gt;
Squeezeslave only likes the 44.1 kHz sample rate. Anything lower will sounds like the Smurfs, anything higher will sound &amp;quot;slow&amp;quot;. This is fixed by converting the source stream to something squeezeslave can cope with.&lt;br /&gt;
&lt;br /&gt;
You need to edit the &amp;lt;i&amp;gt;/etc/squeezeboxserver/convert.conf&amp;lt;/i&amp;gt; file so it has these lines in it:&lt;br /&gt;
&lt;br /&gt;
  mp3 flc squeezeslave *&lt;br /&gt;
  	[sox] -q -t mp3 $FILE$ -t flac -C 0 -r 44100 -&lt;br /&gt;
  aac flc squeezeslave *&lt;br /&gt;
  	[faad] -q -w -f 1 $FILE$ | [flac] -cs --totally-silent --compression-level-0 --ignore-chunk-sizes - | [sox] -q -t flac - -t flac -C 0 -b 16 -r 44100 -&lt;br /&gt;
&lt;br /&gt;
The aac to flc conversion could be shorter, but sox has a problem with &#039;-t wav&#039; with the output of faad and outputs an empty stream, and flac won&#039;t actually resample the stream when the --sample-rate=44100 parameter is given to it.&lt;br /&gt;
&lt;br /&gt;
More conversions might be necessary as new stations are found to be problematic, but the strategy is the same: Convert to &#039;flac&#039;, resample to 44100 Hz.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll have to restart Squeezebox Server (Logitech Media Server) for the change to take effect.&lt;br /&gt;
&lt;br /&gt;
===Setting Up Alsamixer===&lt;br /&gt;
Next make sure all the volume levels in the mixer (alsamixer) are set correctly&lt;br /&gt;
  alsamixer&lt;br /&gt;
Make sure that the settings are as desired and save (Esc button)&lt;br /&gt;
===Setting Up LinuxMCE===&lt;br /&gt;
&lt;br /&gt;
Next step, manually add the squeezeslave to linuxmce as a squeezebox using the mac address you gave it. The squeezebox player can be assigned to a room/entertainment area without an MD, in fact this would be a typical installation.&lt;br /&gt;
&lt;br /&gt;
====Select Device====&lt;br /&gt;
* Select &#039;&#039;&#039;Wizard-&amp;gt;Devices-&amp;gt;A/V Equipment&#039;&#039;&#039; and press &#039;Add device&#039; on the bottom of the page. &lt;br /&gt;
* In the Device Template dropdown select &#039;SqueezeBox Player&#039; (template #58) and press &#039;Pick device template&#039;.&lt;br /&gt;
* Assign it to a room in the left dropdown box (-select room-, make sure you select a room that does not yet have a MD in it!), put the MAC of the squeezeslave in the MAC entry field and press update. &lt;br /&gt;
* Regen your orbiters and reload the router.&lt;br /&gt;
&lt;br /&gt;
Restart the core to make sure it&#039;s starting automatically, to run it manually just run the line made in the rc.local&lt;br /&gt;
&lt;br /&gt;
  /usr/bin/squeezeslave -o5 -m 00:00:00:00:00:01 -r5 -M/var/log/squeezeslave.log&lt;br /&gt;
&lt;br /&gt;
* Check with ps if it is running:&lt;br /&gt;
  ps aux | grep squeezeslave&lt;br /&gt;
**Example output:&lt;br /&gt;
 root     11502  0.0  0.8  51484  8812 ?        SLl  Apr07   0:33 /usr/bin/squeezeslave -05 -m00:00:00:00:00:02 -r5 -M/var/log/squeezeslave&lt;br /&gt;
&lt;br /&gt;
That should do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
use /usr/bin/squeezeslave -L for available audio devices&lt;br /&gt;
&lt;br /&gt;
use /usr/bin/squeezeslave -h for a list of options (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/bin/squeezeslave -h&lt;br /&gt;
squeezeslave 0.9-143&lt;br /&gt;
compile flags: linux portaudio:1485 debug signals daemon&lt;br /&gt;
&lt;br /&gt;
Squeezeslave is licensed free of charge. There is NO WARRANTY for&lt;br /&gt;
the program. This program is provided &amp;quot;as is&amp;quot; without warranty of&lt;br /&gt;
any kind, either expressed or implied, including, but not limited&lt;br /&gt;
to, the implied warranties of merchantability and fitness for a&lt;br /&gt;
particular purpose.  The entire risk as to the quality and&lt;br /&gt;
performance of the program is with you.  Should the program prove&lt;br /&gt;
defective, you assume the cost of all necessary servicing, repair&lt;br /&gt;
or correction.&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2004-2007 Richard Titmuss,&lt;br /&gt;
              2008-2010 Duane Paddock.&lt;br /&gt;
&lt;br /&gt;
squeezeslave [options] [&amp;lt;server address&amp;gt;]&lt;br /&gt;
The Squeezebox Server address defaults to 127.0.0.1.&lt;br /&gt;
Options:&lt;br /&gt;
-h, --help:                 Prints this message.&lt;br /&gt;
-a,                         Sets the amplitude of a high-frequency tone&lt;br /&gt;
--predelay_amplitude &amp;lt;val&amp;gt;: produced during the predelay (see --predelay).&lt;br /&gt;
                            The frequency is set at the source&#039;s sampling&lt;br /&gt;
                            rate/2 and the amplitude is in absolute value.&lt;br /&gt;
                            For 16-bit sources, the max is 32767, but values&lt;br /&gt;
                            below 10 are likely to work.  The goal is to&lt;br /&gt;
                            produce an inaudible signal that will cause DACs&lt;br /&gt;
                            to wake-up and lock before actual samples are&lt;br /&gt;
                            played out.  If the DAC locks using only silence,&lt;br /&gt;
                            do not use this option (it will default to 0).&lt;br /&gt;
-k, --keepalive &amp;lt;sec&amp;gt;:      Controls how frequently squeezeslave sends a&lt;br /&gt;
                            alive signal to SqueezeCenter.  6.5.x servers&lt;br /&gt;
                            need this to avoid dropping the player&#039;s&lt;br /&gt;
                            connection.  By default, the implementation&lt;br /&gt;
                            chooses the right value: 10s for a &amp;gt;=6.5.x server&lt;br /&gt;
                            and 0s for a &amp;lt;6.5.x server, which means no&lt;br /&gt;
                            keepalive.&lt;br /&gt;
-M, --daemonize &amp;lt;logfile&amp;gt;   Run squeezeslave as a daemon.&lt;br /&gt;
                            Messages written to specified file.&lt;br /&gt;
                            Not supported with lirc and display modes.&lt;br /&gt;
-L, --list                  List available audio devices and exit.&lt;br /&gt;
-m, --mac &amp;lt;mac_address&amp;gt;:    Sets the mac address for this instance.&lt;br /&gt;
                            Use the colon-separated notation.&lt;br /&gt;
                            The default is 00:00:00:00:00:01.&lt;br /&gt;
                            SqueezeCenter uses this value to distinguish&lt;br /&gt;
                            multiple instances, allowing per-player settings.&lt;br /&gt;
-o, --output &amp;lt;device_id&amp;gt;:   Sets the output device id.&lt;br /&gt;
                            The default id is 0.&lt;br /&gt;
                            The output device ids can be found with -L.&lt;br /&gt;
-P, --port &amp;lt;portnumber&amp;gt;:    Sets the SqueezeCenter port number.&lt;br /&gt;
                            The default port is 3483.&lt;br /&gt;
-p, --predelay &amp;lt;msec&amp;gt;:      Sets a delay before any playback is started.  This&lt;br /&gt;
                            is useful if the DAC used for output is slow to&lt;br /&gt;
                            wake-up/lock, causing the first few samples to be&lt;br /&gt;
                            dropped.&lt;br /&gt;
--retry                     Causes the program to retry connecting to&lt;br /&gt;
                            SqueezeCenter until it succeeds or is stopped using&lt;br /&gt;
                            SIGTERM or keyboard entry (see -s/--signal).&lt;br /&gt;
                            If the connection to SqueezeCenter is lost, the&lt;br /&gt;
                            program will poll it until it restarts.  --retry&lt;br /&gt;
                            enables retry with a 5 second delay between&lt;br /&gt;
                            attempts.&lt;br /&gt;
-r &amp;lt;sec&amp;gt;                    For a different retry interval use -r and the&lt;br /&gt;
                            desired interval in seconds. (ie. -r10)&lt;br /&gt;
                            A value is required for this option.&lt;br /&gt;
-s, --signal:               Ignored. Always uses SIGTERM to exit.&lt;br /&gt;
-V, --version:              Prints the squeezeslave version.&lt;br /&gt;
-v, --volume &amp;lt;sw|off&amp;gt;:      Enables/disables volume changes done by&lt;br /&gt;
                            SqueezeCenter during its operation, such as when&lt;br /&gt;
                            changing the volume through the web interface or&lt;br /&gt;
                            when applying replay gain.  Defaults to sw.&lt;br /&gt;
                                  sw:  volume changes performed in software.&lt;br /&gt;
                                  off: volume changes ignored.&lt;br /&gt;
-Y, --debuglog &amp;lt;logfile&amp;gt;:   Redirect debug output from stderr to &amp;lt;logfile&amp;gt;.&lt;br /&gt;
-d, --debug &amp;lt;trace_name&amp;gt;:   Turns on debug tracing for the specified level.&lt;br /&gt;
                            The option can be used multiple times to enable&lt;br /&gt;
                            multiple levels.&lt;br /&gt;
                            Available levels:&lt;br /&gt;
                                  all&lt;br /&gt;
                                  slimproto&lt;br /&gt;
                                  slimaudio&lt;br /&gt;
                                  slimaudio_buffer&lt;br /&gt;
                                  slimaudio_buffer_v&lt;br /&gt;
                                  slimaudio_decoder&lt;br /&gt;
                                  slimaudio_decoder_r&lt;br /&gt;
                                  slimaudio_decoder_v&lt;br /&gt;
                                  slimaudio_http&lt;br /&gt;
                                  slimaudio_http_v&lt;br /&gt;
                                  slimaudio_output&lt;br /&gt;
                                  slimaudio_output_v&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
If you use a USB audio card and squeezeslave gives you an error, try the following&lt;br /&gt;
&lt;br /&gt;
First of all make sure you are running the latest version.&lt;br /&gt;
&lt;br /&gt;
Edit your /etc/asound.conf and add the following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pcm.usb_analog {&lt;br /&gt;
        type asym&lt;br /&gt;
        playback.pcm &amp;quot;plug:dmix:1&amp;quot;&lt;br /&gt;
        capture.pcm &amp;quot;plughw:1&amp;quot;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this restart alsa&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/alsa-utils restart&lt;br /&gt;
&lt;br /&gt;
check your alsamixer to make sure pcm is unmuted and on a good level&lt;br /&gt;
&lt;br /&gt;
Try squeezeslave again&lt;br /&gt;
== Information from other places ==&lt;br /&gt;
The slimdevices forum has a nice [http://forums.slimdevices.com/showthread.php?86253-Poor-Man-s-Multiroom-Audio post] on how to setup multiple Squeezeslave zones with a single soundcard.&lt;br /&gt;
&lt;br /&gt;
In case the above link does not work anymore, there is a [http://deb.linuxmce.org/PoorMansMultiroomAudio.pdf PDF] output of said forum entry available.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Squeezeslave_on_the_core&amp;diff=33702</id>
		<title>Squeezeslave on the core</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Squeezeslave_on_the_core&amp;diff=33702"/>
		<updated>2013-01-16T10:20:05Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Select Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Tutorials]]&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==Whats does it do?==&lt;br /&gt;
Squeezeslave basically makes it possible to add additional &#039;virtual&#039; Squeezeboxes to your Core or MD&#039;s just by adding additional sound-cards. Each Squeezeslave/Sound-card combo uses about 4-5% CPU on an ATOM/Ion based MD. We have tested an ATOM/Ion based MD running 3 x Squeezeslave/Sound-Card combo&#039;s while playing a ripped DVD from the Core without any problems at all. Using Squeezeslave/Sound-Card combo&#039;s makes it possible to have several independent audio outputs from your Core or from an MD allowing you to use the 2nd Zone of your Surround Amp for example to provide audio to an adjoining room eg a bathroom or maybe a kitchen. All of this expands the options you have when designing your system, gives you enormous additional flexibility to locate additional audio sources where you need them, and reduces the energy footprint of your system at the same time (in comparison to adding additional physical Squeezeboxes).&lt;br /&gt;
&lt;br /&gt;
==Squeezeslave Setup==&lt;br /&gt;
Here&#039;s how to setup squeezeslave to run on your core or in fact any of your MD&#039;s.  It&#039;s fairly straight forward but currently requires manual config/install of each Squeezeslave - I&#039;m working on making this something you can just configure from Web Admin simply and quickly.  One small issue is that because squeezeslave uses the OSS interface, you will need a separate sound card for each instance of squeezeslave you want to run.&lt;br /&gt;
&lt;br /&gt;
==Hardware Supported==&lt;br /&gt;
The Startech Virtual 7.1 USB Audio Adapter (model No. ICUSBAUD107) works fine. This tiny USB Stick style adapter works perfectly under 7.10, 9.10 &amp;amp; 10.04. No installation...just plug it in and its ready a few secs later. Only stereo out jack and Mic input jack.&lt;br /&gt;
&lt;br /&gt;
Many other brands of USB Audio adapter will probably work too. Please add your experiences with other working hardware here too.&lt;br /&gt;
&lt;br /&gt;
Under LinuxMCE 0810 it may be necessary to downgrade Alsa in order for the device to appear (in &#039;aplay -l&#039; or &#039;squeezeslave -L&#039;). Be aware that downgrading alsa will remove audio over hdmi capabilities on the affected computer.&lt;br /&gt;
&lt;br /&gt;
===Setting Up Squeezeslave on your Core or MD&#039;s===&lt;br /&gt;
If you want to setup Squeezeslave on your Core then either open Konsole session from the KDE Desktop or ssh in from another machine and sudo yourself. If you want to set up Squeezeslave on an MD then ssh into your Core and then use;&lt;br /&gt;
&lt;br /&gt;
 ssh moonNNN (**where NNN is the ID number of the MD you want to ssh into.)&lt;br /&gt;
&lt;br /&gt;
You can find the ID of your MD from the Web Admin page at Wizard-&amp;gt;Devices-&amp;gt;Media Directors and the ID is the number with a &#039;#&#039; in front of it at the top of each MD section. Now follow the instructions below for each MD you want to add Squeezeslave too.&lt;br /&gt;
&lt;br /&gt;
===Needed Dependencies===&lt;br /&gt;
System libraries needed are subversion and libasound2-dev&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  sudo apt-get install libasound2-dev&lt;br /&gt;
Since squeezeslave is only updating the display versions of their makefiles also needed for building&lt;br /&gt;
  sudo apt-get install libncurses5-dev&lt;br /&gt;
  sudo apt-get install liblircclient-dev&lt;br /&gt;
&lt;br /&gt;
===Squeezeslave is available in the debs===&lt;br /&gt;
Easiest for anybody will be&lt;br /&gt;
  sudo apt-get install squeezeslave&lt;br /&gt;
This will install squeezeslave in the right directory for you to use. If you want to build it yourself follow the next steps.&lt;br /&gt;
&lt;br /&gt;
===Typical build===&lt;br /&gt;
  svn checkout http://squeezeslave.googlecode.com/svn/squeezeslave/trunk/squeezeslave&lt;br /&gt;
  cd squeezeslave&lt;br /&gt;
  make -f makefile.linux26-alsa-display realclean&lt;br /&gt;
  make -f makefile.linux26-alsa-display&lt;br /&gt;
&lt;br /&gt;
===Or Download Source / look at the squeezeslave wiki===&lt;br /&gt;
Download a version of [http://sourceforge.net/project/showfiles.php?group_id=105169 Squeezeslave].  I&#039;m running the latest version which was 0.9-173 &lt;br /&gt;
&lt;br /&gt;
Look at the slimdevices wiki for the latest options and install instructions http://wiki.slimdevices.com/index.php/SqueezeSlave&lt;br /&gt;
&lt;br /&gt;
===Installing=== &lt;br /&gt;
*You&#039;ll want to put it somewhere in your path. (This is already done if you did the apt-get install method)&lt;br /&gt;
*There will be a file in the /bin directory called squeezeslave (there might be something added to this to represent the version you build, just rename the file to squeezeslave and copy to your wanted directory&lt;br /&gt;
*Example: /usr/bin&lt;br /&gt;
====Modify /etc/rc.local====&lt;br /&gt;
Next add the following to /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
If your setting up Squeezeslave on your Core then use;&lt;br /&gt;
  /usr/bin/squeezeslave -o4 -m00:00:00:00:00:01 -r5 -M/var/log/squeezeslave.log&lt;br /&gt;
&lt;br /&gt;
If your setting up Squeezeslave on one of your MD&#039;s then use;&lt;br /&gt;
  /usr/bin/squeezeslave -o4 192.168.80.1 -m00:00:00:00:00:01 -r5 -M/var/log/squeezeslave.log&lt;br /&gt;
&lt;br /&gt;
* the IP address should be the IP address of your Core (**Only needed if your running Squeezeslave on MD&#039;s**).&lt;br /&gt;
* the MAC address can be whatever you want, it just needs to be the same as the device created in linux mce&lt;br /&gt;
* the -o option specifies which output device ie /dev/dsp1 (check with &amp;quot;squeezeslave -L&amp;quot; for available devices then use &#039;-oN&#039; where &#039;N&#039; is the number next to your output device)&lt;br /&gt;
See example output using &#039;squeezeslave -L&#039; below;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Output devices:&lt;br /&gt;
  0: (ALSA) SB Live! Value [CT4832]: ADC Capture/Standard PCM Playback (hw:0,0) (11/46)&lt;br /&gt;
  2: (ALSA) SB Live! Value [CT4832]: Multichannel Capture/PT Playback (hw:0,2) (10/42)&lt;br /&gt;
  3: (ALSA) SB Live! Value [CT4832]: Multichannel Playback (hw:0,3) (10/42)&lt;br /&gt;
  4: (ALSA) USB Audio Device: USB Audio (hw:1,0) (10/42)&lt;br /&gt;
  5: (ALSA) front (11/46)&lt;br /&gt;
  6: (ALSA) rear (11/46)&lt;br /&gt;
  7: (ALSA) center_lfe (11/46)&lt;br /&gt;
  8: (ALSA) surround40 (11/46)&lt;br /&gt;
  9: (ALSA) surround41 (11/46)&lt;br /&gt;
 10: (ALSA) surround50 (11/46)&lt;br /&gt;
 11: (ALSA) surround51 (11/46)&lt;br /&gt;
 12: (ALSA) iec958 (10/42)&lt;br /&gt;
 13: (ALSA) spdif (10/42)&lt;br /&gt;
 14: (ALSA) spdif_playback (11/46)&lt;br /&gt;
 15: (ALSA) asym_spdif (11/46)&lt;br /&gt;
 17: (ALSA) asym_analog (42/46)&lt;br /&gt;
 18: (ALSA) usb_analog (42/46)&lt;br /&gt;
 19: (ALSA) dmix (42/42)&lt;br /&gt;
*20: (ALSA) default (42/46)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am using the No.18 device in the output above and therefore would use &#039;-o18&#039; switch when using the squeezeslave command.&lt;br /&gt;
&lt;br /&gt;
* the -r option tells squeezeslave to keep retrying to connect to the server, useful if the server is not running yet.&lt;br /&gt;
* the -M option makes it run as a Daemon and creates log&lt;br /&gt;
&lt;br /&gt;
====Fixing sample rate issues====&lt;br /&gt;
Squeezeslave only likes the 44.1 kHz sample rate. Anything lower will sounds like the Smurfs, anything higher will sound &amp;quot;slow&amp;quot;. This is fixed by converting the source stream to something squeezeslave can cope with.&lt;br /&gt;
&lt;br /&gt;
You need to edit the &amp;lt;i&amp;gt;/etc/squeezeboxserver/convert.conf&amp;lt;/i&amp;gt; file so it has these lines in it:&lt;br /&gt;
&lt;br /&gt;
  mp3 flc squeezeslave *&lt;br /&gt;
  	[sox] -q -t mp3 $FILE$ -t flac -C 0 -r 44100 -&lt;br /&gt;
  aac flc squeezeslave *&lt;br /&gt;
  	[faad] -q -w -f 1 $FILE$ | [flac] -cs --totally-silent --compression-level-0 --ignore-chunk-sizes - | [sox] -q -t flac - -t flac -C 0 -b 16 -r 44100 -&lt;br /&gt;
&lt;br /&gt;
The aac to flc conversion could be shorter, but sox has a problem with &#039;-t wav&#039; with the output of faad and outputs an empty stream, and flac won&#039;t actually resample the stream when the --sample-rate=44100 parameter is given to it.&lt;br /&gt;
&lt;br /&gt;
More conversions might be necessary as new stations are found to be problematic, but the strategy is the same: Convert to &#039;flac&#039;, resample to 44100 Hz.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll have to restart Squeezebox Server (Logitech Media Server) for the change to take effect.&lt;br /&gt;
&lt;br /&gt;
===Setting Up Alsamixer===&lt;br /&gt;
Next make sure all the volume levels in the mixer (alsamixer) are set correctly&lt;br /&gt;
  alsamixer&lt;br /&gt;
Make sure that the settings are as desired and save (Esc button)&lt;br /&gt;
===Setting Up LinuxMCE===&lt;br /&gt;
&lt;br /&gt;
Next step, manually add the squeezeslave to linuxmce as a squeezebox using the mac address you gave it. The squeezebox player can be assigned to a room/entertainment area without an MD, in fact this would be a typical installation.&lt;br /&gt;
&lt;br /&gt;
====Select Device====&lt;br /&gt;
* Select &#039;&#039;&#039;Wizard-&amp;gt;Devices-&amp;gt;A/V Equipment&#039;&#039;&#039;&lt;br /&gt;
* Select SqueezeBox Player from the dropdown options&lt;br /&gt;
* Assign it to a room and entertainment area.  &lt;br /&gt;
* Regen your orbiters and reload the router.&lt;br /&gt;
&lt;br /&gt;
Restart the core to make sure it&#039;s starting automatically, to run it manually just run the line made in the rc.local&lt;br /&gt;
&lt;br /&gt;
  /usr/bin/squeezeslave -o5 -m 00:00:00:00:00:01 -r5 -M/var/log/squeezeslave.log&lt;br /&gt;
&lt;br /&gt;
* Check with ps if it is running:&lt;br /&gt;
  ps aux | grep squeezeslave&lt;br /&gt;
**Example output:&lt;br /&gt;
 root     11502  0.0  0.8  51484  8812 ?        SLl  Apr07   0:33 /usr/bin/squeezeslave -05 -m00:00:00:00:00:02 -r5 -M/var/log/squeezeslave&lt;br /&gt;
&lt;br /&gt;
That should do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
use /usr/bin/squeezeslave -L for available audio devices&lt;br /&gt;
&lt;br /&gt;
use /usr/bin/squeezeslave -h for a list of options (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/bin/squeezeslave -h&lt;br /&gt;
squeezeslave 0.9-143&lt;br /&gt;
compile flags: linux portaudio:1485 debug signals daemon&lt;br /&gt;
&lt;br /&gt;
Squeezeslave is licensed free of charge. There is NO WARRANTY for&lt;br /&gt;
the program. This program is provided &amp;quot;as is&amp;quot; without warranty of&lt;br /&gt;
any kind, either expressed or implied, including, but not limited&lt;br /&gt;
to, the implied warranties of merchantability and fitness for a&lt;br /&gt;
particular purpose.  The entire risk as to the quality and&lt;br /&gt;
performance of the program is with you.  Should the program prove&lt;br /&gt;
defective, you assume the cost of all necessary servicing, repair&lt;br /&gt;
or correction.&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2004-2007 Richard Titmuss,&lt;br /&gt;
              2008-2010 Duane Paddock.&lt;br /&gt;
&lt;br /&gt;
squeezeslave [options] [&amp;lt;server address&amp;gt;]&lt;br /&gt;
The Squeezebox Server address defaults to 127.0.0.1.&lt;br /&gt;
Options:&lt;br /&gt;
-h, --help:                 Prints this message.&lt;br /&gt;
-a,                         Sets the amplitude of a high-frequency tone&lt;br /&gt;
--predelay_amplitude &amp;lt;val&amp;gt;: produced during the predelay (see --predelay).&lt;br /&gt;
                            The frequency is set at the source&#039;s sampling&lt;br /&gt;
                            rate/2 and the amplitude is in absolute value.&lt;br /&gt;
                            For 16-bit sources, the max is 32767, but values&lt;br /&gt;
                            below 10 are likely to work.  The goal is to&lt;br /&gt;
                            produce an inaudible signal that will cause DACs&lt;br /&gt;
                            to wake-up and lock before actual samples are&lt;br /&gt;
                            played out.  If the DAC locks using only silence,&lt;br /&gt;
                            do not use this option (it will default to 0).&lt;br /&gt;
-k, --keepalive &amp;lt;sec&amp;gt;:      Controls how frequently squeezeslave sends a&lt;br /&gt;
                            alive signal to SqueezeCenter.  6.5.x servers&lt;br /&gt;
                            need this to avoid dropping the player&#039;s&lt;br /&gt;
                            connection.  By default, the implementation&lt;br /&gt;
                            chooses the right value: 10s for a &amp;gt;=6.5.x server&lt;br /&gt;
                            and 0s for a &amp;lt;6.5.x server, which means no&lt;br /&gt;
                            keepalive.&lt;br /&gt;
-M, --daemonize &amp;lt;logfile&amp;gt;   Run squeezeslave as a daemon.&lt;br /&gt;
                            Messages written to specified file.&lt;br /&gt;
                            Not supported with lirc and display modes.&lt;br /&gt;
-L, --list                  List available audio devices and exit.&lt;br /&gt;
-m, --mac &amp;lt;mac_address&amp;gt;:    Sets the mac address for this instance.&lt;br /&gt;
                            Use the colon-separated notation.&lt;br /&gt;
                            The default is 00:00:00:00:00:01.&lt;br /&gt;
                            SqueezeCenter uses this value to distinguish&lt;br /&gt;
                            multiple instances, allowing per-player settings.&lt;br /&gt;
-o, --output &amp;lt;device_id&amp;gt;:   Sets the output device id.&lt;br /&gt;
                            The default id is 0.&lt;br /&gt;
                            The output device ids can be found with -L.&lt;br /&gt;
-P, --port &amp;lt;portnumber&amp;gt;:    Sets the SqueezeCenter port number.&lt;br /&gt;
                            The default port is 3483.&lt;br /&gt;
-p, --predelay &amp;lt;msec&amp;gt;:      Sets a delay before any playback is started.  This&lt;br /&gt;
                            is useful if the DAC used for output is slow to&lt;br /&gt;
                            wake-up/lock, causing the first few samples to be&lt;br /&gt;
                            dropped.&lt;br /&gt;
--retry                     Causes the program to retry connecting to&lt;br /&gt;
                            SqueezeCenter until it succeeds or is stopped using&lt;br /&gt;
                            SIGTERM or keyboard entry (see -s/--signal).&lt;br /&gt;
                            If the connection to SqueezeCenter is lost, the&lt;br /&gt;
                            program will poll it until it restarts.  --retry&lt;br /&gt;
                            enables retry with a 5 second delay between&lt;br /&gt;
                            attempts.&lt;br /&gt;
-r &amp;lt;sec&amp;gt;                    For a different retry interval use -r and the&lt;br /&gt;
                            desired interval in seconds. (ie. -r10)&lt;br /&gt;
                            A value is required for this option.&lt;br /&gt;
-s, --signal:               Ignored. Always uses SIGTERM to exit.&lt;br /&gt;
-V, --version:              Prints the squeezeslave version.&lt;br /&gt;
-v, --volume &amp;lt;sw|off&amp;gt;:      Enables/disables volume changes done by&lt;br /&gt;
                            SqueezeCenter during its operation, such as when&lt;br /&gt;
                            changing the volume through the web interface or&lt;br /&gt;
                            when applying replay gain.  Defaults to sw.&lt;br /&gt;
                                  sw:  volume changes performed in software.&lt;br /&gt;
                                  off: volume changes ignored.&lt;br /&gt;
-Y, --debuglog &amp;lt;logfile&amp;gt;:   Redirect debug output from stderr to &amp;lt;logfile&amp;gt;.&lt;br /&gt;
-d, --debug &amp;lt;trace_name&amp;gt;:   Turns on debug tracing for the specified level.&lt;br /&gt;
                            The option can be used multiple times to enable&lt;br /&gt;
                            multiple levels.&lt;br /&gt;
                            Available levels:&lt;br /&gt;
                                  all&lt;br /&gt;
                                  slimproto&lt;br /&gt;
                                  slimaudio&lt;br /&gt;
                                  slimaudio_buffer&lt;br /&gt;
                                  slimaudio_buffer_v&lt;br /&gt;
                                  slimaudio_decoder&lt;br /&gt;
                                  slimaudio_decoder_r&lt;br /&gt;
                                  slimaudio_decoder_v&lt;br /&gt;
                                  slimaudio_http&lt;br /&gt;
                                  slimaudio_http_v&lt;br /&gt;
                                  slimaudio_output&lt;br /&gt;
                                  slimaudio_output_v&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
If you use a USB audio card and squeezeslave gives you an error, try the following&lt;br /&gt;
&lt;br /&gt;
First of all make sure you are running the latest version.&lt;br /&gt;
&lt;br /&gt;
Edit your /etc/asound.conf and add the following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pcm.usb_analog {&lt;br /&gt;
        type asym&lt;br /&gt;
        playback.pcm &amp;quot;plug:dmix:1&amp;quot;&lt;br /&gt;
        capture.pcm &amp;quot;plughw:1&amp;quot;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this restart alsa&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/alsa-utils restart&lt;br /&gt;
&lt;br /&gt;
check your alsamixer to make sure pcm is unmuted and on a good level&lt;br /&gt;
&lt;br /&gt;
Try squeezeslave again&lt;br /&gt;
== Information from other places ==&lt;br /&gt;
The slimdevices forum has a nice [http://forums.slimdevices.com/showthread.php?86253-Poor-Man-s-Multiroom-Audio post] on how to setup multiple Squeezeslave zones with a single soundcard.&lt;br /&gt;
&lt;br /&gt;
In case the above link does not work anymore, there is a [http://deb.linuxmce.org/PoorMansMultiroomAudio.pdf PDF] output of said forum entry available.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Firewall_Rules&amp;diff=31751</id>
		<title>Firewall Rules</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Firewall_Rules&amp;diff=31751"/>
		<updated>2012-07-31T14:11:50Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Limit IP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{versioninfo|810Status=relevant|810UpdatedDate=21 Aug 2011|810UpdatedBy=[[User:Foxi352|Foxi352]]|1004Status=relevant|1004UpdatedDate=21 Aug 2011|1004UpdatedBy=[[User:Foxi352|Foxi352]]}}&lt;br /&gt;
[[Category:Admin Website]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Firewall.jpg|thumb|200px|Firewall Rules Admin Page]]&lt;br /&gt;
&lt;br /&gt;
This page allows you to customize your firewall rules, even disabling the firewall. When first opened you will notice that there are several predefined rules already in place.  &lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
[[Image:FirewallOptions.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Protocol===&lt;br /&gt;
Here is where you can choose the protocol involved with this rule, or define any protocol by choosing &#039;IP&#039;:&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Transmission_Control_Protocol TCP]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/User_Datagram_Protocol UDP]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers IP]&lt;br /&gt;
&lt;br /&gt;
===IP version===&lt;br /&gt;
Here you can choose if you want the rule to be active for IPv4, IPv6 or both.&lt;br /&gt;
&lt;br /&gt;
===Source Ports===&lt;br /&gt;
Choose the Ports to be used in the rule. If you chose &#039;IP&#039; in the Protocol section then you can define your IP protocol (NOT PORT !!!) number here.&lt;br /&gt;
&lt;br /&gt;
===Destination Port===&lt;br /&gt;
Port to forward requests to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This option is only available if Port Forwarding is selected in the Rule Type&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Destination IP===&lt;br /&gt;
IP Address of the computer being forwarded to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This option is only available if Port Forwarding is selected in the Rule Type&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Rule Type===&lt;br /&gt;
There are two types of rules available:&lt;br /&gt;
* Core Input&lt;br /&gt;
* Port Forward&lt;br /&gt;
&lt;br /&gt;
===Limit IP===&lt;br /&gt;
You can limit rules to specific IP addresses.&lt;br /&gt;
&lt;br /&gt;
It looks like you can add the mask to specify ranges: 134.78.0.0/16&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Internet_Radio&amp;diff=29513</id>
		<title>Internet Radio</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Internet_Radio&amp;diff=29513"/>
		<updated>2012-02-19T09:58:09Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{versioninfo|710Status=Working|710UpdatedDate=13th Oct 2010|710UpdatedBy=[[User:cht_winston|cht_winston]]|810Status=Working|810UpdatedDate=23rd June 2010|810UpdatedBy=Metoer|1004Status=Working|1004UpdatedDate=14th Oct 2011|1004UpdatedBy=sambuca}}&lt;br /&gt;
[[Category: Tutorials]][[Category:Internet Streaming]] &lt;br /&gt;
= 1004 = &lt;br /&gt;
== Overview ==&lt;br /&gt;
The Radio scenario is added automatically and lists audio streams by genre. &lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
To add streams to the database, go to the Web Admin -&amp;gt; Files &amp;amp; Media -&amp;gt; Media Browser. In the left section, you will find a &amp;quot;Add new&amp;quot; link. Clicking on this will open the normal file view screen in the right pane, and allow you to add a new file. (This can be any file, it does not have to be a stream).&lt;br /&gt;
&lt;br /&gt;
If you are adding an audio stream, be sure to set the type to &amp;quot;LinuxMCE streamed Audio&amp;quot;.&lt;br /&gt;
Enter the URL into the file input box and press &#039;add&#039; to save it. Then the saved item appears. Add at least one genre and one channel name attribute. Those attributes are expected by LinuxMCE and should always be added. The path field is not used.&lt;br /&gt;
&lt;br /&gt;
When going to a orbiter, you should now see all genres containing any streamed audio items. Selecting a genre will list all channels in that genre. Selecting a channel will open the file detail screen and allows you to press play to play the stream.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The Xine player currently does not support playlists, so adding a URL to a playlist will not work. You have to find the URL to the stream itself.&lt;br /&gt;
&lt;br /&gt;
= Older releases (810/710) =&lt;br /&gt;
Older releases does not have any direct support for the Internet Radio station list. However, you can create the scenario shortcut to quick-start your favorite station. &lt;br /&gt;
&lt;br /&gt;
Here is a link to a page with a few stations that you can choose from, I tried a couple and they all seemed to work with this wiki.&lt;br /&gt;
http://slhungary.hu/print.php?plugin:content.40&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Go to [[LinuxMCE Admin Website]] --&amp;gt; Advanced --&amp;gt; Configuration --&amp;gt; Scenarios --&amp;gt; Media Scenarios&amp;quot; and press &amp;quot;Add My Scenario&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* Under &amp;quot;Add My Scenario&amp;quot; type a description, like &amp;quot;DI - Lounge&amp;quot;. Check in which room you want this scenario to appear. Press &amp;quot;Save&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Click on the description of the scenario that you&#039;ve just added.&lt;br /&gt;
&lt;br /&gt;
* In &amp;quot;Scenario commands&amp;quot; select &amp;quot;Media Plug-in&amp;quot; from the &amp;quot;Device:&amp;quot; drop-down and &amp;quot;MH Play Media&amp;quot; from the &amp;quot;Command:&amp;quot; drop-down. Press the &amp;quot;Add&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
# In the &amp;quot;#13 Filename (string)&amp;quot; field type the URL of your online radio station ( e.g.: http://scfire-chi0l-1.stream.aol.com/stream/1009 ). &lt;br /&gt;
# In the &amp;quot;#29 PK_MediaType (int)&amp;quot; type 4. &lt;br /&gt;
# In the &amp;quot;#45 PK_EntertainArea (string)&amp;quot; put the number of the Entertaining Area (it usually starts from 1, see the note below). Press the &amp;quot;Save&amp;quot; button and the &amp;quot;Test Command&amp;quot; to see if it works.&lt;br /&gt;
&lt;br /&gt;
* Do a [[quick reload router|Quick Reload]] &amp;amp; [[Orbiter Generator|Regen]] and you&#039;ll be able to see you radio on the media menu of your Orbiter. Click on the button and it should start playing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Where to Find Compatible Internet Radio Stations==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re in the U.S. like me, you&#039;ll probably have a hard time finding &amp;quot;direct URLs&amp;quot; that you can create scenarios with that are compatible with LMCE. Like many of you, I wanted to use ShoutCast stations, however, ShoutCast has changed their webpage in such a way that it will open up it&#039;s own propreitary plug-in that doesn&#039;t provide you with the actual station&#039;s direct URL. Useless, if you want to create a new station scenario in LMCE.&lt;br /&gt;
&lt;br /&gt;
I recommend doing the following:&lt;br /&gt;
&lt;br /&gt;
1. Download WinAmp onto a Windows Box&lt;br /&gt;
&lt;br /&gt;
2. Open up WinAmp and browse to your favorite Station (I use shoutcast stations)&lt;br /&gt;
&lt;br /&gt;
3. Right click on the Winamp window where it lists what you&#039;re currently listening to&lt;br /&gt;
&lt;br /&gt;
4. Click &amp;quot;View File Info&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. This will provide the direct URL link you&#039;ll need to include in the steps below when you&#039;re creating your stations.&lt;br /&gt;
&lt;br /&gt;
* I hope this helps... I had a hard time finding useful information on where to go to actually get &amp;quot;legitimate&amp;quot; direct URLs for Internet Radio Stations.&lt;br /&gt;
&lt;br /&gt;
==Notes and troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* The media type &amp;quot;4&amp;quot; corresponds to a workaround, MEDIATYPE_pluto_StoredAudio_CONST. When all stuff eventually works, it will be changed to the &amp;quot;6&amp;quot; (MEDIATYPE_pluto_LiveRadio_CONST)&lt;br /&gt;
&lt;br /&gt;
* If radio station playback doesn&#039;t start - try playing it a couple times more. There is an issue in xine-lib which sometimes causes it to fail the first time.&lt;br /&gt;
&lt;br /&gt;
* Be sure not to put the URL of the playlist in &amp;quot;#13 Filename&amp;quot; parameter - it should be the URL of the station itself. Playlist URLs usually end with &amp;quot;.m3u&amp;quot; and &amp;quot;.pls&amp;quot;. Download the playlist and get the URL of station from it (there can be many entries, each representing a mirror).&lt;br /&gt;
&lt;br /&gt;
* If you have issues identifying your Entertainment Area ID, you can query the DB directly:&lt;br /&gt;
:* At the terminal, start the mysql commandline:&lt;br /&gt;
 mysql -u root -p pluto_main &amp;lt;enter&amp;gt;&lt;br /&gt;
:then issue the following query&lt;br /&gt;
 mysql&amp;gt; SELECT PK_EntertainArea, Description FROM EntertainArea;&lt;br /&gt;
:*Select the ID of the desired area from the list:&lt;br /&gt;
 +------------------+------------------+&lt;br /&gt;
 | PK_EntertainArea | Description      |&lt;br /&gt;
 +------------------+------------------+&lt;br /&gt;
 |                1 | Bedroom (Master) |&lt;br /&gt;
 +------------------+------------------+&lt;br /&gt;
 1 row in set (0.00 sec)&lt;br /&gt;
:type &#039;quit&#039; to exit:&lt;br /&gt;
 mysql&amp;gt; quit &amp;lt;enter&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=27445</id>
		<title>HTTPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=27445"/>
		<updated>2011-04-01T18:03:03Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: listen not in the ports.conf  ?? so added remark&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Development]]&lt;br /&gt;
= HTTPS / SSL access on the outside =&lt;br /&gt;
&lt;br /&gt;
I am trying to setup https on the outside so Linuxmce can be used safely. Below is my setup.&lt;br /&gt;
&lt;br /&gt;
We start by creating a new password file (-c option) and adding a user (linux) with a password (test) to the password file:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -bc /etc/apache2/httpd.passwd linuxmce test&lt;br /&gt;
&lt;br /&gt;
(Use the same line without the -c to add additional users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/ssl&lt;br /&gt;
 openssl genrsa -des3 -out /root/ssl/server.key 4096&lt;br /&gt;
&lt;br /&gt;
(type a passwd twice)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key /root/ssl/server.key -out /root/ssl/server.csr &lt;br /&gt;
&lt;br /&gt;
(type your previous passwd once and then fill in the fields)&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;quot;Common Name (eg, YOUR name)&amp;quot; matches the registered fully qualified domain name of your box (or your IP address if you don&#039;t have one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -days 3650 -in /root/ssl/server.csr -signkey /root/ssl/server.key -out /root/ssl/server.crt &lt;br /&gt;
&lt;br /&gt;
 openssl rsa -in /root/ssl/server.key -out /root/ssl/server.key.insecure&lt;br /&gt;
 mv /root/ssl/server.key /root/ssl/server.key.secure&lt;br /&gt;
 mv /root/ssl/server.key.insecure /root/ssl/server.key &lt;br /&gt;
&lt;br /&gt;
You now have the following files in /root/ssl:&lt;br /&gt;
&lt;br /&gt;
server.crt: The self-signed server certificate.&lt;br /&gt;
server.csr: Server certificate signing request.&lt;br /&gt;
server.key: The private server key, does not require a password when starting Apache.&lt;br /&gt;
server.key.secure: The private server key, it does require a password when starting Apache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.key /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.crt /etc/apache2/ssl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add the following in /etc/apache2/httpd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/server.crt&lt;br /&gt;
SSLCertificateKeyFile /etc/apache2/ssl/server.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;/*&amp;quot;&amp;gt;&lt;br /&gt;
#   Inside the subarea any Intranet access is allowed&lt;br /&gt;
#   but from the Internet only HTTPS + Strong-Cipher + Password&lt;br /&gt;
#   or the alternative HTTPS + Strong-Cipher + Client-Certificate&lt;br /&gt;
&lt;br /&gt;
#   If HTTPS is used, make sure a strong cipher is used.&lt;br /&gt;
#   Additionally allow client certs as alternative to basic auth.&lt;br /&gt;
SSLVerifyClient      optional&lt;br /&gt;
SSLVerifyDepth       1&lt;br /&gt;
SSLOptions           +FakeBasicAuth +StrictRequire&lt;br /&gt;
SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &amp;gt;= 128&lt;br /&gt;
&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
#RewriteEngine        on&lt;br /&gt;
#RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
#RewriteCond          %{HTTPS} !=on&lt;br /&gt;
#RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&lt;br /&gt;
#   Allow Network Access and/or Basic Auth&lt;br /&gt;
Satisfy              any&lt;br /&gt;
&lt;br /&gt;
#   Network Access Control&lt;br /&gt;
Order                deny,allow&lt;br /&gt;
Deny                 from all&lt;br /&gt;
Allow                from 192.168.80.0/24 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
#   HTTP Basic Authentication&lt;br /&gt;
AuthType             basic&lt;br /&gt;
AuthName             &amp;quot;LinuxMCE&amp;quot;&lt;br /&gt;
AuthUserFile         /etc/apache2/httpd.passwd&lt;br /&gt;
Require              valid-user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Since mythweb has it&#039;s own rewrites in a .htaccess file https redirection is enabled only on other urls&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;^/(?!mythweb).*&amp;quot;&amp;gt;&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
RewriteEngine        on&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^127\.0\.0\.[0-9]+$&lt;br /&gt;
RewriteCond          %{HTTPS} !=on&lt;br /&gt;
RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the top of httpd.conf add the fully qualified domain name of your box that you added by &amp;quot;Common Name (eg, YOUR name)&amp;quot; when creating the certificate:&lt;br /&gt;
&lt;br /&gt;
 ServerName linuxmce.yourdomain.com&lt;br /&gt;
&lt;br /&gt;
we have to change the beginning of vi /etc/apache2/sites-available/pluto to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost _default_:80&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then copy this file:&lt;br /&gt;
 cp /etc/apache2/sites-available/pluto /etc/apache2/sites-available/pluto443&lt;br /&gt;
&lt;br /&gt;
then change the beginnig to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost _default_:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make a symbolic link:&lt;br /&gt;
 ln -s /etc/apache2/sites-available/pluto443 /etc/apache2/sites-enabled/pluto443&lt;br /&gt;
&lt;br /&gt;
move the original ssl configuration out of the way (to your home dir):&lt;br /&gt;
 mv /etc/apache2/sites-available/default-ssl ~/&lt;br /&gt;
 rm /etc/apache2/sites-enabled/default-ssl&lt;br /&gt;
&lt;br /&gt;
make sure that apache is listening on port 443 and the following line is in /etc/apache2/ports.conf:&lt;br /&gt;
 Listen 443&lt;br /&gt;
&lt;br /&gt;
go to pluto web admin and to Advanced&amp;gt;Network&amp;gt;Firewall and add a new rule:&lt;br /&gt;
 tcp ipv4 443 443 core_input&lt;br /&gt;
&lt;br /&gt;
then run:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl restart&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=27194</id>
		<title>HTTPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=27194"/>
		<updated>2011-03-12T17:38:57Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: changes because ssl is enabled by default&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Development]]&lt;br /&gt;
= HTTPS / SSL access on the outside =&lt;br /&gt;
&lt;br /&gt;
I am trying to setup https on the outside so Linuxmce can be used safely. Below is my setup.&lt;br /&gt;
&lt;br /&gt;
We start by creating a new password file (-c option) and adding a user (linux) with a password (test) to the password file:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -bc /etc/apache2/httpd.passwd linuxmce test&lt;br /&gt;
&lt;br /&gt;
(Use the same line without the -c to add additional users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/ssl&lt;br /&gt;
 openssl genrsa -des3 -out /root/ssl/server.key 4096&lt;br /&gt;
&lt;br /&gt;
(type a passwd twice)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key /root/ssl/server.key -out /root/ssl/server.csr &lt;br /&gt;
&lt;br /&gt;
(type your previous passwd once and then fill in the fields)&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;quot;Common Name (eg, YOUR name)&amp;quot; matches the registered fully qualified domain name of your box (or your IP address if you don&#039;t have one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -days 3650 -in /root/ssl/server.csr -signkey /root/ssl/server.key -out /root/ssl/server.crt &lt;br /&gt;
&lt;br /&gt;
 openssl rsa -in /root/ssl/server.key -out /root/ssl/server.key.insecure&lt;br /&gt;
 mv /root/ssl/server.key /root/ssl/server.key.secure&lt;br /&gt;
 mv /root/ssl/server.key.insecure /root/ssl/server.key &lt;br /&gt;
&lt;br /&gt;
You now have the following files in /root/ssl:&lt;br /&gt;
&lt;br /&gt;
server.crt: The self-signed server certificate.&lt;br /&gt;
server.csr: Server certificate signing request.&lt;br /&gt;
server.key: The private server key, does not require a password when starting Apache.&lt;br /&gt;
server.key.secure: The private server key, it does require a password when starting Apache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.key /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.crt /etc/apache2/ssl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add the following in /etc/apache2/httpd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/server.crt&lt;br /&gt;
SSLCertificateKeyFile /etc/apache2/ssl/server.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;/*&amp;quot;&amp;gt;&lt;br /&gt;
#   Inside the subarea any Intranet access is allowed&lt;br /&gt;
#   but from the Internet only HTTPS + Strong-Cipher + Password&lt;br /&gt;
#   or the alternative HTTPS + Strong-Cipher + Client-Certificate&lt;br /&gt;
&lt;br /&gt;
#   If HTTPS is used, make sure a strong cipher is used.&lt;br /&gt;
#   Additionally allow client certs as alternative to basic auth.&lt;br /&gt;
SSLVerifyClient      optional&lt;br /&gt;
SSLVerifyDepth       1&lt;br /&gt;
SSLOptions           +FakeBasicAuth +StrictRequire&lt;br /&gt;
SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &amp;gt;= 128&lt;br /&gt;
&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
#RewriteEngine        on&lt;br /&gt;
#RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
#RewriteCond          %{HTTPS} !=on&lt;br /&gt;
#RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&lt;br /&gt;
#   Allow Network Access and/or Basic Auth&lt;br /&gt;
Satisfy              any&lt;br /&gt;
&lt;br /&gt;
#   Network Access Control&lt;br /&gt;
Order                deny,allow&lt;br /&gt;
Deny                 from all&lt;br /&gt;
Allow                from 192.168.80.0/24 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
#   HTTP Basic Authentication&lt;br /&gt;
AuthType             basic&lt;br /&gt;
AuthName             &amp;quot;LinuxMCE&amp;quot;&lt;br /&gt;
AuthUserFile         /etc/apache2/httpd.passwd&lt;br /&gt;
Require              valid-user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Since mythweb has it&#039;s own rewrites in a .htaccess file https redirection is enabled only on other urls&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;^/(?!mythweb).*&amp;quot;&amp;gt;&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
RewriteEngine        on&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^127\.0\.0\.[0-9]+$&lt;br /&gt;
RewriteCond          %{HTTPS} !=on&lt;br /&gt;
RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the top of httpd.conf add the fully qualified domain name of your box that you added by &amp;quot;Common Name (eg, YOUR name)&amp;quot; when creating the certificate:&lt;br /&gt;
&lt;br /&gt;
 ServerName linuxmce.yourdomain.com&lt;br /&gt;
&lt;br /&gt;
we have to change the beginning of vi /etc/apache2/sites-available/pluto to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost _default_:80&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then copy this file:&lt;br /&gt;
 cp /etc/apache2/sites-available/pluto /etc/apache2/sites-available/pluto443&lt;br /&gt;
&lt;br /&gt;
then change the beginnig to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost _default_:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make a symbolic link:&lt;br /&gt;
 ln -s /etc/apache2/sites-available/pluto443 /etc/apache2/sites-enabled/pluto443&lt;br /&gt;
&lt;br /&gt;
move the original ssl configuration out of the way (to your home dir):&lt;br /&gt;
 mv /etc/apache2/sites-available/default-ssl ~/&lt;br /&gt;
 rm /etc/apache2/sites-enabled/default-ssl&lt;br /&gt;
&lt;br /&gt;
go to pluto web admin and to Advanced&amp;gt;Network&amp;gt;Firewall and add a new rule:&lt;br /&gt;
 tcp 443 443 core_input&lt;br /&gt;
&lt;br /&gt;
then run:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl restart&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Installing_0810&amp;diff=27117</id>
		<title>Installing 0810</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Installing_0810&amp;diff=27117"/>
		<updated>2011-03-07T17:58:11Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: added apt-get install mediabuntu-keyring&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installing LinuxMCE-0810 is a fairly easy process that involves:&lt;br /&gt;
* Installing Kubuntu 8.10&lt;br /&gt;
* Updating Kubuntu 8.10&lt;br /&gt;
* Installing LinuxMCE-0810 on top of the updated Kubuntu 8.10&lt;br /&gt;
&lt;br /&gt;
Before proceeding its wise to read the FAQ. &lt;br /&gt;
Because of the fact that its a delicate installation small things make a huge difference.&lt;br /&gt;
&lt;br /&gt;
Please see below for details on Internet Installation and DVD Installation methods.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: an active internet connection is required regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
==Internet Installation==&lt;br /&gt;
# Install Kubuntu Intrepid desktop and update it. (download Kubuntu 8.10 &#039;&#039;&#039;desktop&#039;&#039;&#039; release from http://old-releases.ubuntu.com/releases/kubuntu/8.10/kubuntu-8.10-desktop-i386.iso) &#039;&#039;&#039;Currently, only the 32bit version of LinuxMCE is available. Only download the i386 version of 8.10 Kubuntu, even if your system can support 64bit versions.&#039;&#039;&#039; Note: If Kubuntu asks whether you would like to install/activate &#039;Restricted Drivers&#039; for your video card, ignore it and continue to step 2.&lt;br /&gt;
# Edit your /etc/apt/sources.list file to contain only (from post http://forum.linuxmce.org/index.php?topic=10917.15 ):&lt;br /&gt;
 deb http://old-releases.ubuntu.com/ubuntu/ intrepid  main restricted universe multiverse&lt;br /&gt;
 deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid  main restricted universe multiverse&lt;br /&gt;
 deb http://old-releases.ubuntu.com/ubuntu/ intrepid-updates  main restricted universe multiverse&lt;br /&gt;
 deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid-updates  main restricted universe multiverse&lt;br /&gt;
 deb http://deb.linuxmce.org/ubuntu/ intrepid  beta2&lt;br /&gt;
 deb http://debian.slimdevices.com/ stable  main&lt;br /&gt;
 deb http://packages.medibuntu.org/ intrepid  free non-free&lt;br /&gt;
 deb http://old-releases.ubuntu.com/ubuntu/ intrepid-security  main restricted universe multiverse&lt;br /&gt;
 deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid-security  main restricted universe multiverse&lt;br /&gt;
 deb http://old-releases.ubuntu.com/ubuntu/ intrepid  main universe multiverse&lt;br /&gt;
 deb http://deb.linuxmce.org/ubuntu/ replacements_debian  main&lt;br /&gt;
 deb http://deb.linuxmce.org/ubuntu/ 20dev_ubuntu  main&lt;br /&gt;
# Run aptitude update and aptitude dist-upgrade to get the latest Kubuntu updates.&lt;br /&gt;
# Install medibuntu keyring: apt-get install medibuntu-keyring&lt;br /&gt;
# Grab the latest installer script from [http://deb.linuxmce.org/ubuntu here], unpack them and change into the freshly created &#039;&#039;new-installer&#039;&#039; directory.&lt;br /&gt;
# Run the following scripts (as root, in order): pre-install-from-repo.sh, mce-install.sh, post-install.sh.&lt;br /&gt;
# Reboot, wait for the activity to stop (see progress on console 8).&lt;br /&gt;
&lt;br /&gt;
In other words, after installing Kubuntu:&lt;br /&gt;
 sudo su - #This might ask for the password you specified earlier during the install of kubuntu.&lt;br /&gt;
 apt-get update&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
 apt-get install medibuntu-keyring&lt;br /&gt;
 wget -c http://deb.linuxmce.org/ubuntu/new-installer-latest.tar.gz&lt;br /&gt;
 tar xvf new-installer-latest.tar.gz&lt;br /&gt;
 cd new-installer&lt;br /&gt;
 ./pre-install-from-repo.sh&lt;br /&gt;
 ./mce-install.sh&lt;br /&gt;
 ./post-install.sh&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
The avenard repo is no longer needed.&lt;br /&gt;
&lt;br /&gt;
==DVD Installation==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you want to install the DVD, grab it via the torrent [http://www.linuxmce.org/index.php/download here] or if you want use the following link to obtain the latest [http://linuxmce.iptp.org/snapshots/ snapshot] &#039;&#039;&#039;Highly recommended&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upon DVD boot, select LinuxMCE install(it is the bottom option)&#039;&#039;&#039;. This will install a regular Kubuntu 810 system, with an additional button on the desktop to install LinuxMCE upon restart. Let Kubuntu&#039;s install run through, and after restart, login.&lt;br /&gt;
Open a terminal and run&lt;br /&gt;
 sudo su - #This might ask for the password you specified earlier during the install of kubuntu.&lt;br /&gt;
 apt-get update&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
Once you have done this, you can go to the Desktop and double click on the LinuxMCE icon. This will run the fullinstall.sh in /root/new-installer and install LinuxMCE-0810 on top of you updated Kubuntu installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Once the above process is complete - the [http://wiki.linuxmce.org/index.php/AVWizard_Step_by_Step AV Wizard] should start (after rebooting). If you get a &#039;&#039;black or blank screen&#039;&#039; you probably need to change your video card outputs. Instructions on how to do this are available: [http://wiki.linuxmce.org/index.php/AVWizard#What_to_do_if_A.2FV_Wizard_does_not_start here]&lt;br /&gt;
&lt;br /&gt;
The DVD installer per default does not create the initial [[MD|MD]] image, as that creation takes a very long time, and most people probably prefer to give 810 a test, without the MDs. If you want to setup MDs, you have to manually run &lt;br /&gt;
 /usr/pluto/bin/Diskless_CreateTBZ.sh&lt;br /&gt;
(You should only have to do this once)&lt;br /&gt;
&lt;br /&gt;
If you have problems running Diskless_CreateTBZ.sh, check [[Error Running Diskless CreateTBZ.sh|this article]].&lt;br /&gt;
&lt;br /&gt;
If you then have problems netbooting your diskless media directors because you are receiving the error message &amp;quot;Diskless Setup Failed&amp;quot;, check [[Diskless setup failed error in 0810 beta|this article]].&lt;br /&gt;
&lt;br /&gt;
== Keeping Up-to-date with updates ==&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; It is strongly recommend that you do not update/upgrade a stable, working system [[user:L3mce]]&lt;br /&gt;
&lt;br /&gt;
Once you have installed LinuxMCE-0810, all you need to do to keep up-to-date with the latest and greatest, is run the following from a terminal on the core and each MD:&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
Note: You should NOT run apt-get dist-upgrade after LinuxMCE is installed, as it can cause several problems, including having different kernel versions on your core and media directors, and the installation of new Kubuntu packages that can break some features!&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=PLCBUS&amp;diff=25907</id>
		<title>PLCBUS</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=PLCBUS&amp;diff=25907"/>
		<updated>2010-10-16T11:55:14Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{versioninfo|810Status=Not Working|810UpdatedDate=1st May 2010|810UpdatedBy=BongoWongo}}&lt;br /&gt;
[[Category: Automation]]&lt;br /&gt;
[[Category: Power Line Control]]&lt;br /&gt;
[[Category: 0810]]&lt;br /&gt;
 {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Image:Plcbus-logo.jpg|right]]&lt;br /&gt;
= Status =&lt;br /&gt;
ddamron wrote a GSD for PLCBUS with ruby. Hari will try to get a c++ dce client running.&lt;br /&gt;
&lt;br /&gt;
= About =&lt;br /&gt;
PLCBUS Technology provides you the most perfect Home Automation solutions. Control one lamp minimally to the whole house, all the PLCBUS products range is including Lamp control, Appliance control, Remote telephone control, Computer control and Security System control.&lt;br /&gt;
Based on the features: “High Reliability”, “Two-Way Communications”, “No rewiring necessary”, etc, PLCBUS Technology will be new Home Automation standard in the following 10-15 years.&lt;br /&gt;
&lt;br /&gt;
See the following setup page for details on how to get running.&lt;br /&gt;
[[Setting Up PLC-BUS Template]]&lt;br /&gt;
&lt;br /&gt;
==Demo video:==&lt;br /&gt;
* http://www.x10-hk.com/store/download/plcbus-1.mp4&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
* Reliability&lt;br /&gt;
* 2-way communication&lt;br /&gt;
* Powerline, no rewiring&lt;br /&gt;
* ~200bps&lt;br /&gt;
* 230V/50hz&lt;br /&gt;
&lt;br /&gt;
= Interfaces =&lt;br /&gt;
* http://x10-hk.com/store/product_info.php?products_id=165&lt;br /&gt;
* http://www.elekhomica.nl/product_info.php?cPath=135&amp;amp;products_id=757&lt;br /&gt;
&lt;br /&gt;
= Command specification =&lt;br /&gt;
* http://x10-hk.com/store/manual/plcbus/plcbus-1141.pdf&lt;br /&gt;
&lt;br /&gt;
= GSD/Ruby Code =&lt;br /&gt;
* [[ThreadedRuby]]&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd776 Reset (used for testing)&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd373 Private Method Listing&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd350 Process INCOMING Data Listing&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd351 Process IDLE Listing&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd355 Process Initialize Listing&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd384 Process Receive Command for Child Listing&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd760 Send Command to Child (before init)&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd776 Status Report (used for testing)&lt;br /&gt;
* http://wiki.linuxmce.org/index.php/PLCBUScmd756 Report Child Devices (nothing yet)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* http://www.plcbus.com.cn/&lt;br /&gt;
* http://www.futurehomes.com.sg/PLCBUSinfo.htm&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=VDR&amp;diff=23877</id>
		<title>VDR</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=VDR&amp;diff=23877"/>
		<updated>2010-06-01T19:39:57Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Category:Software components]]&lt;br /&gt;
[[Category:Video]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
= The Video Disk Recorder =&lt;br /&gt;
VDR is a [[personal video recorder]] system aimed at the DVB market. It supports DVB-S, DVB-C and DVB-T tuner cards. More details can be found at the [http://www.cadsoftusa.com/vdr/ VDR homepage].&lt;br /&gt;
&lt;br /&gt;
It is the second PVR system integrated into LinuxMCE. The main aim is for a seamless integration into LinuxMCE. The UI should not change between VDR and the other LinuxMCE pieces. The first version of this integration wass scheduled for January 2008, and is mainly sponsored by [http://www.dianemo.co.uk Convergent Home Technologies Ltd].&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Recently I managed to setup VDR under LinuxMCE successfully. This brief howto is a result of my personal experience. Don&#039;t hesitate to improve it. &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
VDR should be selected using the setup wizard. If you did not select VDR during the initial configuration after installation, simply re-run the wizard (it&#039;s on the Advanced menu) and select VDR as the PVR. VDR will be installed automatically and will start after installation.&lt;br /&gt;
&lt;br /&gt;
[[Image:LMCE-software-modules.jpg|thumb|550px|left|LinuxMCE Software Modules]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt; &lt;br /&gt;
To make VDR configuration and manage easier its web interface - VDRAdmin can be used. It should be installed manually:&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install vdradmin-am&lt;br /&gt;
&lt;br /&gt;
and then enabled to be able run by replacing ENABLED=&amp;quot;0&amp;quot; by ENABLED=&amp;quot;1&amp;quot; in the &amp;lt;em&amp;gt;/etc/default/vdradmin-am&amp;lt;/em&amp;gt;. Also don&#039;t forget to add a new firewall rule for the port 8001 - &amp;lt;em&amp;gt;Advanced --&amp;gt;&amp;amp;gt; Network --&amp;amp;gt; Firewall Rules&amp;lt;/em&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for Channels ===&lt;br /&gt;
&lt;br /&gt;
To enable scanning for channels the DVB utilities package should also installed manually:&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
then do&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install dvb-utils&lt;br /&gt;
&lt;br /&gt;
==== Scanning for DVB-T Channels ====&lt;br /&gt;
&lt;br /&gt;
Firstly we need to stop VDR before we scan for channels;&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/vdr stop&lt;br /&gt;
&lt;br /&gt;
Above we installed the dvb-utils package and this will have installed the scan utility and tuning files for many DVB transmitters in various regions. Look for a transmitter in your region by looking in the following directory;&lt;br /&gt;
&lt;br /&gt;
  ls /usr/share/doc/dvb-utils/examples/scan/dvb-t&lt;br /&gt;
&lt;br /&gt;
You should now see something like this on your console;&lt;br /&gt;
&lt;br /&gt;
 au-Adelaide            fi-Ahtari          fi-Taivalkoski       se-Borlange                  se-Uddevalla&lt;br /&gt;
 au-Brisbane            fi-Ala-Vuokki      fi-Tammela           se-Emmaboda                  se-Uppsala&lt;br /&gt;
 au-canberra            fi-Ammansaari      fi-Tampere           se-Falun                     se-Vannas&lt;br /&gt;
 au-Darwin              fi-Anjalankoski    fi-Tervola           se-Gallivare                 se-Varberg&lt;br /&gt;
 au-GoldCoast           fi-Espoo           fi-Turku             se-Gavle                     se-Vasteras&lt;br /&gt;
 au-Hobart              fi-Eurajoki        fi-Utsjoki           se-Goteborg_Brudaremossen    se-Vastervik&lt;br /&gt;
 au-Mackay              fi-Fiskars         fi-Vaasa             se-Goteborg_Slattadamm       se-Visby&lt;br /&gt;
 au-Melbourne           fi-Haapavesi       fi-Vuokatti          se-Halmstad                  se-Vislanda&lt;br /&gt;
 au-Melbourne-Upwey     fi-Hetta           fi-Vuotso            se-Harnosand                 se-Ystad&lt;br /&gt;
 au-Perth               fi-Iisalmi         fi-Yllas             se-Helsingborg               tw-Taipei&lt;br /&gt;
 au-Sydney_Kings_Cross  fi-Inari           fr-Bordeaux          se-Horby                     uk-Angus&lt;br /&gt;
 au-sydney_north_shore  fi-Joutseno        fr-Brest             se-Hudiksvall                uk-Bilsdale&lt;br /&gt;
 au-Townsville          fi-Juntusranta     fr-LeMans            se-Jonkoping                 uk-BlackHill&lt;br /&gt;
 au-unknown             fi-Jyvaskyla       fr-Lyon-Fourviere    se-Kalix                     uk-BluebellHill&lt;br /&gt;
 cz-Praha               fi-Kaihuanvaara    fr-Lyon-Pilat        se-Karlshamn                 uk-Caradon&lt;br /&gt;
 de-Berlin              fi-Karigasniemi    fr-Marseille         se-Karlskrona                uk-CaradonHill&lt;br /&gt;
 de-Braunschweig        fi-Kaunispaa       fr-Nantes            se-Karlstad                  uk-Craigkelly&lt;br /&gt;
 de-Bremen              fi-Kerimaki        fr-Niort             se-Kiruna                    uk-CrystalPalace&lt;br /&gt;
 de-Erfurt-Weimar       fi-Kiihtelysvaara  fr-Orleans           se-Kisa                      uk-Dover&lt;br /&gt;
 de-Frankfurt           fi-Kilpisjarvi     fr-Paris             se-Kramfors                  uk-DoverB&lt;br /&gt;
 de-Hamburg             fi-Koli            fr-Rennes            se-Linkoping_Vattentorn      uk-Durris&lt;br /&gt;
 de-Hannover            fi-Kruunupyy       fr-Rouen             se-Malmo                     uk-EmleyMoor&lt;br /&gt;
 de-Kiel                fi-Kuopio          fr-Toulouse          se-Malmo_Kronprinsen         uk-Hannington&lt;br /&gt;
 de-Koeln-Bonn          fi-Kuttanen        fr-Vannes            se-Molndal_Vasterberget      uk-Heathfield&lt;br /&gt;
 de-Leipzig             fi-Lahti           hr-Zagreb            se-Mora                      uk-Llanddona&lt;br /&gt;
 de-Luebeck             fi-Lapua           is-Reykjavik         se-Motala                    uk-Mendip&lt;br /&gt;
 de-Muenchen            fi-Mikkeli         it-Bologna           se-Nassjo                    uk-Oxford&lt;br /&gt;
 de-Nuernberg           fi-Oulu            it-Bolzano           se-Norrkoping                uk-PontopPike&lt;br /&gt;
 de-Rostock             fi-Pello           it-Catania           se-Norrtalje_Sodra_Bergen    uk-Redruth&lt;br /&gt;
 de-Ruhrgebiet          fi-Pernaja         it-Conero            se-Orebro                    uk-Reigate&lt;br /&gt;
 de-Schwerin            fi-Pihtipudas      it-Genova            se-Ornskoldsvik              uk-Rowridge&lt;br /&gt;
 dk-Copenhagen          fi-Posio           it-Milano            se-Ostersund                 uk-SandyHeath&lt;br /&gt;
 es-Alfabia             fi-Pudasjarvi      it-Torino            se-Osthammar                 uk-Storeton&lt;br /&gt;
 es-Alpicat             fi-Puolanka        it-Varese            se-Skelleftea                uk-SudburyB&lt;br /&gt;
 es-Collserola          fi-Pyhatunturi     nl-AlphenaandenRijn  se-Skovde                    uk-SuttonColdfield&lt;br /&gt;
 es-Lugo                fi-Pyhavuori       nl-Randstad          se-Sodertalje_Ragnhildsborg  uk-TheWrekin&lt;br /&gt;
 es-Madrid              fi-Ranua           se-Alvsbyn           se-Stockholm_Marieberg       uk-TheWrekinB&lt;br /&gt;
 es-Mussara             fi-Rovaniemi       se-Angelholm         se-Stockholm_Nacka           uk-Waltham&lt;br /&gt;
 es-Rocacorba           fi-Ruka            se-Bollnas           se-Sundsvall                 uk-WhitehawkHill&lt;br /&gt;
 es-Sevilla             fi-Salla           se-Boras             se-Trollhattan               uk-WinterHill&lt;br /&gt;
&lt;br /&gt;
Once you have found the DVB-T transmitter for your region then use the line below to generate the VDR compatible channels.conf for that specific transmitter using the line below substituting &#039;uk-CrystalPalace&#039; with the name of your closest transmitter;&lt;br /&gt;
&lt;br /&gt;
 cd /home&lt;br /&gt;
 sudo scan -o vdr -p -u /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-CrystalPalace &amp;gt; channels.conf&lt;br /&gt;
&lt;br /&gt;
This will write the channels.conf file and also output data on all the found and tuned channels to the console. The scan process usually takes less than a minute but can take longer if you have a low quality signal in your area. Below is an example of the output for &#039;uk-CrystalPalace&#039; my local transmitter here in the UK showing the channels broadcast on all 6 MUX&#039;s;&lt;br /&gt;
&lt;br /&gt;
 scanning /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-CrystalPalace&lt;br /&gt;
 using &#039;/dev/dvb/adapter0/frontend0&#039; and &#039;/dev/dvb/adapter0/demux0&#039;&lt;br /&gt;
 initial transponder 505833333 0 3 9 1 0 0 0&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 505833:I999B8C34D999M16T2G32Y0:T:27500:&lt;br /&gt;
 0x0000 0x1044: pmt_pid 0x1044 BBC -- BBC ONE (running)&lt;br /&gt;
 0x0000 0x1084: pmt_pid 0x1084 BBC -- BBC TWO (running)&lt;br /&gt;
 0x0000 0x10ff: pmt_pid 0x10ff BBC -- BBC THREE (running)&lt;br /&gt;
 0x0000 0x113f: pmt_pid 0x113f BBC -- BBC NEWS 24 (running)&lt;br /&gt;
 0x0000 0x117f: pmt_pid 0x117f BBC -- BBCi (running)&lt;br /&gt;
 0x0000 0x123f: pmt_pid 0x123f BBC -- CBBC Channel (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 481833:I999B8C23D12M64T2G32Y0:T:27500:&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 0x2005 0x2045: pmt_pid 0x0100 ITV -- ITV1 (running)&lt;br /&gt;
 0x2005 0x2066: pmt_pid 0x0104 ITV -- ITV3 (running)&lt;br /&gt;
 0x2005 0x2085: pmt_pid 0x0102 ITV -- ITV2 (running)&lt;br /&gt;
 0x2005 0x20a1: pmt_pid 0x0116 ITV -- ITV4 (running)&lt;br /&gt;
 0x2005 0x20c0: pmt_pid 0x0108 Channel 4 TV -- Channel 4 (running)&lt;br /&gt;
 0x2005 0x20fa: pmt_pid 0x010e Channel 4 TV -- More 4 (running)&lt;br /&gt;
 0x2005 0x2100: pmt_pid 0x010b Channel 4 TV -- E4 (running)&lt;br /&gt;
 0x2005 0x2104: pmt_pid 0x010c Channel 4 TV -- Channel 4+1 (running)&lt;br /&gt;
 0x2005 0x2145: pmt_pid 0x0110 Teletext Limited -- Teletext (running)&lt;br /&gt;
 0x2005 0x21c3: pmt_pid 0x0112 Teletext Limited -- Teletext Cars (running)&lt;br /&gt;
 0x2005 0x2240: pmt_pid 0x0114 Channel 4 TV -- Teletext on 4 (running)&lt;br /&gt;
 0x2005 0x2244: pmt_pid 0x011c Global Radio -- Heart (running)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 561833:I999B8C23D12M64T2G32Y0:T:27500:&lt;br /&gt;
 0x3002 0x3242: pmt_pid 0x0101 five -- Five (running)&lt;br /&gt;
 0x3002 0x3280: pmt_pid 0x0113 five -- Five Life (running)&lt;br /&gt;
 0x3002 0x32c0: pmt_pid 0x0117 five -- Five US (running)&lt;br /&gt;
 0x3002 0x3340: pmt_pid 0x0103 QVC -- QVC (running)&lt;br /&gt;
 0x3002 0x37c0: pmt_pid 0x0105 Sit-Up Ltd -- bid tv (running)&lt;br /&gt;
 0x3002 0x3900: pmt_pid 0x010a EMAP -- Smash Hits! (running)&lt;br /&gt;
 0x3002 0x3940: pmt_pid 0x010b EMAP -- MOJO (running)&lt;br /&gt;
 0x3002 0x39c0: pmt_pid 0x010c Teletext Limited -- Ttext Holidays (running)&lt;br /&gt;
 0x3002 0x3a80: pmt_pid 0x010e five -- UKTV Style (running, scrambled)&lt;br /&gt;
 0x3002 0x3b80: pmt_pid 0x0112 five -- TVX / RED HOT (running)&lt;br /&gt;
 0x3002 0x3cc0: pmt_pid 0x0114 five -- UKTV Gold (running, scrambled)&lt;br /&gt;
 0x3002 0x3d00: pmt_pid 0x0115 Sit-Up Ltd -- price-drop tv (running)&lt;br /&gt;
 0x3002 0x3dc0: pmt_pid 0x0118 five -- Teachers TV (running)&lt;br /&gt;
 0x3002 0x3e20: pmt_pid 0x0124 Turner Broadcasting System Europe Limited -- Nuts TV (running)&lt;br /&gt;
 0x3002 0x3e80: pmt_pid 0x011d five -- Eurosport UK (running, scrambled)&lt;br /&gt;
 0x3002 0x3ea0: pmt_pid 0x0104 ITV -- CITV (running)&lt;br /&gt;
 0x3002 0x3ee0: pmt_pid 0x011c ITV -- SETANTA SPORTS (running)&lt;br /&gt;
 0x3002 0x3f00: pmt_pid 0x011b Teletext Limited -- Teletext Games (running)&lt;br /&gt;
 0x3002 0x3f20: pmt_pid 0x0125 The Jewellery Channel -- Jewellery Chan (running)&lt;br /&gt;
 0x3002 0x3f60: pmt_pid 0x0120 TopUp TV Ltd -- TopUp Anytime1 (running, scrambled)&lt;br /&gt;
 0x3002 0x3f80: pmt_pid 0x0121 TopUp TV Ltd -- TopUp Anytime2 (running, scrambled)&lt;br /&gt;
 0x3002 0x3fa0: pmt_pid 0x0122 TopUp TV Ltd -- TopUp Anytime3 (running, scrambled)&lt;br /&gt;
 WARNING: filter timeout pid 0x0010&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 529833:I999B8C34D34M16T2G32Y0:T:27500:&lt;br /&gt;
 0x4000 0x4280: pmt_pid 0x02ca BBC -- BBC Parliament (running)&lt;br /&gt;
 0x4000 0x41c0: pmt_pid 0x02be BBC -- BBC FOUR (running)&lt;br /&gt;
 0x4000 0x4240: pmt_pid 0x02bf BBC -- CBeebies (running)&lt;br /&gt;
 0x4000 0x4600: pmt_pid 0x02c0 BBC -- BBC R5 Live (running)&lt;br /&gt;
 0x4000 0x4640: pmt_pid 0x02c1 BBC -- BBC 5L SportsX (running)&lt;br /&gt;
 0x4000 0x4680: pmt_pid 0x02c2 BBC -- BBC 6 Music (running)&lt;br /&gt;
 0x4000 0x46c0: pmt_pid 0x02c3 BBC -- BBC 7 (running)&lt;br /&gt;
 0x4000 0x4700: pmt_pid 0x02c4 BBC -- 1Xtra BBC (running)&lt;br /&gt;
 0x4000 0x4740: pmt_pid 0x02c5 BBC -- BBC Asian Net. (running)&lt;br /&gt;
 0x4000 0x4c00: pmt_pid 0x02c6 BBC -- 301 (running)&lt;br /&gt;
 0x4000 0x4c40: pmt_pid 0x02c7 BBC -- 302 (running)&lt;br /&gt;
 0x4000 0x4c80: pmt_pid 0x02c8 BBC -- 303 (running)&lt;br /&gt;
 0x4000 0x4180: pmt_pid 0x02bd BBC -- 305 (running)&lt;br /&gt;
 0x4000 0x4e00: pmt_pid 0x02c9 BBC -- Community (running)&lt;br /&gt;
 0x4000 0x4840: pmt_pid 0x02cb BBC -- BBC Radio 1 (running)&lt;br /&gt;
 0x4000 0x4880: pmt_pid 0x02cc BBC -- BBC Radio 2 (running)&lt;br /&gt;
 0x4000 0x48c0: pmt_pid 0x02cd BBC -- BBC Radio 3 (running)&lt;br /&gt;
 0x4000 0x4900: pmt_pid 0x02ce BBC -- BBC Radio 4 (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 578166:I999B8C34D34M16T2G32Y0:T:27500:&lt;br /&gt;
 0x5000 0x5740: pmt_pid 0x02c1 Channel 4 TV -- E4+1 (running)&lt;br /&gt;
 0x5000 0x5640: pmt_pid 0x02bd Sky -- Sky News (running)&lt;br /&gt;
 0x5000 0x5680: pmt_pid 0x02be Sky -- Sky Spts News (running)&lt;br /&gt;
 0x5000 0x56c0: pmt_pid 0x02bf Sky -- SKY THREE (running)&lt;br /&gt;
 0x5000 0x5840: pmt_pid 0x02c2 talkSPORT -- talkSPORT (running)&lt;br /&gt;
 0x5000 0x5c80: pmt_pid 0x02cd Sky -- Sky Text (running)&lt;br /&gt;
 0x5000 0x5a40: pmt_pid 0x02ca Virgin Radio -- Virgin Radio (running)&lt;br /&gt;
 0x5000 0x5cc0: pmt_pid 0x02cf yoomedia -- tvtv DIGITAL (running)&lt;br /&gt;
 0x5000 0x5700: pmt_pid 0x02c0 UKTV -- Dave (running)&lt;br /&gt;
 0x5000 0x5780: pmt_pid 0x02cc Square1 Management Ltd -- smileTV (running)&lt;br /&gt;
 0x5000 0x59c0: pmt_pid 0x02c8 London Christian Radio Ltd -- Premier Radio (running)&lt;br /&gt;
 0x5000 0x5a00: pmt_pid 0x02c9 Score Digital -- Clyde 1 (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 537833:I999B8C34D34M16T2G32Y0:T:27500:&lt;br /&gt;
 0x6000 0x6440: pmt_pid 0x03e9 EMAP -- The HITS (running)&lt;br /&gt;
 0x6000 0x6480: pmt_pid 0x03ea MTV Europe -- TMF (running)&lt;br /&gt;
 0x6000 0x64c0: pmt_pid 0x03eb UKTV -- UKTV History (running)&lt;br /&gt;
 0x6000 0x6500: pmt_pid 0x03ec Flextech -- Virgin1 (running)&lt;br /&gt;
 0x6000 0x6540: pmt_pid 0x03ed CCI -- Ideal World (running)&lt;br /&gt;
 0x6000 0x6640: pmt_pid 0x03fd EMAP -- Kiss (running)&lt;br /&gt;
 0x6000 0x66c0: pmt_pid 0x03ff EMAP -- Kerrang! (running)&lt;br /&gt;
 0x6000 0x6700: pmt_pid 0x0400 GMG -- SMOOTH RADIO (running)&lt;br /&gt;
 0x6000 0x67c0: pmt_pid 0x0403 EMAP -- The Hits Radio (running)&lt;br /&gt;
 0x6000 0x6800: pmt_pid 0x0404 EMAP -- Magic (running)&lt;br /&gt;
 0x6000 0x6840: pmt_pid 0x0405 EMAP -- Q (running)&lt;br /&gt;
 0x6000 0x6980: pmt_pid 0x0407 4TV Ltd -- 4TVinteractive (running)&lt;br /&gt;
 0x6000 0x69c0: pmt_pid 0x03ee ITV -- ITV2 +1 (running)&lt;br /&gt;
 0x6000 0x6a00: pmt_pid 0x03f0 Channel 4 TV -- Film4 (running)&lt;br /&gt;
 0x6000 0x6780: pmt_pid 0x0402 BBC -- BBC World Sv. (running)&lt;br /&gt;
 0x6000 0x6680: pmt_pid 0x03fe EMAP -- heat (running)&lt;br /&gt;
 0x6000 0x6a40: pmt_pid 0x03f1 Channel 4 -- Gems TV (running)&lt;br /&gt;
 0x6000 0x6a80: pmt_pid 0x03f2 Camelot Group plc -- Lottery Xtra (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 dumping lists (90 services)&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
Below is an example of the first few lines of the &#039;channels.conf&#039; that was produced by the example above. Notice that the channels are grouped by MUX and not by their UK LCN (Logical Channel Number) which are the numbers with the &#039;@&#039; in front on alternate lines. &lt;br /&gt;
&lt;br /&gt;
 :@1&lt;br /&gt;
 BBC - BBC ONE:505833:I999B8C34D34M16T2G32Y0:T:27500:600:601,602:0:0:4164:0:0:0&lt;br /&gt;
 :@2&lt;br /&gt;
 BBC - BBC TWO:505833:I999B8C34D34M16T2G32Y0:T:27500:610:611,612:0:0:4228:0:0:0&lt;br /&gt;
 :@80&lt;br /&gt;
 BBC - BBC NEWS 24:505833:I999B8C34D34M16T2G32Y0:T:27500:640:641:0:0:4415:0:0:0&lt;br /&gt;
 :@70&lt;br /&gt;
 BBC - CBBC Channel:505833:I999B8C34D34M16T2G32Y0:T:27500:620:621,622:0:0:4671:0:0:0&lt;br /&gt;
 :@3&lt;br /&gt;
 ITV - ITV1:481833:I999B8C23D12M64T2G32Y0:T:27500:520:521,522:0:0:8261:0:0:0&lt;br /&gt;
 :@6&lt;br /&gt;
 ITV - ITV2:481833:I999B8C23D12M64T2G32Y0:T:27500:530:531,532:0:0:8325:0:0:0&lt;br /&gt;
 :@10&lt;br /&gt;
 ITV - ITV3:481833:I999B8C23D12M64T2G32Y0:T:27500:540:541,542:0:0:8294:0:0:0&lt;br /&gt;
 :@102&lt;br /&gt;
 Teletext Limited - Teletext Cars:481833:I999B8C23D12M64T2G32Y0:T:27500:0:789:0:0:8643:0:0:0&lt;br /&gt;
 :@4&lt;br /&gt;
 Channel 4 TV - Channel 4:481833:I999B8C23D12M64T2G32Y0:T:27500:560+8190:561,562:0:0:8384:0:0:0&lt;br /&gt;
 :@13&lt;br /&gt;
 Channel 4 TV - Channel 4+1:481833:I999B8C23D12M64T2G32Y0:T:27500:580+8190:581,582:0:0:8452:0:0:0&lt;br /&gt;
 :@29&lt;br /&gt;
 Channel 4 TV - E4:481833:I999B8C23D12M64T2G32Y0:T:27500:570+8190:571,572:0:0:8448:0:0:0&lt;br /&gt;
 :@14&lt;br /&gt;
 Channel 4 TV - More 4:481833:I999B8C23D12M64T2G32Y0:T:27500:590+8190:591,592:0:0:8442:0:0:0&lt;br /&gt;
 :@28&lt;br /&gt;
 ITV - ITV4:481833:I999B8C23D12M64T2G32Y0:T:27500:600:601:0:0:8353:0:0:0&lt;br /&gt;
 (null) - [2243]:481833:I999B8C23D12M64T2G32Y0:T:27500:0:621:0:0:8771:0:0:0&lt;br /&gt;
 :@728&lt;br /&gt;
 Global Radio - Heart:481833:I999B8C23D12M64T2G32Y0:T:27500:0:631:0:0:8772:0:0:0&lt;br /&gt;
&lt;br /&gt;
VDR will load the channels into the EPG in the order that they are listed in the &#039;channels.conf&#039;. So for example in the UK you might want to &#039;sort&#039; the lines in the &#039;channels.conf&#039; based on their LCN before loading them into VDR... although the &#039;channels.conf&#039; will work fine without this.  Here is a command which will create a new &#039;channels-sorted.conf&#039; file from the original, sorted by LCN:&lt;br /&gt;
&lt;br /&gt;
  perl -0777ne &#039;print for sort{($a=~/^:@(\d+)/)[0]&amp;lt;=&amp;gt;($b=~/^:@(\d+)/)[0]}split/(?=^:@)/m&#039; channels.conf &amp;gt; channels-sorted.conf&lt;br /&gt;
  mv channels-sorted.conf channels.conf&lt;br /&gt;
&lt;br /&gt;
Now that you have a good &#039;channels.conf&#039; for your local DVB-T transmitter you need to load it into VDR. So just upload the new &#039;channels.conf&#039; file using LinuxMCE&#039;s Web Admin site - go to Advanced –&amp;gt; Configuration –&amp;gt; VDR and use the &#039;Browse&#039; button next to &#039;Upload custom file&#039; to find where you created your &#039;channels.conf&#039; file and click &#039;Upload&#039;. Now restart vdr from the console;&lt;br /&gt;
 sudo /etc/init.d/vdr restart&lt;br /&gt;
Now use the following command to check that vdr is running;&lt;br /&gt;
 /etc/init.d/vdr status&lt;br /&gt;
You should see the line below;&lt;br /&gt;
 Getting status of Linux Video Disk Recorder   -= LMCE VERSION 0710-10 =- : vdr - is running.&lt;br /&gt;
Now the acid test...go to your LinuxMCE Orbiter and select &#039;TV&#039; from the &#039;Media&#039; menu to see a live picture and your all done.&lt;br /&gt;
==== Scanning for DVB-S Channels ====&lt;br /&gt;
&amp;lt;strong&amp;gt;Configuration&amp;lt;/strong&amp;gt;&lt;br /&gt;
To configure VDR we should get the list of all available channels for desire satellite. You can find it somewhere or create using DVB utility &amp;lt;strong&amp;gt;scan&amp;lt;/strong&amp;gt;. To do that we need the list of transponders stored as INI file. Get it from the [http://joshyfun.peque.org/transponders/index.html JoshyFun&#039;s site]. Store it somewhere on your LinuxMCE core. In my case I use the INI file for [http://joshyfun.peque.org/transponders/0130.ini Hotbird]. &lt;br /&gt;
&lt;br /&gt;
Before scanning stop VDR:&lt;br /&gt;
    sudo /etc/init.d/vdr stop&lt;br /&gt;
and start scanning procedure:&lt;br /&gt;
    scan -o vdr -p -x 0 0130.ini &amp;gt; channels.conf&lt;br /&gt;
It might take about 10-20 minutes depends on the number of available channels on your satellite. When scanning is finished just upload the created channels.conf file via Admin site - &amp;lt;em&amp;gt;Advanced --&amp;amp;gt; Configuration --&amp;amp;gt; VDR&amp;lt;/em&amp;gt;. And then pickup your satellite from the list (see picture above).&lt;br /&gt;
[[Image:LMCE-VDR-config.jpg|thumb|550px|left|LinuxMCE VDR Configuration Screen]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt; &lt;br /&gt;
Quick reload router (most probably is not needed) and press button &amp;lt;strong&amp;gt;TV&amp;lt;/strong&amp;gt; on the on-screen Orbiter. You should be able to watch live TV. To navigate on that screen use F6, F7 and F8 buttons on your keyboard, Gyration mouse or Fiire remote. Additionally you can switch channels, see EPG and schedule recording from VDRAdmin web interface. &lt;br /&gt;
===Enable Dolby Digital Audio in xinelibout===&lt;br /&gt;
&lt;br /&gt;
 sudo -s&lt;br /&gt;
 ssh moonXX (where XX is the number of your MD)&lt;br /&gt;
Then start alsamixer on the commandline and press the right arrow on the keyboard until you get till &amp;quot;IEC958&amp;quot;. If this is muted (says MM) then press the &amp;quot;m&amp;quot; button on the keyboard and the ESC key to save.&lt;br /&gt;
&lt;br /&gt;
Then stop vdr :&lt;br /&gt;
 /etc/init.d/vdr stop&lt;br /&gt;
&lt;br /&gt;
and edit /etc/vdr/setup.conf and change the following lines to look like this :&lt;br /&gt;
 xineliboutput.Audio.Port = iec958&lt;br /&gt;
 xineliboutput.Audio.Speakers = Pass Through&lt;br /&gt;
 CurrentDolby = 1&lt;br /&gt;
 UseDolbyDigital = 1&lt;br /&gt;
&lt;br /&gt;
And if you also want to record Dolby Digital  then also change :&lt;br /&gt;
 RecordDolbyDigital = 1&lt;br /&gt;
&lt;br /&gt;
After saving the changes, restart vdr :&lt;br /&gt;
 /etc/init.d/vdr start&lt;br /&gt;
&lt;br /&gt;
Now you can replay recordings with Dolby Digital Audio&lt;br /&gt;
&lt;br /&gt;
/Viking&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
If VDR works not as you expect you can do following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Check VDR log - /var/log/pluto/&amp;amp;lt;ID_VDR_IN_YOUR_SYSTEM&amp;amp;gt;_VDR.log&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Check if everything ok with your DVB card:&lt;br /&gt;
       &amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;lspci&amp;lt;/strong&amp;gt; - you should see your card in the list of PCI devices&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;dmesg|grep -i dvb&amp;lt;/strong&amp;gt; - if driver if your DVB card is loaded correctly you will see it here. Note that in some cases you should place a firmware for your card into &amp;lt;em&amp;gt;/lib/firmware&amp;lt;/em&amp;gt;!&amp;lt;/li&amp;gt; &lt;br /&gt;
       &amp;lt;/ul&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== MCE Remote Functions ===&lt;br /&gt;
The MCE Remote button functions listed below are for lmcevdr-v10.&lt;br /&gt;
==== What do the buttons do? ====&lt;br /&gt;
[[Image:MCE-Remote-2.jpg|frame|50px|left|MCE IR Remote]]&lt;br /&gt;
==== TV Off ====&lt;br /&gt;
Not implemented currently&lt;br /&gt;
==== PC Off ====&lt;br /&gt;
When the menu bar is displayed or the screen saver is displaying images this button will power off the Core or any Media Directors that have IR remote control features. In VDR this button stops the Live TV picture (any scheduled recordings will be unaffected).&lt;br /&gt;
==== Record ====&lt;br /&gt;
Pressing this button when watching Live TV will start an &#039;Instant Recording&#039;.&lt;br /&gt;
==== Stop ====&lt;br /&gt;
Pressing this button will stop the playback of a recording and return you to the Live TV picture on the channel you were watching previously.&lt;br /&gt;
==== Pause ====&lt;br /&gt;
When you have a Live TV picture on the screen pressing this button will &#039;Pause Live TV&#039; and start recording - pressing this button again will un-pause the picture and start playing the recording while continuing to record the live transmission. If you are watching a recording and you press this button the playback of the recording will stop and the picture will &#039;freeze&#039; on the screen. Pressing this button again will continue the playback of the recording again.&lt;br /&gt;
==== Rew ====&lt;br /&gt;
Rewinds a recording. There are 3 Rew speeds - pressing this button once gives you speed 1, press it again for speed 2 and a third time for speed 3. This button does nothing when watching Live TV.&lt;br /&gt;
==== Play ====&lt;br /&gt;
Pressing this button in &#039;Pause&#039; mode plays the paused recording and pressing it again will &#039;Pause&#039; the playback again.&lt;br /&gt;
==== Fwd ====&lt;br /&gt;
Fast Forwards a recording. There are 3 Fwd speeds - pressing this button once gives you speed 1, press it again for speed 2 and a third time for speed 3. This button does nothing when watching Live TV.&lt;br /&gt;
==== Replay ====&lt;br /&gt;
Press to jump back 1 min in a recording. Press repeatedly to jump back quickly through a recording.&lt;br /&gt;
==== Skip ====&lt;br /&gt;
Press to Skip forward 1 min in a recording. Press repeatedly to jump forward quickly through a recording.&lt;br /&gt;
==== Back ====&lt;br /&gt;
Takes you back to the last VDR on-screen menu if watching Live TV or a Recording and back to previous on-screen menu if an a VDR on-screen menu is already displayed.&lt;br /&gt;
==== More Info ====&lt;br /&gt;
Press once to display &#039;Info screen&#039; for a Live Channel or a Recording. Press again to cancel &#039;Info screen&#039;.&lt;br /&gt;
==== Up Arrow ====&lt;br /&gt;
While watching Live TV does a Channel Up. In on-screen menu moves to the menu option above.&lt;br /&gt;
==== Left Arrow ====&lt;br /&gt;
When watching a recording is equivalent to pressing &#039;Rewind&#039;. In on-screen Schedule menu moves backwards in time.&lt;br /&gt;
==== OK ====&lt;br /&gt;
Pressing this button when Live TV displays the mini on-screen guide for 5 secs at the bottom of the screen. When playing a recording pressing this button displays the playback progress panel at the bottom of the screen. Press again to hide the playback progress panel.&lt;br /&gt;
==== Right Arrow ====&lt;br /&gt;
When watching a recording is equivalent to pressing &#039;Fwd&#039;. In on-screen Schedule menu pressing this button moves forwards in time.&lt;br /&gt;
==== Down Arrow ====&lt;br /&gt;
While watching Live TV pressing this button does a Channel Down. In VDR on-screen menu moves pressing this button moves you to the menu option below. When watching a recording is equivalent to pressing &#039;Pause&#039;.&lt;br /&gt;
==== Vol - (+) (-) ====&lt;br /&gt;
Increase or Decrease volume.&lt;br /&gt;
==== Green Start Button ====&lt;br /&gt;
Displays LinuxMCE Menu Bar.&lt;br /&gt;
==== Channel - (+) (-) ====&lt;br /&gt;
Increases or Decreases the Channel number and then changes to that Live TV channel&lt;br /&gt;
==== Mute ====&lt;br /&gt;
Pressing this button repeatedly toggles between Muted sound, on-screen subtitles and un-muted sound.&lt;br /&gt;
==== Recorded TV ====&lt;br /&gt;
Displays the VDR TV Recordings screen. Use Back repeatedly to back out of on-screen menus and get back to Live TV.&lt;br /&gt;
==== Guide ====&lt;br /&gt;
Displays the on-screen EPG Guide for the currently tuned channel. Use Colour buttons to Record, View Progs, Now &amp;amp; Next, Schedule &amp;amp; Next.&lt;br /&gt;
==== Live TV ====&lt;br /&gt;
Turns on Live TV or if already watching Live TV displays the on-screen EPG.&lt;br /&gt;
==== DVD Menu ====&lt;br /&gt;
When watching Live TV displays Channel List.&lt;br /&gt;
==== 1,2,3,4,5,6,7,8,9,*,0,# ====&lt;br /&gt;
Use to choose channel number directly in Live TV or to jump to on-screen menu items directly when an on-screen menu is displayed.&lt;br /&gt;
==== Clear ====&lt;br /&gt;
Currently unused&lt;br /&gt;
==== Enter ====&lt;br /&gt;
Equivalent to pressing &#039;OK&#039;&lt;br /&gt;
==== Text ====&lt;br /&gt;
Currently unused&lt;br /&gt;
==== Red ====&lt;br /&gt;
In Live TV displays Recordings menu. In VDR menus does the &#039;Red&#039; labeled function.&lt;br /&gt;
==== Green ====&lt;br /&gt;
In Live TV displays Channels on-screen menu. In on-screen menus does the &#039;Green&#039; labeled function.&lt;br /&gt;
==== Yellow ====&lt;br /&gt;
In Live TV displays Info on-screen menu. In on-screen menus does the &#039;Yellow&#039; labeled function.&lt;br /&gt;
==== Blue ====&lt;br /&gt;
In Live TV displays Timers on-screen menu. In on-screen menus does the &#039;Yellow&#039; labeled function.&lt;br /&gt;
== Adding your own plugins to vdr ==&lt;br /&gt;
===Installing vdr-dev===&lt;br /&gt;
If you want to build and add plugins to vdr you need to install the vdr-dev package. Open a console session at your core or ssh in from another machine and do;&lt;br /&gt;
 apt-get install vdr-dev&lt;br /&gt;
Now follow the instructions for building the plugin you are interested in.&lt;br /&gt;
== Manual Installation ==&lt;br /&gt;
For details on manually installing VDR please look in [[VDR Manual Install]].&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://www.linuxtv.org/vdrwiki/index.php/Main_Page VDR Wiki (English)]&lt;br /&gt;
* [http://www.free-x.de/wiki/index.php VDR Wiki (Russian)]&lt;br /&gt;
* [http://allrussian.info/board.php?boardid=61 VDR Forum (Russian)]&lt;br /&gt;
* [http://www.vdr-portal.de VDR Portal (German)]&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=VDR&amp;diff=23876</id>
		<title>VDR</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=VDR&amp;diff=23876"/>
		<updated>2010-06-01T19:39:28Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Installation */ removed other install method on request of possy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Category:Software components]]&lt;br /&gt;
[[Category:Video]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
= The Video Disk Recorder =&lt;br /&gt;
VDR is a [[personal video recorder]] system aimed at the DVB market. It supports DVB-S, DVB-C and DVB-T tuner cards. More details can be found at the [http://www.cadsoftusa.com/vdr/ VDR homepage].&lt;br /&gt;
&lt;br /&gt;
It is the second PVR system integrated into LinuxMCE. The main aim is for a seamless integration into LinuxMCE. The UI should not change between VDR and the other LinuxMCE pieces. The first version of this integration wass scheduled for January 2008, and is mainly sponsored by [http://www.dianemo.co.uk Convergent Home Technologies Ltd].&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Recently I managed to setup VDR under LinuxMCE successfully. This brief howto is a result of my personal experience. Don&#039;t hesitate to improve it. &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
VDR should be selected using the setup wizard. If you did not select VDR during the initial configuration after installation Simply re-run the wizard (it&#039;s on the Advanced menu) and select VDR as the PVR. VDR will be installed automatically and will start after installation.&lt;br /&gt;
&lt;br /&gt;
[[Image:LMCE-software-modules.jpg|thumb|550px|left|LinuxMCE Software Modules]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt; &lt;br /&gt;
To make VDR configuration and manage easier its web interface - VDRAdmin can be used. It should be installed manually:&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install vdradmin-am&lt;br /&gt;
&lt;br /&gt;
and then enabled to be able run by replacing ENABLED=&amp;quot;0&amp;quot; by ENABLED=&amp;quot;1&amp;quot; in the &amp;lt;em&amp;gt;/etc/default/vdradmin-am&amp;lt;/em&amp;gt;. Also don&#039;t forget to add a new firewall rule for the port 8001 - &amp;lt;em&amp;gt;Advanced --&amp;gt;&amp;amp;gt; Network --&amp;amp;gt; Firewall Rules&amp;lt;/em&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Scanning for Channels ===&lt;br /&gt;
&lt;br /&gt;
To enable scanning for channels the DVB utilities package should also installed manually:&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
then do&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install dvb-utils&lt;br /&gt;
&lt;br /&gt;
==== Scanning for DVB-T Channels ====&lt;br /&gt;
&lt;br /&gt;
Firstly we need to stop VDR before we scan for channels;&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/vdr stop&lt;br /&gt;
&lt;br /&gt;
Above we installed the dvb-utils package and this will have installed the scan utility and tuning files for many DVB transmitters in various regions. Look for a transmitter in your region by looking in the following directory;&lt;br /&gt;
&lt;br /&gt;
  ls /usr/share/doc/dvb-utils/examples/scan/dvb-t&lt;br /&gt;
&lt;br /&gt;
You should now see something like this on your console;&lt;br /&gt;
&lt;br /&gt;
 au-Adelaide            fi-Ahtari          fi-Taivalkoski       se-Borlange                  se-Uddevalla&lt;br /&gt;
 au-Brisbane            fi-Ala-Vuokki      fi-Tammela           se-Emmaboda                  se-Uppsala&lt;br /&gt;
 au-canberra            fi-Ammansaari      fi-Tampere           se-Falun                     se-Vannas&lt;br /&gt;
 au-Darwin              fi-Anjalankoski    fi-Tervola           se-Gallivare                 se-Varberg&lt;br /&gt;
 au-GoldCoast           fi-Espoo           fi-Turku             se-Gavle                     se-Vasteras&lt;br /&gt;
 au-Hobart              fi-Eurajoki        fi-Utsjoki           se-Goteborg_Brudaremossen    se-Vastervik&lt;br /&gt;
 au-Mackay              fi-Fiskars         fi-Vaasa             se-Goteborg_Slattadamm       se-Visby&lt;br /&gt;
 au-Melbourne           fi-Haapavesi       fi-Vuokatti          se-Halmstad                  se-Vislanda&lt;br /&gt;
 au-Melbourne-Upwey     fi-Hetta           fi-Vuotso            se-Harnosand                 se-Ystad&lt;br /&gt;
 au-Perth               fi-Iisalmi         fi-Yllas             se-Helsingborg               tw-Taipei&lt;br /&gt;
 au-Sydney_Kings_Cross  fi-Inari           fr-Bordeaux          se-Horby                     uk-Angus&lt;br /&gt;
 au-sydney_north_shore  fi-Joutseno        fr-Brest             se-Hudiksvall                uk-Bilsdale&lt;br /&gt;
 au-Townsville          fi-Juntusranta     fr-LeMans            se-Jonkoping                 uk-BlackHill&lt;br /&gt;
 au-unknown             fi-Jyvaskyla       fr-Lyon-Fourviere    se-Kalix                     uk-BluebellHill&lt;br /&gt;
 cz-Praha               fi-Kaihuanvaara    fr-Lyon-Pilat        se-Karlshamn                 uk-Caradon&lt;br /&gt;
 de-Berlin              fi-Karigasniemi    fr-Marseille         se-Karlskrona                uk-CaradonHill&lt;br /&gt;
 de-Braunschweig        fi-Kaunispaa       fr-Nantes            se-Karlstad                  uk-Craigkelly&lt;br /&gt;
 de-Bremen              fi-Kerimaki        fr-Niort             se-Kiruna                    uk-CrystalPalace&lt;br /&gt;
 de-Erfurt-Weimar       fi-Kiihtelysvaara  fr-Orleans           se-Kisa                      uk-Dover&lt;br /&gt;
 de-Frankfurt           fi-Kilpisjarvi     fr-Paris             se-Kramfors                  uk-DoverB&lt;br /&gt;
 de-Hamburg             fi-Koli            fr-Rennes            se-Linkoping_Vattentorn      uk-Durris&lt;br /&gt;
 de-Hannover            fi-Kruunupyy       fr-Rouen             se-Malmo                     uk-EmleyMoor&lt;br /&gt;
 de-Kiel                fi-Kuopio          fr-Toulouse          se-Malmo_Kronprinsen         uk-Hannington&lt;br /&gt;
 de-Koeln-Bonn          fi-Kuttanen        fr-Vannes            se-Molndal_Vasterberget      uk-Heathfield&lt;br /&gt;
 de-Leipzig             fi-Lahti           hr-Zagreb            se-Mora                      uk-Llanddona&lt;br /&gt;
 de-Luebeck             fi-Lapua           is-Reykjavik         se-Motala                    uk-Mendip&lt;br /&gt;
 de-Muenchen            fi-Mikkeli         it-Bologna           se-Nassjo                    uk-Oxford&lt;br /&gt;
 de-Nuernberg           fi-Oulu            it-Bolzano           se-Norrkoping                uk-PontopPike&lt;br /&gt;
 de-Rostock             fi-Pello           it-Catania           se-Norrtalje_Sodra_Bergen    uk-Redruth&lt;br /&gt;
 de-Ruhrgebiet          fi-Pernaja         it-Conero            se-Orebro                    uk-Reigate&lt;br /&gt;
 de-Schwerin            fi-Pihtipudas      it-Genova            se-Ornskoldsvik              uk-Rowridge&lt;br /&gt;
 dk-Copenhagen          fi-Posio           it-Milano            se-Ostersund                 uk-SandyHeath&lt;br /&gt;
 es-Alfabia             fi-Pudasjarvi      it-Torino            se-Osthammar                 uk-Storeton&lt;br /&gt;
 es-Alpicat             fi-Puolanka        it-Varese            se-Skelleftea                uk-SudburyB&lt;br /&gt;
 es-Collserola          fi-Pyhatunturi     nl-AlphenaandenRijn  se-Skovde                    uk-SuttonColdfield&lt;br /&gt;
 es-Lugo                fi-Pyhavuori       nl-Randstad          se-Sodertalje_Ragnhildsborg  uk-TheWrekin&lt;br /&gt;
 es-Madrid              fi-Ranua           se-Alvsbyn           se-Stockholm_Marieberg       uk-TheWrekinB&lt;br /&gt;
 es-Mussara             fi-Rovaniemi       se-Angelholm         se-Stockholm_Nacka           uk-Waltham&lt;br /&gt;
 es-Rocacorba           fi-Ruka            se-Bollnas           se-Sundsvall                 uk-WhitehawkHill&lt;br /&gt;
 es-Sevilla             fi-Salla           se-Boras             se-Trollhattan               uk-WinterHill&lt;br /&gt;
&lt;br /&gt;
Once you have found the DVB-T transmitter for your region then use the line below to generate the VDR compatible channels.conf for that specific transmitter using the line below substituting &#039;uk-CrystalPalace&#039; with the name of your closest transmitter;&lt;br /&gt;
&lt;br /&gt;
 cd /home&lt;br /&gt;
 sudo scan -o vdr -p -u /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-CrystalPalace &amp;gt; channels.conf&lt;br /&gt;
&lt;br /&gt;
This will write the channels.conf file and also output data on all the found and tuned channels to the console. The scan process usually takes less than a minute but can take longer if you have a low quality signal in your area. Below is an example of the output for &#039;uk-CrystalPalace&#039; my local transmitter here in the UK showing the channels broadcast on all 6 MUX&#039;s;&lt;br /&gt;
&lt;br /&gt;
 scanning /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-CrystalPalace&lt;br /&gt;
 using &#039;/dev/dvb/adapter0/frontend0&#039; and &#039;/dev/dvb/adapter0/demux0&#039;&lt;br /&gt;
 initial transponder 505833333 0 3 9 1 0 0 0&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 505833:I999B8C34D999M16T2G32Y0:T:27500:&lt;br /&gt;
 0x0000 0x1044: pmt_pid 0x1044 BBC -- BBC ONE (running)&lt;br /&gt;
 0x0000 0x1084: pmt_pid 0x1084 BBC -- BBC TWO (running)&lt;br /&gt;
 0x0000 0x10ff: pmt_pid 0x10ff BBC -- BBC THREE (running)&lt;br /&gt;
 0x0000 0x113f: pmt_pid 0x113f BBC -- BBC NEWS 24 (running)&lt;br /&gt;
 0x0000 0x117f: pmt_pid 0x117f BBC -- BBCi (running)&lt;br /&gt;
 0x0000 0x123f: pmt_pid 0x123f BBC -- CBBC Channel (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 481833:I999B8C23D12M64T2G32Y0:T:27500:&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 0x2005 0x2045: pmt_pid 0x0100 ITV -- ITV1 (running)&lt;br /&gt;
 0x2005 0x2066: pmt_pid 0x0104 ITV -- ITV3 (running)&lt;br /&gt;
 0x2005 0x2085: pmt_pid 0x0102 ITV -- ITV2 (running)&lt;br /&gt;
 0x2005 0x20a1: pmt_pid 0x0116 ITV -- ITV4 (running)&lt;br /&gt;
 0x2005 0x20c0: pmt_pid 0x0108 Channel 4 TV -- Channel 4 (running)&lt;br /&gt;
 0x2005 0x20fa: pmt_pid 0x010e Channel 4 TV -- More 4 (running)&lt;br /&gt;
 0x2005 0x2100: pmt_pid 0x010b Channel 4 TV -- E4 (running)&lt;br /&gt;
 0x2005 0x2104: pmt_pid 0x010c Channel 4 TV -- Channel 4+1 (running)&lt;br /&gt;
 0x2005 0x2145: pmt_pid 0x0110 Teletext Limited -- Teletext (running)&lt;br /&gt;
 0x2005 0x21c3: pmt_pid 0x0112 Teletext Limited -- Teletext Cars (running)&lt;br /&gt;
 0x2005 0x2240: pmt_pid 0x0114 Channel 4 TV -- Teletext on 4 (running)&lt;br /&gt;
 0x2005 0x2244: pmt_pid 0x011c Global Radio -- Heart (running)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 561833:I999B8C23D12M64T2G32Y0:T:27500:&lt;br /&gt;
 0x3002 0x3242: pmt_pid 0x0101 five -- Five (running)&lt;br /&gt;
 0x3002 0x3280: pmt_pid 0x0113 five -- Five Life (running)&lt;br /&gt;
 0x3002 0x32c0: pmt_pid 0x0117 five -- Five US (running)&lt;br /&gt;
 0x3002 0x3340: pmt_pid 0x0103 QVC -- QVC (running)&lt;br /&gt;
 0x3002 0x37c0: pmt_pid 0x0105 Sit-Up Ltd -- bid tv (running)&lt;br /&gt;
 0x3002 0x3900: pmt_pid 0x010a EMAP -- Smash Hits! (running)&lt;br /&gt;
 0x3002 0x3940: pmt_pid 0x010b EMAP -- MOJO (running)&lt;br /&gt;
 0x3002 0x39c0: pmt_pid 0x010c Teletext Limited -- Ttext Holidays (running)&lt;br /&gt;
 0x3002 0x3a80: pmt_pid 0x010e five -- UKTV Style (running, scrambled)&lt;br /&gt;
 0x3002 0x3b80: pmt_pid 0x0112 five -- TVX / RED HOT (running)&lt;br /&gt;
 0x3002 0x3cc0: pmt_pid 0x0114 five -- UKTV Gold (running, scrambled)&lt;br /&gt;
 0x3002 0x3d00: pmt_pid 0x0115 Sit-Up Ltd -- price-drop tv (running)&lt;br /&gt;
 0x3002 0x3dc0: pmt_pid 0x0118 five -- Teachers TV (running)&lt;br /&gt;
 0x3002 0x3e20: pmt_pid 0x0124 Turner Broadcasting System Europe Limited -- Nuts TV (running)&lt;br /&gt;
 0x3002 0x3e80: pmt_pid 0x011d five -- Eurosport UK (running, scrambled)&lt;br /&gt;
 0x3002 0x3ea0: pmt_pid 0x0104 ITV -- CITV (running)&lt;br /&gt;
 0x3002 0x3ee0: pmt_pid 0x011c ITV -- SETANTA SPORTS (running)&lt;br /&gt;
 0x3002 0x3f00: pmt_pid 0x011b Teletext Limited -- Teletext Games (running)&lt;br /&gt;
 0x3002 0x3f20: pmt_pid 0x0125 The Jewellery Channel -- Jewellery Chan (running)&lt;br /&gt;
 0x3002 0x3f60: pmt_pid 0x0120 TopUp TV Ltd -- TopUp Anytime1 (running, scrambled)&lt;br /&gt;
 0x3002 0x3f80: pmt_pid 0x0121 TopUp TV Ltd -- TopUp Anytime2 (running, scrambled)&lt;br /&gt;
 0x3002 0x3fa0: pmt_pid 0x0122 TopUp TV Ltd -- TopUp Anytime3 (running, scrambled)&lt;br /&gt;
 WARNING: filter timeout pid 0x0010&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 529833:I999B8C34D34M16T2G32Y0:T:27500:&lt;br /&gt;
 0x4000 0x4280: pmt_pid 0x02ca BBC -- BBC Parliament (running)&lt;br /&gt;
 0x4000 0x41c0: pmt_pid 0x02be BBC -- BBC FOUR (running)&lt;br /&gt;
 0x4000 0x4240: pmt_pid 0x02bf BBC -- CBeebies (running)&lt;br /&gt;
 0x4000 0x4600: pmt_pid 0x02c0 BBC -- BBC R5 Live (running)&lt;br /&gt;
 0x4000 0x4640: pmt_pid 0x02c1 BBC -- BBC 5L SportsX (running)&lt;br /&gt;
 0x4000 0x4680: pmt_pid 0x02c2 BBC -- BBC 6 Music (running)&lt;br /&gt;
 0x4000 0x46c0: pmt_pid 0x02c3 BBC -- BBC 7 (running)&lt;br /&gt;
 0x4000 0x4700: pmt_pid 0x02c4 BBC -- 1Xtra BBC (running)&lt;br /&gt;
 0x4000 0x4740: pmt_pid 0x02c5 BBC -- BBC Asian Net. (running)&lt;br /&gt;
 0x4000 0x4c00: pmt_pid 0x02c6 BBC -- 301 (running)&lt;br /&gt;
 0x4000 0x4c40: pmt_pid 0x02c7 BBC -- 302 (running)&lt;br /&gt;
 0x4000 0x4c80: pmt_pid 0x02c8 BBC -- 303 (running)&lt;br /&gt;
 0x4000 0x4180: pmt_pid 0x02bd BBC -- 305 (running)&lt;br /&gt;
 0x4000 0x4e00: pmt_pid 0x02c9 BBC -- Community (running)&lt;br /&gt;
 0x4000 0x4840: pmt_pid 0x02cb BBC -- BBC Radio 1 (running)&lt;br /&gt;
 0x4000 0x4880: pmt_pid 0x02cc BBC -- BBC Radio 2 (running)&lt;br /&gt;
 0x4000 0x48c0: pmt_pid 0x02cd BBC -- BBC Radio 3 (running)&lt;br /&gt;
 0x4000 0x4900: pmt_pid 0x02ce BBC -- BBC Radio 4 (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 578166:I999B8C34D34M16T2G32Y0:T:27500:&lt;br /&gt;
 0x5000 0x5740: pmt_pid 0x02c1 Channel 4 TV -- E4+1 (running)&lt;br /&gt;
 0x5000 0x5640: pmt_pid 0x02bd Sky -- Sky News (running)&lt;br /&gt;
 0x5000 0x5680: pmt_pid 0x02be Sky -- Sky Spts News (running)&lt;br /&gt;
 0x5000 0x56c0: pmt_pid 0x02bf Sky -- SKY THREE (running)&lt;br /&gt;
 0x5000 0x5840: pmt_pid 0x02c2 talkSPORT -- talkSPORT (running)&lt;br /&gt;
 0x5000 0x5c80: pmt_pid 0x02cd Sky -- Sky Text (running)&lt;br /&gt;
 0x5000 0x5a40: pmt_pid 0x02ca Virgin Radio -- Virgin Radio (running)&lt;br /&gt;
 0x5000 0x5cc0: pmt_pid 0x02cf yoomedia -- tvtv DIGITAL (running)&lt;br /&gt;
 0x5000 0x5700: pmt_pid 0x02c0 UKTV -- Dave (running)&lt;br /&gt;
 0x5000 0x5780: pmt_pid 0x02cc Square1 Management Ltd -- smileTV (running)&lt;br /&gt;
 0x5000 0x59c0: pmt_pid 0x02c8 London Christian Radio Ltd -- Premier Radio (running)&lt;br /&gt;
 0x5000 0x5a00: pmt_pid 0x02c9 Score Digital -- Clyde 1 (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tune to: 537833:I999B8C34D34M16T2G32Y0:T:27500:&lt;br /&gt;
 0x6000 0x6440: pmt_pid 0x03e9 EMAP -- The HITS (running)&lt;br /&gt;
 0x6000 0x6480: pmt_pid 0x03ea MTV Europe -- TMF (running)&lt;br /&gt;
 0x6000 0x64c0: pmt_pid 0x03eb UKTV -- UKTV History (running)&lt;br /&gt;
 0x6000 0x6500: pmt_pid 0x03ec Flextech -- Virgin1 (running)&lt;br /&gt;
 0x6000 0x6540: pmt_pid 0x03ed CCI -- Ideal World (running)&lt;br /&gt;
 0x6000 0x6640: pmt_pid 0x03fd EMAP -- Kiss (running)&lt;br /&gt;
 0x6000 0x66c0: pmt_pid 0x03ff EMAP -- Kerrang! (running)&lt;br /&gt;
 0x6000 0x6700: pmt_pid 0x0400 GMG -- SMOOTH RADIO (running)&lt;br /&gt;
 0x6000 0x67c0: pmt_pid 0x0403 EMAP -- The Hits Radio (running)&lt;br /&gt;
 0x6000 0x6800: pmt_pid 0x0404 EMAP -- Magic (running)&lt;br /&gt;
 0x6000 0x6840: pmt_pid 0x0405 EMAP -- Q (running)&lt;br /&gt;
 0x6000 0x6980: pmt_pid 0x0407 4TV Ltd -- 4TVinteractive (running)&lt;br /&gt;
 0x6000 0x69c0: pmt_pid 0x03ee ITV -- ITV2 +1 (running)&lt;br /&gt;
 0x6000 0x6a00: pmt_pid 0x03f0 Channel 4 TV -- Film4 (running)&lt;br /&gt;
 0x6000 0x6780: pmt_pid 0x0402 BBC -- BBC World Sv. (running)&lt;br /&gt;
 0x6000 0x6680: pmt_pid 0x03fe EMAP -- heat (running)&lt;br /&gt;
 0x6000 0x6a40: pmt_pid 0x03f1 Channel 4 -- Gems TV (running)&lt;br /&gt;
 0x6000 0x6a80: pmt_pid 0x03f2 Camelot Group plc -- Lottery Xtra (running)&lt;br /&gt;
 Network Name &#039;Crystal Palace&#039;&lt;br /&gt;
 dumping lists (90 services)&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
Below is an example of the first few lines of the &#039;channels.conf&#039; that was produced by the example above. Notice that the channels are grouped by MUX and not by their UK LCN (Logical Channel Number) which are the numbers with the &#039;@&#039; in front on alternate lines. &lt;br /&gt;
&lt;br /&gt;
 :@1&lt;br /&gt;
 BBC - BBC ONE:505833:I999B8C34D34M16T2G32Y0:T:27500:600:601,602:0:0:4164:0:0:0&lt;br /&gt;
 :@2&lt;br /&gt;
 BBC - BBC TWO:505833:I999B8C34D34M16T2G32Y0:T:27500:610:611,612:0:0:4228:0:0:0&lt;br /&gt;
 :@80&lt;br /&gt;
 BBC - BBC NEWS 24:505833:I999B8C34D34M16T2G32Y0:T:27500:640:641:0:0:4415:0:0:0&lt;br /&gt;
 :@70&lt;br /&gt;
 BBC - CBBC Channel:505833:I999B8C34D34M16T2G32Y0:T:27500:620:621,622:0:0:4671:0:0:0&lt;br /&gt;
 :@3&lt;br /&gt;
 ITV - ITV1:481833:I999B8C23D12M64T2G32Y0:T:27500:520:521,522:0:0:8261:0:0:0&lt;br /&gt;
 :@6&lt;br /&gt;
 ITV - ITV2:481833:I999B8C23D12M64T2G32Y0:T:27500:530:531,532:0:0:8325:0:0:0&lt;br /&gt;
 :@10&lt;br /&gt;
 ITV - ITV3:481833:I999B8C23D12M64T2G32Y0:T:27500:540:541,542:0:0:8294:0:0:0&lt;br /&gt;
 :@102&lt;br /&gt;
 Teletext Limited - Teletext Cars:481833:I999B8C23D12M64T2G32Y0:T:27500:0:789:0:0:8643:0:0:0&lt;br /&gt;
 :@4&lt;br /&gt;
 Channel 4 TV - Channel 4:481833:I999B8C23D12M64T2G32Y0:T:27500:560+8190:561,562:0:0:8384:0:0:0&lt;br /&gt;
 :@13&lt;br /&gt;
 Channel 4 TV - Channel 4+1:481833:I999B8C23D12M64T2G32Y0:T:27500:580+8190:581,582:0:0:8452:0:0:0&lt;br /&gt;
 :@29&lt;br /&gt;
 Channel 4 TV - E4:481833:I999B8C23D12M64T2G32Y0:T:27500:570+8190:571,572:0:0:8448:0:0:0&lt;br /&gt;
 :@14&lt;br /&gt;
 Channel 4 TV - More 4:481833:I999B8C23D12M64T2G32Y0:T:27500:590+8190:591,592:0:0:8442:0:0:0&lt;br /&gt;
 :@28&lt;br /&gt;
 ITV - ITV4:481833:I999B8C23D12M64T2G32Y0:T:27500:600:601:0:0:8353:0:0:0&lt;br /&gt;
 (null) - [2243]:481833:I999B8C23D12M64T2G32Y0:T:27500:0:621:0:0:8771:0:0:0&lt;br /&gt;
 :@728&lt;br /&gt;
 Global Radio - Heart:481833:I999B8C23D12M64T2G32Y0:T:27500:0:631:0:0:8772:0:0:0&lt;br /&gt;
&lt;br /&gt;
VDR will load the channels into the EPG in the order that they are listed in the &#039;channels.conf&#039;. So for example in the UK you might want to &#039;sort&#039; the lines in the &#039;channels.conf&#039; based on their LCN before loading them into VDR... although the &#039;channels.conf&#039; will work fine without this.  Here is a command which will create a new &#039;channels-sorted.conf&#039; file from the original, sorted by LCN:&lt;br /&gt;
&lt;br /&gt;
  perl -0777ne &#039;print for sort{($a=~/^:@(\d+)/)[0]&amp;lt;=&amp;gt;($b=~/^:@(\d+)/)[0]}split/(?=^:@)/m&#039; channels.conf &amp;gt; channels-sorted.conf&lt;br /&gt;
  mv channels-sorted.conf channels.conf&lt;br /&gt;
&lt;br /&gt;
Now that you have a good &#039;channels.conf&#039; for your local DVB-T transmitter you need to load it into VDR. So just upload the new &#039;channels.conf&#039; file using LinuxMCE&#039;s Web Admin site - go to Advanced –&amp;gt; Configuration –&amp;gt; VDR and use the &#039;Browse&#039; button next to &#039;Upload custom file&#039; to find where you created your &#039;channels.conf&#039; file and click &#039;Upload&#039;. Now restart vdr from the console;&lt;br /&gt;
 sudo /etc/init.d/vdr restart&lt;br /&gt;
Now use the following command to check that vdr is running;&lt;br /&gt;
 /etc/init.d/vdr status&lt;br /&gt;
You should see the line below;&lt;br /&gt;
 Getting status of Linux Video Disk Recorder   -= LMCE VERSION 0710-10 =- : vdr - is running.&lt;br /&gt;
Now the acid test...go to your LinuxMCE Orbiter and select &#039;TV&#039; from the &#039;Media&#039; menu to see a live picture and your all done.&lt;br /&gt;
==== Scanning for DVB-S Channels ====&lt;br /&gt;
&amp;lt;strong&amp;gt;Configuration&amp;lt;/strong&amp;gt;&lt;br /&gt;
To configure VDR we should get the list of all available channels for desire satellite. You can find it somewhere or create using DVB utility &amp;lt;strong&amp;gt;scan&amp;lt;/strong&amp;gt;. To do that we need the list of transponders stored as INI file. Get it from the [http://joshyfun.peque.org/transponders/index.html JoshyFun&#039;s site]. Store it somewhere on your LinuxMCE core. In my case I use the INI file for [http://joshyfun.peque.org/transponders/0130.ini Hotbird]. &lt;br /&gt;
&lt;br /&gt;
Before scanning stop VDR:&lt;br /&gt;
    sudo /etc/init.d/vdr stop&lt;br /&gt;
and start scanning procedure:&lt;br /&gt;
    scan -o vdr -p -x 0 0130.ini &amp;gt; channels.conf&lt;br /&gt;
It might take about 10-20 minutes depends on the number of available channels on your satellite. When scanning is finished just upload the created channels.conf file via Admin site - &amp;lt;em&amp;gt;Advanced --&amp;amp;gt; Configuration --&amp;amp;gt; VDR&amp;lt;/em&amp;gt;. And then pickup your satellite from the list (see picture above).&lt;br /&gt;
[[Image:LMCE-VDR-config.jpg|thumb|550px|left|LinuxMCE VDR Configuration Screen]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt; &lt;br /&gt;
Quick reload router (most probably is not needed) and press button &amp;lt;strong&amp;gt;TV&amp;lt;/strong&amp;gt; on the on-screen Orbiter. You should be able to watch live TV. To navigate on that screen use F6, F7 and F8 buttons on your keyboard, Gyration mouse or Fiire remote. Additionally you can switch channels, see EPG and schedule recording from VDRAdmin web interface. &lt;br /&gt;
===Enable Dolby Digital Audio in xinelibout===&lt;br /&gt;
&lt;br /&gt;
 sudo -s&lt;br /&gt;
 ssh moonXX (where XX is the number of your MD)&lt;br /&gt;
Then start alsamixer on the commandline and press the right arrow on the keyboard until you get till &amp;quot;IEC958&amp;quot;. If this is muted (says MM) then press the &amp;quot;m&amp;quot; button on the keyboard and the ESC key to save.&lt;br /&gt;
&lt;br /&gt;
Then stop vdr :&lt;br /&gt;
 /etc/init.d/vdr stop&lt;br /&gt;
&lt;br /&gt;
and edit /etc/vdr/setup.conf and change the following lines to look like this :&lt;br /&gt;
 xineliboutput.Audio.Port = iec958&lt;br /&gt;
 xineliboutput.Audio.Speakers = Pass Through&lt;br /&gt;
 CurrentDolby = 1&lt;br /&gt;
 UseDolbyDigital = 1&lt;br /&gt;
&lt;br /&gt;
And if you also want to record Dolby Digital  then also change :&lt;br /&gt;
 RecordDolbyDigital = 1&lt;br /&gt;
&lt;br /&gt;
After saving the changes, restart vdr :&lt;br /&gt;
 /etc/init.d/vdr start&lt;br /&gt;
&lt;br /&gt;
Now you can replay recordings with Dolby Digital Audio&lt;br /&gt;
&lt;br /&gt;
/Viking&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
If VDR works not as you expect you can do following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Check VDR log - /var/log/pluto/&amp;amp;lt;ID_VDR_IN_YOUR_SYSTEM&amp;amp;gt;_VDR.log&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Check if everything ok with your DVB card:&lt;br /&gt;
       &amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;lspci&amp;lt;/strong&amp;gt; - you should see your card in the list of PCI devices&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;dmesg|grep -i dvb&amp;lt;/strong&amp;gt; - if driver if your DVB card is loaded correctly you will see it here. Note that in some cases you should place a firmware for your card into &amp;lt;em&amp;gt;/lib/firmware&amp;lt;/em&amp;gt;!&amp;lt;/li&amp;gt; &lt;br /&gt;
       &amp;lt;/ul&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== MCE Remote Functions ===&lt;br /&gt;
The MCE Remote button functions listed below are for lmcevdr-v10.&lt;br /&gt;
==== What do the buttons do? ====&lt;br /&gt;
[[Image:MCE-Remote-2.jpg|frame|50px|left|MCE IR Remote]]&lt;br /&gt;
==== TV Off ====&lt;br /&gt;
Not implemented currently&lt;br /&gt;
==== PC Off ====&lt;br /&gt;
When the menu bar is displayed or the screen saver is displaying images this button will power off the Core or any Media Directors that have IR remote control features. In VDR this button stops the Live TV picture (any scheduled recordings will be unaffected).&lt;br /&gt;
==== Record ====&lt;br /&gt;
Pressing this button when watching Live TV will start an &#039;Instant Recording&#039;.&lt;br /&gt;
==== Stop ====&lt;br /&gt;
Pressing this button will stop the playback of a recording and return you to the Live TV picture on the channel you were watching previously.&lt;br /&gt;
==== Pause ====&lt;br /&gt;
When you have a Live TV picture on the screen pressing this button will &#039;Pause Live TV&#039; and start recording - pressing this button again will un-pause the picture and start playing the recording while continuing to record the live transmission. If you are watching a recording and you press this button the playback of the recording will stop and the picture will &#039;freeze&#039; on the screen. Pressing this button again will continue the playback of the recording again.&lt;br /&gt;
==== Rew ====&lt;br /&gt;
Rewinds a recording. There are 3 Rew speeds - pressing this button once gives you speed 1, press it again for speed 2 and a third time for speed 3. This button does nothing when watching Live TV.&lt;br /&gt;
==== Play ====&lt;br /&gt;
Pressing this button in &#039;Pause&#039; mode plays the paused recording and pressing it again will &#039;Pause&#039; the playback again.&lt;br /&gt;
==== Fwd ====&lt;br /&gt;
Fast Forwards a recording. There are 3 Fwd speeds - pressing this button once gives you speed 1, press it again for speed 2 and a third time for speed 3. This button does nothing when watching Live TV.&lt;br /&gt;
==== Replay ====&lt;br /&gt;
Press to jump back 1 min in a recording. Press repeatedly to jump back quickly through a recording.&lt;br /&gt;
==== Skip ====&lt;br /&gt;
Press to Skip forward 1 min in a recording. Press repeatedly to jump forward quickly through a recording.&lt;br /&gt;
==== Back ====&lt;br /&gt;
Takes you back to the last VDR on-screen menu if watching Live TV or a Recording and back to previous on-screen menu if an a VDR on-screen menu is already displayed.&lt;br /&gt;
==== More Info ====&lt;br /&gt;
Press once to display &#039;Info screen&#039; for a Live Channel or a Recording. Press again to cancel &#039;Info screen&#039;.&lt;br /&gt;
==== Up Arrow ====&lt;br /&gt;
While watching Live TV does a Channel Up. In on-screen menu moves to the menu option above.&lt;br /&gt;
==== Left Arrow ====&lt;br /&gt;
When watching a recording is equivalent to pressing &#039;Rewind&#039;. In on-screen Schedule menu moves backwards in time.&lt;br /&gt;
==== OK ====&lt;br /&gt;
Pressing this button when Live TV displays the mini on-screen guide for 5 secs at the bottom of the screen. When playing a recording pressing this button displays the playback progress panel at the bottom of the screen. Press again to hide the playback progress panel.&lt;br /&gt;
==== Right Arrow ====&lt;br /&gt;
When watching a recording is equivalent to pressing &#039;Fwd&#039;. In on-screen Schedule menu pressing this button moves forwards in time.&lt;br /&gt;
==== Down Arrow ====&lt;br /&gt;
While watching Live TV pressing this button does a Channel Down. In VDR on-screen menu moves pressing this button moves you to the menu option below. When watching a recording is equivalent to pressing &#039;Pause&#039;.&lt;br /&gt;
==== Vol - (+) (-) ====&lt;br /&gt;
Increase or Decrease volume.&lt;br /&gt;
==== Green Start Button ====&lt;br /&gt;
Displays LinuxMCE Menu Bar.&lt;br /&gt;
==== Channel - (+) (-) ====&lt;br /&gt;
Increases or Decreases the Channel number and then changes to that Live TV channel&lt;br /&gt;
==== Mute ====&lt;br /&gt;
Pressing this button repeatedly toggles between Muted sound, on-screen subtitles and un-muted sound.&lt;br /&gt;
==== Recorded TV ====&lt;br /&gt;
Displays the VDR TV Recordings screen. Use Back repeatedly to back out of on-screen menus and get back to Live TV.&lt;br /&gt;
==== Guide ====&lt;br /&gt;
Displays the on-screen EPG Guide for the currently tuned channel. Use Colour buttons to Record, View Progs, Now &amp;amp; Next, Schedule &amp;amp; Next.&lt;br /&gt;
==== Live TV ====&lt;br /&gt;
Turns on Live TV or if already watching Live TV displays the on-screen EPG.&lt;br /&gt;
==== DVD Menu ====&lt;br /&gt;
When watching Live TV displays Channel List.&lt;br /&gt;
==== 1,2,3,4,5,6,7,8,9,*,0,# ====&lt;br /&gt;
Use to choose channel number directly in Live TV or to jump to on-screen menu items directly when an on-screen menu is displayed.&lt;br /&gt;
==== Clear ====&lt;br /&gt;
Currently unused&lt;br /&gt;
==== Enter ====&lt;br /&gt;
Equivalent to pressing &#039;OK&#039;&lt;br /&gt;
==== Text ====&lt;br /&gt;
Currently unused&lt;br /&gt;
==== Red ====&lt;br /&gt;
In Live TV displays Recordings menu. In VDR menus does the &#039;Red&#039; labeled function.&lt;br /&gt;
==== Green ====&lt;br /&gt;
In Live TV displays Channels on-screen menu. In on-screen menus does the &#039;Green&#039; labeled function.&lt;br /&gt;
==== Yellow ====&lt;br /&gt;
In Live TV displays Info on-screen menu. In on-screen menus does the &#039;Yellow&#039; labeled function.&lt;br /&gt;
==== Blue ====&lt;br /&gt;
In Live TV displays Timers on-screen menu. In on-screen menus does the &#039;Yellow&#039; labeled function.&lt;br /&gt;
== Adding your own plugins to vdr ==&lt;br /&gt;
===Installing vdr-dev===&lt;br /&gt;
If you want to build and add plugins to vdr you need to install the vdr-dev package. Open a console session at your core or ssh in from another machine and do;&lt;br /&gt;
 apt-get install vdr-dev&lt;br /&gt;
Now follow the instructions for building the plugin you are interested in.&lt;br /&gt;
== Manual Installation ==&lt;br /&gt;
For details on manually installing VDR please look in [[VDR Manual Install]].&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://www.linuxtv.org/vdrwiki/index.php/Main_Page VDR Wiki (English)]&lt;br /&gt;
* [http://www.free-x.de/wiki/index.php VDR Wiki (Russian)]&lt;br /&gt;
* [http://allrussian.info/board.php?boardid=61 VDR Forum (Russian)]&lt;br /&gt;
* [http://www.vdr-portal.de VDR Portal (German)]&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Creating_a_Device_Template_for_a_Remote_that_uses_the_kernel_input_subsystem&amp;diff=23544</id>
		<title>Creating a Device Template for a Remote that uses the kernel input subsystem</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Creating_a_Device_Template_for_a_Remote_that_uses_the_kernel_input_subsystem&amp;diff=23544"/>
		<updated>2010-05-05T17:57:02Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: /* Controlled By Category */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Tutorials]]&lt;br /&gt;
== Criteria for using The Generic HID Interface ==&lt;br /&gt;
&lt;br /&gt;
The Remote in question must: &lt;br /&gt;
&lt;br /&gt;
* Expose itself as an input device, and have a file entry in /dev/input as eventX where X is the order in which the kernel discovered the device.&lt;br /&gt;
* Must emit EV_KEY packets, as specified by the Linux Input subsystem. &lt;br /&gt;
&lt;br /&gt;
Following these criteria, creating a device template is simple.&lt;br /&gt;
&lt;br /&gt;
== Adding Support for a new Remote ==&lt;br /&gt;
&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
&lt;br /&gt;
Press Keys on the remote, make note of which keys work, and which ones do not. &#039;&#039;&#039;You will only need to specify keys for the keys that do not work in your template.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Plug in device ===&lt;br /&gt;
&lt;br /&gt;
With orbiter started, plug in the device, and quick reload the router. &lt;br /&gt;
&lt;br /&gt;
=== Step 2: Find the Device # of the On-Screen Orbiter you are using. ===&lt;br /&gt;
&lt;br /&gt;
In the web admin, go to Advanced &amp;gt; Configuration &amp;gt; Devices.&lt;br /&gt;
&lt;br /&gt;
Select your media director from the top of the device tree. For the Core Hybrid, select Core/Hybrid under CORE.&lt;br /&gt;
&lt;br /&gt;
Select the On Screen Orbiter child. Get its device #. You will need this.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Tail the Orbiter Log looking for Generic HID events ===&lt;br /&gt;
&lt;br /&gt;
Open a shell on the media director on which you have the remote connected. &lt;br /&gt;
&lt;br /&gt;
Due to the sheer volume of data generated by the Orbiter log, we will need to filter it, looking specifically for GenericHIDInterface messages. This is simple with a grep command.&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/pluto/XX_LaunchOrbiter.sh.log | grep &amp;quot;GenericHIDInterface&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will start seeing GenericHIDInterface messages.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Press the keys that do not work ===&lt;br /&gt;
&lt;br /&gt;
Press the keys that do not work. If the Generic HID Interface is able to decode them, you will see messages similar to the following: &lt;br /&gt;
&lt;br /&gt;
10	06/27/09 22:00:33.856		GenericHIDInterface::DecodeEventInFD() Begin &amp;lt;0xb3232b90&amp;gt;&lt;br /&gt;
10	06/27/09 22:00:33.856		GenericHIDInterface::DecodeEventInFD code 20114 value 1. &amp;lt;0xb3232b90&amp;gt;&lt;br /&gt;
10	06/27/09 22:00:33.856		GenericHIDInterface::DecodeEventInFD() End &amp;lt;0xb3232b90&amp;gt;&lt;br /&gt;
10	06/27/09 22:00:34.048		GenericHIDInterface::DecodeEventInFD() Begin &amp;lt;0xb3232b90&amp;gt;&lt;br /&gt;
10	06/27/09 22:00:34.048		GenericHIDInterface::DecodeEventInFD code 20114 value 0. &amp;lt;0xb3232b90&amp;gt;&lt;br /&gt;
10	06/27/09 22:00:34.048		GenericHIDInterface::DecodeEventInFD() End &amp;lt;0xb3232b90&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you recieve the code, Make note of the code. Match this with the button you&#039;re intending to press, in your notes.&lt;br /&gt;
&lt;br /&gt;
Repeat this for all the buttons that do not work.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Open a notepad and write Configuration Device Data ===&lt;br /&gt;
&lt;br /&gt;
Open a notepad and take the codes you have written down, and pair them with buttons in the [[Remote Mapping Table]].&lt;br /&gt;
&lt;br /&gt;
The Lines should be like this:&lt;br /&gt;
&lt;br /&gt;
VolUp,20114,R[,Y]&lt;br /&gt;
&lt;br /&gt;
and should be one per line. Where the:&lt;br /&gt;
&lt;br /&gt;
* first value, is the symbol in the [[Remote Mapping Table]]&lt;br /&gt;
* second value, is the key code you determined by looking at the logs.&lt;br /&gt;
* third value is a key state, where:&lt;br /&gt;
** U = Button Up&lt;br /&gt;
** D = Button Down&lt;br /&gt;
** H = Button Held Down&lt;br /&gt;
** R = Button Repeats when Held Down.&lt;br /&gt;
* fourth value (optional) means that this key code should be honored even on screens which yield to the OS, examples of this screen include:&lt;br /&gt;
** DVD Menu&lt;br /&gt;
** Web Browser&lt;br /&gt;
** On-Screen navigation (think MythTV menus, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Step 6: Write the Mapping Device Data ===&lt;br /&gt;
&lt;br /&gt;
Press enter a few times, and enter the mapping device data. &lt;br /&gt;
&lt;br /&gt;
This device data is used to map one key code, to another. &lt;br /&gt;
&lt;br /&gt;
According to the 1812: Gyration Go Mouse template:&lt;br /&gt;
&lt;br /&gt;
 new line delimited list of events to replace with other events in the format: Event Type,ID=EventType,id&lt;br /&gt;
&lt;br /&gt;
To give an example:&lt;br /&gt;
&lt;br /&gt;
The Gyration 3101 emits a key code, 97, when the Windows button is pressed. This needs to be changed so the system interprets it as the key code for F7.&lt;br /&gt;
&lt;br /&gt;
so we add a mapping for it:&lt;br /&gt;
&lt;br /&gt;
 2,97=2,73&lt;br /&gt;
 3,97=3,73&lt;br /&gt;
&lt;br /&gt;
The code, 73, for F7, is coincidentally the xkeysym for F7. X Key symbols can be found using the &#039;&#039;&#039;xev&#039;&#039;&#039; utility, and reading the &amp;quot;code:&amp;quot; value when a key is pressed.&lt;br /&gt;
&lt;br /&gt;
You can also add mappings for mouse buttons. These have a event type of 4 and 5. So mapping mouse button 6 to F7 would be like this:&lt;br /&gt;
&lt;br /&gt;
 4,6=2,73&lt;br /&gt;
 5,6=3,73&lt;br /&gt;
&lt;br /&gt;
==== Wait, what are the 2, 3, 4 and 5 values? ====&lt;br /&gt;
&lt;br /&gt;
These are the Event Types.&lt;br /&gt;
&lt;br /&gt;
According to Orbiter.h:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
			typedef enum _EventType {&lt;br /&gt;
				QUIT,&lt;br /&gt;
				NOT_PROCESSED,&lt;br /&gt;
				BUTTON_DOWN, // keyboard&lt;br /&gt;
				BUTTON_UP, &lt;br /&gt;
				REGION_DOWN, // mouse&lt;br /&gt;
				REGION_UP,&lt;br /&gt;
				MOUSE_MOVE,&lt;br /&gt;
				MOUSE_RELATIVE_MOVE,&lt;br /&gt;
				HID,&lt;br /&gt;
				NONE&lt;br /&gt;
			} EventType;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since this is an enumerated type, starting from 0, 2 = BUTTON_DOWN, 3 = BUTTON_UP, 4 = REGION_DOWN, 5 = REGION_UP.&lt;br /&gt;
&lt;br /&gt;
=== Step 7: Make a New template, with all the compiled information ===&lt;br /&gt;
&lt;br /&gt;
Please read the general information on [[Device Templates]] before continuing.&lt;br /&gt;
&lt;br /&gt;
Go to the web admin, Advanced &amp;gt; Configuration &amp;gt; Device Templates.&lt;br /&gt;
&lt;br /&gt;
Select the appropriate Manufacturer. If it does not exist, make one. &lt;br /&gt;
&lt;br /&gt;
Select Remote Controls from the device category, or Gestural Remotes if it is a gyro-mouse. Basically, use an appropriate category.&lt;br /&gt;
&lt;br /&gt;
Select [Add Device]&lt;br /&gt;
&lt;br /&gt;
Select that this is a device that does not require any programming.  Name it appropriately.&lt;br /&gt;
&lt;br /&gt;
====Controlled By Category====&lt;br /&gt;
This device needs to be controlled via category &#039;&#039;&#039;Orbiters -&amp;gt; Standard Orbiter&#039;&#039;&#039;. So add that as a controlled via Device Category. Orbiter uses this relation to not only make the remote a child of the on-screen orbiter, but Orbiter expects to find remote controls in this category so it knows to appropriate them.&lt;br /&gt;
&lt;br /&gt;
====Configuration Device data====&lt;br /&gt;
add the following, with the Use Master List Defaults checked for all:&lt;br /&gt;
&lt;br /&gt;
* Configuration. Paste the Configuration device data from your notepad, here.&lt;br /&gt;
* Mapping. Paste the Mapping Device data from your notepad, here.&lt;br /&gt;
* Only One Per PC, set this to 1&lt;br /&gt;
* Auto Assign This to Parents Room, set this to 1&lt;br /&gt;
* PNP Create Without Prompting, set this to 1&lt;br /&gt;
* Immediate Reload isn&#039;t Necessary, set this to 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please be sure to put appropriate comments into the comments field. This is required.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Plug and Play====&lt;br /&gt;
&lt;br /&gt;
This is how LinuxMCE will detect the device. Since this is most likely, a USB device, you will need to put 0 in both the beginning and end MAC, as they will not be used.&lt;br /&gt;
&lt;br /&gt;
You will then need to fill out the Vendor/Model ID appropriately. You can grab this information using &#039;&#039;&#039;lsusb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For example: The Gyration Go Mouse and MCR Remote use a USB ID of 0c16:0002, where 0c16 is the vendor number, and 0002 is the model number. Enter this without the colon: &#039;&#039;&#039;0c160002&#039;&#039;&#039;. Write a suitable comment, and click the add button. &lt;br /&gt;
&lt;br /&gt;
You can then press the Save button, and the device template will be saved. You can then check this in anonymously, by using the sqlCVS functions in the web admin to check in your &#039;&#039;&#039;dce&#039;&#039;&#039; and &#039;&#039;&#039;ir&#039;&#039;&#039; repositories. Use the default credentials for an anonymous check in, and let us know in a trac ticket that you&#039;ve checked in a template.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Pvr-150_picture_quality_guide&amp;diff=17679</id>
		<title>Pvr-150 picture quality guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Pvr-150_picture_quality_guide&amp;diff=17679"/>
		<updated>2009-02-15T09:56:13Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: corrected path&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PVR-150 PICTURE QUALITY GUIDE ==&lt;br /&gt;
&lt;br /&gt;
The PVR-150 is one of the most common devices used to capture live analog TV broadcast. &lt;br /&gt;
After weeks of searching the internet and trying various settings I have finally got to a point where picture quality is almost identical to the picture you get watching your set top box connected directly to you TV.&lt;br /&gt;
&lt;br /&gt;
The first thing you need to take into account is that the picture quality is vary much dependent on the type of connection you are using on the card. I received the best results using the S-VIDEO connection, how ever it is a good idea to experiment with the various connections because in different countries there are different broadcast formats and you might find that using a different connection works better for you.&lt;br /&gt;
&lt;br /&gt;
====Next, launch MythTV, got to the &#039;&#039;&#039;Utilities/Setup --&amp;gt; Setup --&amp;gt; TV Settings --&amp;gt; Playback&#039;&#039;&#039;.====&lt;br /&gt;
&lt;br /&gt;
*On the first screen you&#039;ll see several options:&lt;br /&gt;
*Deselect the &#039;&#039;&#039;Deinterlace&#039;&#039;&#039; option. &lt;br /&gt;
*for &#039;&#039;&#039;Preferred Decoder&#039;&#039;&#039; choose &#039;&#039;&#039;libmpeg2&#039;&#039;&#039;&lt;br /&gt;
*Select &#039;&#039;&#039;Enable OpenGL&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
After that keep clicking &amp;quot;next until you get to the last screen and click &amp;quot;finish&amp;quot;. Failing to do so will leave your settings unsaved.&lt;br /&gt;
&lt;br /&gt;
 These settings should stop the OSD from tearing, how ever, at the time of writing this these settings do not survive a router reload.&lt;br /&gt;
&lt;br /&gt;
The next step is vary important as it is dealing with the picture quality and is the reason for writing this tutorial.&lt;br /&gt;
&lt;br /&gt;
====Still in the setup menu go to &#039;&#039;&#039;Recording Profiles --&amp;gt; Mpeg2 Encoders --&amp;gt; Default&#039;&#039;&#039;.====&lt;br /&gt;
&lt;br /&gt;
 The reason to use the default profile rather then the high quality one is that they are basically all the same until you change them.&lt;br /&gt;
 I always use the default one because I always want to get the best picture quality I can.&lt;br /&gt;
&lt;br /&gt;
On the second screen - &#039;&#039;&#039;picture size&#039;&#039;&#039; choose at least &#039;&#039;&#039;720X480&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 depending on your country, using a larger resolution might give you better quality so try it.&lt;br /&gt;
&lt;br /&gt;
*On the next screen: &lt;br /&gt;
*For &#039;&#039;&#039;Stream Type&#039;&#039;&#039; use &#039;&#039;&#039;DVD-Special 2&#039;&#039;&#039;. &lt;br /&gt;
*Set the regular bitrate to &#039;&#039;&#039;8000&#039;&#039;&#039; &lt;br /&gt;
*Set the max bitrate to &#039;&#039;&#039;12000&#039;&#039;&#039;, which the highest bitrate the card can handle.&lt;br /&gt;
&lt;br /&gt;
Once again, go thru all screens until you get to the last one and click finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now have a pretty good picture quality which is pretty close to direct TV picture quality (at least on my system).&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=17650</id>
		<title>HTTPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=17650"/>
		<updated>2009-02-10T19:12:56Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: enabled local host so lmce can connect to itselves ;-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HTTPS / SSL access on the outside =&lt;br /&gt;
&lt;br /&gt;
I am trying to setup https on the outside so Linuxmce can be used safely. Below is my setup.&lt;br /&gt;
&lt;br /&gt;
We start by creating a new password file (-c option) and adding a user (linux) with a password (test) to the password file:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -bc /etc/apache2/httpd.passwd linuxmce test&lt;br /&gt;
&lt;br /&gt;
(Use the same line without the -c to add additional users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/ssl&lt;br /&gt;
 openssl genrsa -des3 -out /root/ssl/server.key 4096&lt;br /&gt;
&lt;br /&gt;
(type a passwd twice)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key /root/ssl/server.key -out /root/ssl/server.csr &lt;br /&gt;
&lt;br /&gt;
(type your previous passwd once and then fill in the fields)&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;quot;Common Name (eg, YOUR name)&amp;quot; matches the registered fully qualified domain name of your box (or your IP address if you don&#039;t have one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -days 3650 -in /root/ssl/server.csr -signkey /root/ssl/server.key -out /root/ssl/server.crt &lt;br /&gt;
&lt;br /&gt;
 openssl rsa -in /root/ssl/server.key -out /root/ssl/server.key.insecure&lt;br /&gt;
 mv /root/ssl/server.key /root/ssl/server.key.secure&lt;br /&gt;
 mv /root/ssl/server.key.insecure /root/ssl/server.key &lt;br /&gt;
&lt;br /&gt;
You now have the following files in /root/ssl:&lt;br /&gt;
&lt;br /&gt;
server.crt: The self-signed server certificate.&lt;br /&gt;
server.csr: Server certificate signing request.&lt;br /&gt;
server.key: The private server key, does not require a password when starting Apache.&lt;br /&gt;
server.key.secure: The private server key, it does require a password when starting Apache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.key /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.crt /etc/apache2/ssl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to /etc/apache2/ports.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load&lt;br /&gt;
  ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf&lt;br /&gt;
&lt;br /&gt;
add the following in /etc/apache2/httpd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/server.crt&lt;br /&gt;
SSLCertificateKeyFile /etc/apache2/ssl/server.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;/*&amp;quot;&amp;gt;&lt;br /&gt;
#   Inside the subarea any Intranet access is allowed&lt;br /&gt;
#   but from the Internet only HTTPS + Strong-Cipher + Password&lt;br /&gt;
#   or the alternative HTTPS + Strong-Cipher + Client-Certificate&lt;br /&gt;
&lt;br /&gt;
#   If HTTPS is used, make sure a strong cipher is used.&lt;br /&gt;
#   Additionally allow client certs as alternative to basic auth.&lt;br /&gt;
SSLVerifyClient      optional&lt;br /&gt;
SSLVerifyDepth       1&lt;br /&gt;
SSLOptions           +FakeBasicAuth +StrictRequire&lt;br /&gt;
SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &amp;gt;= 128&lt;br /&gt;
&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
#RewriteEngine        on&lt;br /&gt;
#RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
#RewriteCond          %{HTTPS} !=on&lt;br /&gt;
#RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&lt;br /&gt;
#   Allow Network Access and/or Basic Auth&lt;br /&gt;
Satisfy              any&lt;br /&gt;
&lt;br /&gt;
#   Network Access Control&lt;br /&gt;
Order                deny,allow&lt;br /&gt;
Deny                 from all&lt;br /&gt;
Allow                from 192.168.80.0/24 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
#   HTTP Basic Authentication&lt;br /&gt;
AuthType             basic&lt;br /&gt;
AuthName             &amp;quot;LinuxMCE&amp;quot;&lt;br /&gt;
AuthUserFile         /etc/apache2/httpd.passwd&lt;br /&gt;
Require              valid-user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Since mythweb has it&#039;s own rewrites in a .htaccess file https redirection is enabled only on other urls&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;^/(?!mythweb).*&amp;quot;&amp;gt;&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
RewriteEngine        on&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^127\.0\.0\.[0-9]+$&lt;br /&gt;
RewriteCond          %{HTTPS} !=on&lt;br /&gt;
RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the top of httpd.conf add the fully qualified domain name of your box that you added by &amp;quot;Common Name (eg, YOUR name)&amp;quot; when creating the certificate:&lt;br /&gt;
&lt;br /&gt;
 ServerName linuxmce.yourdomain.com&lt;br /&gt;
&lt;br /&gt;
we have to change the beginning of vi /etc/apache2/sites-available/pluto to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then copy this file:&lt;br /&gt;
 cp /etc/apache2/sites-available/pluto /etc/apache2/sites-available/pluto443&lt;br /&gt;
&lt;br /&gt;
then change the beginnig to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make a symbolic link:&lt;br /&gt;
 ln -s /etc/apache2/sites-available/pluto443 /etc/apache2/sites-enabled/pluto443&lt;br /&gt;
&lt;br /&gt;
go to pluto web admin and to Advanced&amp;gt;Network&amp;gt;Firewall and add a new rule:&lt;br /&gt;
 tcp 443 443 core_input&lt;br /&gt;
&lt;br /&gt;
then run:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl restart&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=16733</id>
		<title>Torrentflux</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=16733"/>
		<updated>2008-12-16T17:43:10Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Torrentflux =&lt;br /&gt;
&lt;br /&gt;
I wanted to make the use of torrents a little easier. So  installed torrentflux (apt-get install torrentflux).&lt;br /&gt;
&lt;br /&gt;
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add to lines to the bottom of the sudoers file:&lt;br /&gt;
sudo vi /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/*&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to unrar something?&lt;br /&gt;
$rar = getRequestVar(&#039;rar&#039;);&lt;br /&gt;
if ($rar != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rar = stripslashes(stripslashes($rar));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;cd &amp;quot;. escapeshellarg(dirname($cfg[&amp;quot;path&amp;quot;] . $rar)) .&amp;quot;; /usr/bin/unrar x &amp;quot; . escapeshellarg($cfg[&amp;quot;path&amp;quot;] . $rar);&lt;br /&gt;
        passthru($command);&lt;br /&gt;
        session_write_close();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Are we to move something?&lt;br /&gt;
$move = getRequestVar(&#039;move&#039;);&lt;br /&gt;
if ($move != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $move = stripslashes(stripslashes($move));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;chmod -R 775 &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result = exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo chown root:public &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo mv &#039;&amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move . &amp;quot;&#039; &amp;quot; . &amp;quot;&#039;/home/public/data/videos/www/&#039;&amp;quot;;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Are we to rename something?&lt;br /&gt;
$rename = getRequestVar(&#039;rename&#039;);&lt;br /&gt;
$toname = getRequestVar(&#039;toname&#039;);&lt;br /&gt;
if ($rename != &amp;quot;&amp;quot; &amp;amp;&amp;amp; $toname != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
        echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; . $rename . &amp;quot; to: &amp;quot; . $toname . &amp;quot;&amp;amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rename  = stripslashes(stripslashes($rename));&lt;br /&gt;
        $toname = stripslashes(stripslashes($toname));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;mv &#039;&amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $rename . &amp;quot;&#039; &#039;&amp;quot; . $cfg[&amp;quot;path&amp;quot;] . &amp;quot;/&amp;quot; . $toname . &amp;quot;&#039;&amp;quot;;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; . &amp;quot;mv &#039;&amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $rename . &amp;quot;&#039; &#039;&amp;quot; . $cfg[&amp;quot;path&amp;quot;]  . &amp;quot;/&amp;quot; . $toname . &amp;quot;&#039;&amp;quot; . &amp;quot;&amp;amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then just below this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                echo &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;.$fileSize.&amp;quot; KB&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.date(&amp;quot;m-d-Y g:i a&amp;quot;, $timeStamp).&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
add this code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                if( 1 == 1 )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?dir=&amp;quot;.urlencode($dir).&amp;quot;&amp;amp;move=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;images/folder.png\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;move to linuxMCE\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                echo &amp;quot;&amp;lt;a href=\&amp;quot;javascript:popRename(&#039;&amp;quot; . urlencode(addslashes($dir.$entry))  .&amp;quot;&#039;);\&amp;quot;&amp;gt;rn&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                if( ( substr( strtolower($entry), -4 ) == &amp;quot;.rar&amp;quot; ) )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?rar=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;&amp;quot;.$image.&amp;quot;\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;unrar\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
after:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    $dirName = stripslashes($dirName);&lt;br /&gt;
&lt;br /&gt;
    if (isset($dir))&lt;br /&gt;
    {&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
put the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$javascript = &amp;lt;&amp;lt;&amp;lt;JSPOPRENAME&lt;br /&gt;
&amp;lt;script type=&#039;text/javascript&#039; language=&#039;javascript&#039;&amp;gt;&lt;br /&gt;
function popRename(name){&lt;br /&gt;
&lt;br /&gt;
        newwindow2=window.open(&#039;&#039;,&#039;name&#039;,&#039;height=100,width=550&#039;);&lt;br /&gt;
        var tmp = newwindow2.document;&lt;br /&gt;
        tmp.write(&#039;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;rename &#039; + name + &#039;&amp;lt;/title&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;script type=\&#039;text/javascript\&#039; language=\&#039;javascript\&#039;&amp;gt;function getname(obj) {&#039;);&lt;br /&gt;
        tmp.write(&#039;window.location=\&#039;dir.php?rename=&#039; + escape(name) + &#039;&amp;amp;toname=\&#039; + escape(obj.childNodes[0].value);&#039;);&lt;br /&gt;
        tmp.write(&#039;self.close();&#039;);&lt;br /&gt;
        tmp.write(&#039;}&amp;lt;/scr&#039; + &#039;ipt&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;type new name below and press enter&amp;lt;/p&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;form action=&amp;quot;javascript:getname(document.getElementById(\&#039;myform\&#039;));&amp;quot; name=&amp;quot;myform&amp;quot; id=&amp;quot;myform&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;input style=&amp;quot;width: 450px&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&#039; + name + &#039;&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;p&amp;gt;refresh the original page to see the results.&amp;lt;/p&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#039;);&lt;br /&gt;
        tmp.close();&lt;br /&gt;
} &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JSPOPRENAME;&lt;br /&gt;
&lt;br /&gt;
echo $javascript;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=16645</id>
		<title>HTTPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=16645"/>
		<updated>2008-12-10T10:56:41Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HTTPS / SSL access on the outside =&lt;br /&gt;
&lt;br /&gt;
I am trying to setup https on the outside so Linuxmce can be used safely. Below is my setup.&lt;br /&gt;
&lt;br /&gt;
We start by creating a new password file (-c option) and adding a user (linux) with a password (test) to the password file:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -bc /etc/apache2/httpd.passwd linuxmce test&lt;br /&gt;
&lt;br /&gt;
(Use the same line without the -c to add additional users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/ssl&lt;br /&gt;
 openssl genrsa -des3 -out /root/ssl/server.key 4096&lt;br /&gt;
&lt;br /&gt;
(type a passwd twice)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key /root/ssl/server.key -out /root/ssl/server.csr &lt;br /&gt;
&lt;br /&gt;
(type your previous passwd once and then fill in the fields)&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;quot;Common Name (eg, YOUR name)&amp;quot; matches the registered fully qualified domain name of your box (or your IP address if you don&#039;t have one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -days 3650 -in /root/ssl/server.csr -signkey /root/ssl/server.key -out /root/ssl/server.crt &lt;br /&gt;
&lt;br /&gt;
 openssl rsa -in /root/ssl/server.key -out /root/ssl/server.key.insecure&lt;br /&gt;
 mv /root/ssl/server.key /root/ssl/server.key.secure&lt;br /&gt;
 mv /root/ssl/server.key.insecure /root/ssl/server.key &lt;br /&gt;
&lt;br /&gt;
You now have the following files in /root/ssl:&lt;br /&gt;
&lt;br /&gt;
server.crt: The self-signed server certificate.&lt;br /&gt;
server.csr: Server certificate signing request.&lt;br /&gt;
server.key: The private server key, does not require a password when starting Apache.&lt;br /&gt;
server.key.secure: The private server key, it does require a password when starting Apache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.key /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.crt /etc/apache2/ssl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to /etc/apache2/ports.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load&lt;br /&gt;
  ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf&lt;br /&gt;
&lt;br /&gt;
add the following in /etc/apache2/httpd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/server.crt&lt;br /&gt;
SSLCertificateKeyFile /etc/apache2/ssl/server.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;/*&amp;quot;&amp;gt;&lt;br /&gt;
#   Inside the subarea any Intranet access is allowed&lt;br /&gt;
#   but from the Internet only HTTPS + Strong-Cipher + Password&lt;br /&gt;
#   or the alternative HTTPS + Strong-Cipher + Client-Certificate&lt;br /&gt;
&lt;br /&gt;
#   If HTTPS is used, make sure a strong cipher is used.&lt;br /&gt;
#   Additionally allow client certs as alternative to basic auth.&lt;br /&gt;
SSLVerifyClient      optional&lt;br /&gt;
SSLVerifyDepth       1&lt;br /&gt;
SSLOptions           +FakeBasicAuth +StrictRequire&lt;br /&gt;
SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &amp;gt;= 128&lt;br /&gt;
&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
#RewriteEngine        on&lt;br /&gt;
#RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
#RewriteCond          %{HTTPS} !=on&lt;br /&gt;
#RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&lt;br /&gt;
#   Allow Network Access and/or Basic Auth&lt;br /&gt;
Satisfy              any&lt;br /&gt;
&lt;br /&gt;
#   Network Access Control&lt;br /&gt;
Order                deny,allow&lt;br /&gt;
Deny                 from all&lt;br /&gt;
Allow                from 192.168.80.0/24&lt;br /&gt;
&lt;br /&gt;
#   HTTP Basic Authentication&lt;br /&gt;
AuthType             basic&lt;br /&gt;
AuthName             &amp;quot;LinuxMCE&amp;quot;&lt;br /&gt;
AuthUserFile         /etc/apache2/httpd.passwd&lt;br /&gt;
Require              valid-user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Since mythweb has it&#039;s own rewrites in a .htaccess file https redirection is enabled only on other urls&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;^/(?!mythweb).*&amp;quot;&amp;gt;&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
RewriteEngine        on&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
RewriteCond          %{HTTPS} !=on&lt;br /&gt;
RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the top of httpd.conf add the fully qualified domain name of your box that you added by &amp;quot;Common Name (eg, YOUR name)&amp;quot; when creating the certificate:&lt;br /&gt;
&lt;br /&gt;
 ServerName linuxmce.yourdomain.com&lt;br /&gt;
&lt;br /&gt;
we have to change the beginning of vi /etc/apache2/sites-available/pluto to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then copy this file:&lt;br /&gt;
 cp /etc/apache2/sites-available/pluto /etc/apache2/sites-available/pluto443&lt;br /&gt;
&lt;br /&gt;
then change the beginnig to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make a symbolic link:&lt;br /&gt;
 ln -s /etc/apache2/sites-available/pluto443 /etc/apache2/sites-enabled/pluto443&lt;br /&gt;
&lt;br /&gt;
go to pluto web admin and to Advanced&amp;gt;Network&amp;gt;Firewall and add a new rule:&lt;br /&gt;
 tcp 443 443 core_input&lt;br /&gt;
&lt;br /&gt;
then run:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl restart&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=16454</id>
		<title>HTTPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=HTTPS&amp;diff=16454"/>
		<updated>2008-12-03T13:34:10Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: New page: = HTTPS / SSL access on the outside =  I am trying to setup https on the outside so Linuxmce can be used safely. Below is my setup.  We start by creating a new password file (-c option) an...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HTTPS / SSL access on the outside =&lt;br /&gt;
&lt;br /&gt;
I am trying to setup https on the outside so Linuxmce can be used safely. Below is my setup.&lt;br /&gt;
&lt;br /&gt;
We start by creating a new password file (-c option) and adding a user (linux) with a password (test) to the password file:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -c /etc/apache2/httpd.passwd linuxmce test&lt;br /&gt;
&lt;br /&gt;
(Use the same line without the -c to add additional users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /root/ssl&lt;br /&gt;
 openssl genrsa -des3 -out /root/ssl/server.key 4096&lt;br /&gt;
&lt;br /&gt;
(type a passwd twice)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -key /root/ssl/server.key -out /root/ssl/server.csr &lt;br /&gt;
&lt;br /&gt;
(type your previous passwd once and then fill in the fields)&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;quot;Common Name (eg, YOUR name)&amp;quot; matches the registered fully qualified domain name of your box (or your IP address if you don&#039;t have one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -days 3650 -in /root/ssl/server.csr -signkey /root/ssl/server.key -out /root/ssl/server.crt &lt;br /&gt;
&lt;br /&gt;
 openssl rsa -in /root/ssl/server.key -out /root/ssl/server.key.insecure&lt;br /&gt;
 mv /root/ssl/server.key /root/ssl/server.key.secure&lt;br /&gt;
 mv /root/ssl/server.key.insecure /root/ssl/server.key &lt;br /&gt;
&lt;br /&gt;
You now have the following files in /root/ssl:&lt;br /&gt;
&lt;br /&gt;
server.crt: The self-signed server certificate.&lt;br /&gt;
server.csr: Server certificate signing request.&lt;br /&gt;
server.key: The private server key, does not require a password when starting Apache.&lt;br /&gt;
server.key.secure: The private server key, it does require a password when starting Apache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.key /etc/apache2/ssl&lt;br /&gt;
 cp /root/ssl/server.crt /etc/apache2/ssl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to /etc/apache2/ports.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load&lt;br /&gt;
  ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf&lt;br /&gt;
&lt;br /&gt;
add the following in /etc/apache2/httpd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/server.crt&lt;br /&gt;
SSLCertificateKeyFile /etc/apache2/ssl/server.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;/*&amp;quot;&amp;gt;&lt;br /&gt;
#   Inside the subarea any Intranet access is allowed&lt;br /&gt;
#   but from the Internet only HTTPS + Strong-Cipher + Password&lt;br /&gt;
#   or the alternative HTTPS + Strong-Cipher + Client-Certificate&lt;br /&gt;
&lt;br /&gt;
#   If HTTPS is used, make sure a strong cipher is used.&lt;br /&gt;
#   Additionally allow client certs as alternative to basic auth.&lt;br /&gt;
SSLVerifyClient      optional&lt;br /&gt;
SSLVerifyDepth       1&lt;br /&gt;
SSLOptions           +FakeBasicAuth +StrictRequire&lt;br /&gt;
SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &amp;gt;= 128&lt;br /&gt;
&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
#RewriteEngine        on&lt;br /&gt;
#RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
#RewriteCond          %{HTTPS} !=on&lt;br /&gt;
#RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&lt;br /&gt;
#   Allow Network Access and/or Basic Auth&lt;br /&gt;
Satisfy              any&lt;br /&gt;
&lt;br /&gt;
#   Network Access Control&lt;br /&gt;
Order                deny,allow&lt;br /&gt;
Deny                 from all&lt;br /&gt;
Allow                from 192.168.80.0/24&lt;br /&gt;
&lt;br /&gt;
#   HTTP Basic Authentication&lt;br /&gt;
AuthType             basic&lt;br /&gt;
AuthName             &amp;quot;LinuxMCE&amp;quot;&lt;br /&gt;
AuthUserFile         /etc/apache2/httpd.passwd&lt;br /&gt;
Require              valid-user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Since mythweb has it&#039;s own rewrites in a .htaccess file https redirection is enabled only on other urls&lt;br /&gt;
&amp;lt;LocationMatch &amp;quot;^/(?!mythweb).*&amp;quot;&amp;gt;&lt;br /&gt;
#   Force clients from the Internet to use HTTPS&lt;br /&gt;
RewriteEngine        on&lt;br /&gt;
RewriteCond          %{REMOTE_ADDR} !^192\.168\.80\.[0-9]+$&lt;br /&gt;
RewriteCond          %{HTTPS} !=on&lt;br /&gt;
RewriteRule ^/(.*) https://%{SERVER_NAME}/$2 [R,L]&lt;br /&gt;
&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the top of httpd.conf add the fully qualified domain name of your box that you added by &amp;quot;Common Name (eg, YOUR name)&amp;quot; when creating the certificate:&lt;br /&gt;
&lt;br /&gt;
 ServerName linuxmce.yourdomain.com&lt;br /&gt;
&lt;br /&gt;
we have to change the beginning of vi /etc/apache2/sites-available/pluto to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then copy this file:&lt;br /&gt;
 cp /etc/apache2/sites-available/pluto /etc/apache2/sites-available/pluto443&lt;br /&gt;
&lt;br /&gt;
then change the beginnig to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# NameVirtualHost *&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make a symbolic link:&lt;br /&gt;
 ln -s /etc/apache2/sites-available/pluto443 /etc/apache2/sites-enabled/pluto443&lt;br /&gt;
&lt;br /&gt;
go to pluto web admin and to Advanced&amp;gt;Network&amp;gt;Firewall and add a new rule:&lt;br /&gt;
 tcp 443 443 core_input&lt;br /&gt;
&lt;br /&gt;
then run:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl restart&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15591</id>
		<title>Torrentflux</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15591"/>
		<updated>2008-09-13T13:37:17Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Torrentflux =&lt;br /&gt;
&lt;br /&gt;
I wanted to make the use of torrents a little easier. So  installed torrentflux (apt-get install torrentflux).&lt;br /&gt;
&lt;br /&gt;
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add to lines to the bottom of the sudoers file:&lt;br /&gt;
sudo vi /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/*&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to delete something?&lt;br /&gt;
if ($del != &amp;quot;&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to unrar something?&lt;br /&gt;
$rar = getRequestVar(&#039;rar&#039;);&lt;br /&gt;
if ($rar != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rar = stripslashes(stripslashes($rar));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;cd &amp;quot;. escapeshellarg(dirname($cfg[&amp;quot;path&amp;quot;] . $rar)) .&amp;quot;; /usr/bin/unrar x &amp;quot; . escapeshellarg($cfg[&amp;quot;path&amp;quot;] . $rar);&lt;br /&gt;
        passthru($command);&lt;br /&gt;
        session_write_close();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Are we to move something?&lt;br /&gt;
$move = getRequestVar(&#039;move&#039;);&lt;br /&gt;
if ($move != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $move = stripslashes(stripslashes($move));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;chmod -R 775 &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result = exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo chown root:public &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move . &amp;quot; &amp;quot; . &amp;quot;/home/public/data/videos/&amp;quot;;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Are we to rename something?&lt;br /&gt;
$rename = getRequestVar(&#039;rename&#039;);&lt;br /&gt;
$toname = getRequestVar(&#039;toname&#039;);&lt;br /&gt;
if ($rename != &amp;quot;&amp;quot; &amp;amp;&amp;amp; $toname != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
        echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; . $rename . &amp;quot; to: &amp;quot; . $toname . &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rename  = stripslashes(stripslashes($rename));&lt;br /&gt;
        $toname = stripslashes(stripslashes($toname));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $rename . &amp;quot; &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . toname;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; . &amp;quot;mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $rename . &amp;quot; &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . dirname($rename) . &amp;quot;/&amp;quot; . $toname .  &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then just below this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                echo &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;.$fileSize.&amp;quot; KB&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.date(&amp;quot;m-d-Y g:i a&amp;quot;, $timeStamp).&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
add this code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                if( 1 == 1 )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?dir=&amp;quot;.urlencode($dir).&amp;quot;&amp;amp;move=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;images/folder.png\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;move to linuxMCE\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;a href=\&amp;quot;javascript:popRename(&#039;&amp;quot; . urlencode(addslashes($dir.$entry))  .&amp;quot;&#039;);\&amp;quot;&amp;gt;rn&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
                if( ( substr( strtolower($entry), -4 ) == &amp;quot;.rar&amp;quot; ) )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?rar=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;&amp;quot;.$image.&amp;quot;\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;unrar\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
after:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    $dirName = stripslashes($dirName);&lt;br /&gt;
&lt;br /&gt;
    if (isset($dir))&lt;br /&gt;
    {&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
put the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$javascript = &amp;lt;&amp;lt;&amp;lt;JSPOPRENAME&lt;br /&gt;
&amp;lt;script type=&#039;text/javascript&#039; language=&#039;javascript&#039;&amp;gt;&lt;br /&gt;
function popRename(name){&lt;br /&gt;
&lt;br /&gt;
        newwindow2=window.open(&#039;&#039;,&#039;name&#039;,&#039;height=100,width=550&#039;);&lt;br /&gt;
        var tmp = newwindow2.document;&lt;br /&gt;
        tmp.write(&#039;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;rename &#039; + name + &#039;&amp;lt;/title&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;script type=\&#039;text/javascript\&#039; language=\&#039;javascript\&#039;&amp;gt;function getname(obj) {&#039;);&lt;br /&gt;
        tmp.write(&#039;window.location=\&#039;dir.php?rename=&#039; + escape(name) + &#039;&amp;amp;toname=\&#039; + escape(obj.childNodes[0].value);&#039;);&lt;br /&gt;
        tmp.write(&#039;self.close();&#039;);&lt;br /&gt;
        tmp.write(&#039;}&amp;lt;/scr&#039; + &#039;ipt&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;type new name below and press enter&amp;lt;/p&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;form action=&amp;quot;javascript:getname(document.getElementById(\&#039;myform\&#039;));&amp;quot; name=&amp;quot;myform&amp;quot; id=&amp;quot;myform&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;input style=&amp;quot;width: 450px&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&#039; + name + &#039;&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;p&amp;gt;refresh the original page to see the results.&amp;lt;/p&amp;gt;&#039;);&lt;br /&gt;
        tmp.write(&#039;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#039;);&lt;br /&gt;
        tmp.close();&lt;br /&gt;
} &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JSPOPRENAME;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15590</id>
		<title>Torrentflux</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15590"/>
		<updated>2008-09-13T12:29:34Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Torrentflux =&lt;br /&gt;
&lt;br /&gt;
I wanted to make the use of torrents a little easier. So  installed torrentflux (apt-get install torrentflux).&lt;br /&gt;
&lt;br /&gt;
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add to lines to the bottom of the sudoers file:&lt;br /&gt;
sudo vi /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/*&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to delete something?&lt;br /&gt;
if ($del != &amp;quot;&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to unrar something?&lt;br /&gt;
$rar = getRequestVar(&#039;rar&#039;);&lt;br /&gt;
if ($rar != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rar = stripslashes(stripslashes($rar));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;cd &amp;quot;. escapeshellarg(dirname($cfg[&amp;quot;path&amp;quot;] . $rar)) .&amp;quot;; /usr/bin/unrar x &amp;quot; . escapeshellarg($cfg[&amp;quot;path&amp;quot;] . $rar);&lt;br /&gt;
        passthru($command);&lt;br /&gt;
        session_write_close();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Are we to move something?&lt;br /&gt;
$move = getRequestVar(&#039;move&#039;);&lt;br /&gt;
if ($move != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $move = stripslashes(stripslashes($move));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;chmod -R 775 &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result = exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo chown root:public &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move . &amp;quot; &amp;quot; . &amp;quot;/home/public/data/videos/&amp;quot;;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Are we to rename something?&lt;br /&gt;
$rename = getRequestVar(&#039;rename&#039;);&lt;br /&gt;
$toname = getRequestVar(&#039;toname&#039;);&lt;br /&gt;
if ($rename != &amp;quot;&amp;quot; &amp;amp;&amp;amp; $toname != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
        echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; . $rename . &amp;quot; to: &amp;quot; . $toname . &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rename  = stripslashes(stripslashes($rename));&lt;br /&gt;
        $toname = stripslashes(stripslashes($toname));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $rename . &amp;quot; &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . toname;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; . &amp;quot;mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $rename . &amp;quot; &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . dirname($rename) . &amp;quot;/&amp;quot; . $toname .  &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then just below this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                echo &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;.$fileSize.&amp;quot; KB&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.date(&amp;quot;m-d-Y g:i a&amp;quot;, $timeStamp).&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
add this code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                if( 1 == 1 )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?dir=&amp;quot;.urlencode($dir).&amp;quot;&amp;amp;move=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;images/folder.png\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;move to linuxMCE\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;form style=\&amp;quot;display:none\&amp;quot; action=\&amp;quot;javascript:get(document.getElementById(&#039;&amp;quot; . $entry .&amp;quot;&#039;), &#039;&amp;quot; . urlencode(addslashes($dir.$entry)) .&amp;quot;&#039;);\&amp;quot; name=\&amp;quot;&amp;quot; . $entry .&amp;quot;\&amp;quot; id=\&amp;quot;&amp;quot; . $entry .&amp;quot;\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
echo &#039;&amp;lt;input type=&amp;quot;text&amp;quot; value=&amp;quot;&#039;. $entry . &#039;&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;&#039;;&lt;br /&gt;
echo &amp;quot;&amp;lt;a href=\&amp;quot;javascript:show(document.getElementById(&#039;&amp;quot; . $entry .&amp;quot;&#039;));\&amp;quot;&amp;gt;rn&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
                if( ( substr( strtolower($entry), -4 ) == &amp;quot;.rar&amp;quot; ) )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?rar=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;&amp;quot;.$image.&amp;quot;\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;unrar\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
after:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    $dirName = stripslashes($dirName);&lt;br /&gt;
&lt;br /&gt;
    if (isset($dir))&lt;br /&gt;
    {&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
put the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot; &amp;lt;script type=&#039;text/javascript&#039; language=&#039;javascript&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
echo &amp;quot;function show(obj) {&amp;quot;;&lt;br /&gt;
echo &amp;quot;  obj.style.display = &#039;inline&#039;;&amp;quot;;&lt;br /&gt;
echo &amp;quot;} &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;function get(obj,name) {&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot; window.location=&#039;dir.php?dir=&amp;quot;.urlencode($dir).&amp;quot;&amp;amp;rename=&#039; + name + &#039;&amp;amp;toname=&#039; + obj.childNodes[0].value  ;&amp;quot;;&lt;br /&gt;
echo &amp;quot;} &amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15589</id>
		<title>Torrentflux</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15589"/>
		<updated>2008-09-13T10:56:49Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Torrentflux =&lt;br /&gt;
&lt;br /&gt;
I wanted to make the use of torrents a little easier. So  installed torrentflux (apt-get install torrentflux).&lt;br /&gt;
&lt;br /&gt;
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add to lines to the bottom of the sudoers file:&lt;br /&gt;
sudo vi /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/*&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to delete something?&lt;br /&gt;
if ($del != &amp;quot;&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to unrar something?&lt;br /&gt;
$rar = getRequestVar(&#039;rar&#039;);&lt;br /&gt;
if ($rar != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rar = stripslashes(stripslashes($rar));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;cd &amp;quot;. escapeshellarg(dirname($cfg[&amp;quot;path&amp;quot;] . $rar)) .&amp;quot;; /usr/bin/unrar x &amp;quot; . escapeshellarg($cfg[&amp;quot;path&amp;quot;] . $rar);&lt;br /&gt;
        passthru($command);&lt;br /&gt;
        session_write_close();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Are we to move something?&lt;br /&gt;
$move = getRequestVar(&#039;move&#039;);&lt;br /&gt;
if ($move != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $move = stripslashes(stripslashes($move));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;chmod -R 775 &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result = exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo chown root:public &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move . &amp;quot; &amp;quot; . &amp;quot;/home/public/data/videos/&amp;quot;;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then just below this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                echo &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;.$fileSize.&amp;quot; KB&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.date(&amp;quot;m-d-Y g:i a&amp;quot;, $timeStamp).&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
add this code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                if( 1 == 1 )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?dir=&amp;quot;.urlencode($dir).&amp;quot;&amp;amp;move=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;images/folder.png\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;move to linuxMCE\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                if( ( substr( strtolower($entry), -4 ) == &amp;quot;.rar&amp;quot; ) )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?rar=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;&amp;quot;.$image.&amp;quot;\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;unrar\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15588</id>
		<title>Torrentflux</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Torrentflux&amp;diff=15588"/>
		<updated>2008-09-13T10:52:54Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: New page: = Torrentflux =  I wanted to make the use of torrents a little easier. So  installed torrentflux (apt-get install torrentflux).  To het an extra folder button to move the files to the medi...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Torrentflux =&lt;br /&gt;
&lt;br /&gt;
I wanted to make the use of torrents a little easier. So  installed torrentflux (apt-get install torrentflux).&lt;br /&gt;
&lt;br /&gt;
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add to lines to the bottom of the sudoers file:&lt;br /&gt;
sudo vi /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/*&lt;br /&gt;
www-data        ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to delete something?&lt;br /&gt;
if ($del != &amp;quot;&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Are we to unrar something?&lt;br /&gt;
$rar = getRequestVar(&#039;rar&#039;);&lt;br /&gt;
if ($rar != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $rar = stripslashes(stripslashes($rar));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;cd &amp;quot;. escapeshellarg(dirname($cfg[&amp;quot;path&amp;quot;] . $rar)) .&amp;quot;; /usr/bin/unrar x &amp;quot; . escapeshellarg($cfg[&amp;quot;path&amp;quot;] . $rar);&lt;br /&gt;
        passthru($command);&lt;br /&gt;
        session_write_close();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Are we to move something?&lt;br /&gt;
$move = getRequestVar(&#039;move&#039;);&lt;br /&gt;
if ($move != &amp;quot;&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
        $current = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $move = stripslashes(stripslashes($move));&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;chmod -R 777 &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result = exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo chown root:public &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        $command = &amp;quot;sudo mv &amp;quot; . $cfg[&amp;quot;path&amp;quot;] . $move . &amp;quot; &amp;quot; . &amp;quot;/home/public/data/videos/&amp;quot;;&lt;br /&gt;
        $result .= exec($command);&lt;br /&gt;
&lt;br /&gt;
        header(&amp;quot;Location: dir.php?dir=&amp;quot;.urlencode($dir));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then just below this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                echo &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;.$fileSize.&amp;quot; KB&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.date(&amp;quot;m-d-Y g:i a&amp;quot;, $timeStamp).&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
                echo &amp;quot;&amp;lt;td align=\&amp;quot;right\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
add this code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                if( 1 == 1 )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?dir=&amp;quot;.urlencode($dir).&amp;quot;&amp;amp;move=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;images/folder.png\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;move to linuxMCE\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                if( ( substr( strtolower($entry), -4 ) == &amp;quot;.rar&amp;quot; ) )&lt;br /&gt;
                {&lt;br /&gt;
                        echo &amp;quot;&amp;lt;a href=\&amp;quot;dir.php?rar=&amp;quot;.urlencode($dir.$entry).&amp;quot;\&amp;quot; &amp;gt;&amp;quot;;&lt;br /&gt;
                        echo &amp;quot;&amp;lt;img src=\&amp;quot;&amp;quot;.$image.&amp;quot;\&amp;quot; width=\&amp;quot;16\&amp;quot; height=\&amp;quot;16\&amp;quot; title=\&amp;quot;unrar\&amp;quot; border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Gyration_GYR3101US&amp;diff=10458</id>
		<title>Gyration GYR3101US</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Gyration_GYR3101US&amp;diff=10458"/>
		<updated>2008-04-29T20:12:09Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Hardware]]&lt;br /&gt;
[[Category: Input]]&lt;br /&gt;
[[Category: Infrared]]&lt;br /&gt;
[[Category: Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
[[Image:Gyration.JPG|right]]&lt;br /&gt;
The Gyration GYR3101US remote is identical in style to the [http://fiire.com/fiire-chief.php Fiire Chief]&lt;br /&gt;
&lt;br /&gt;
And uses the gyro feature just like a mouse. The major difference is how the remote is detected and used by LMCE.&lt;br /&gt;
&lt;br /&gt;
However the keys are not all mapped as nicely as the custom firmware of the Chief. However this can be simply updated by using the&lt;br /&gt;
[http://cf.ccmr.cornell.edu/cgi-bin/w3mman2html.cgi?xmodmap(1) Xmodmap] program, and its corresponding config file, to gain similar functionality from this remote.&lt;br /&gt;
&lt;br /&gt;
The one I am using I purchased at [http://www.circuitcity.com/ssm/Gyration-Universal-Remote-Control-for-PC-GYR3101US/sem/rpsm/oid/178884/rpem/ccd/productDetail.do Circuit CIty] for $99US. This is only $50 less + shipping than the Fiire, but for those of us lucky enough to have a Circuit City nearby, it makes an inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
edit 4/13/2008&lt;br /&gt;
note, this can be found at new egg for $99+S/H http://www.newegg.com/Product/Product.aspx?Item=N82E16880105001 New Egg]&lt;br /&gt;
&lt;br /&gt;
When the device is plugged in, it is identified and configured as a GO Wireless USB device. And the gyration mouse bit works immediatley. If this is all you want, your done. No more configuration is needed. In my case I wanted the &amp;quot;Ambience&amp;quot; (Volume/Lighting) control key mapped, as well as the Channel/Chapter function, and lets not forget the ability to pull up the menu while watching/listening to media. Also by default the Stop button will stop media playback, and the skip forward and back buttons work. Again, if this is all you want, your done :).&lt;br /&gt;
&lt;br /&gt;
By default kubuntu/LMCE sees the volume up/down keys, the 10 key numbers, the MCE button, and the media control play/stop/ffwd/rwd/pause/skip fwd/skip back.&lt;br /&gt;
&lt;br /&gt;
Gyration codes: [[Gyration-GYR3101US-codes]]&lt;br /&gt;
&lt;br /&gt;
== The HowTo ==&lt;br /&gt;
&lt;br /&gt;
To enable the volume control, I used the &#039;&#039;xev&#039;&#039; application from the KDE desktop terminal window, and identified the required keys.&lt;br /&gt;
&lt;br /&gt;
 xev&lt;br /&gt;
&lt;br /&gt;
Once this is run, it will pop-up a test window. Place your mouse in there, and then press the buttons on the Gyration remote, and see the results in the terminal. Pay special attention to the&lt;br /&gt;
&lt;br /&gt;
 keycode&lt;br /&gt;
&lt;br /&gt;
entries, they are what you will place in your new .Xmodmap file.&lt;br /&gt;
&lt;br /&gt;
Now on my particular setup, and I have a feeling its the default, the keys show up as:&lt;br /&gt;
&lt;br /&gt;
 Volume Up   keycode 176&lt;br /&gt;
 Volume Down keycode 174&lt;br /&gt;
 MCE button  keycode 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now the keys in LMCE that provide for the volume/channel/menu function are:&lt;br /&gt;
 &lt;br /&gt;
 F6 = Channel/Chapter FFWD/RWD/PAUSE menu&lt;br /&gt;
 F7 = Menu button&lt;br /&gt;
 F8 = Volume/Lighting button &amp;quot;ambience&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Update to get more MythTV functionality!!! ==&lt;br /&gt;
&lt;br /&gt;
MythTV Keys&lt;br /&gt;
&lt;br /&gt;
 P = Pause  # Pause key on remote&lt;br /&gt;
 R = Record   # Record key on remote&lt;br /&gt;
 Z = 30 second skip # Right skip key under directional pad&lt;br /&gt;
 Q = 10 second back   # Left skip key under directional pad&lt;br /&gt;
 I = Info   # Info button&lt;br /&gt;
 F9 = Mute   # Mute button&lt;br /&gt;
 Y = Switch Cards   # Pictures button&lt;br /&gt;
 PgUP = Fast Forward   # FFWD Button&lt;br /&gt;
 PgDOWN = Rewind   # RWND Button&lt;br /&gt;
&lt;br /&gt;
Using this info, I created the following .Xmodmap file as root user in /etc&lt;br /&gt;
 &lt;br /&gt;
 cd /etc&lt;br /&gt;
 sudo vi /etc/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
/etc/.Xmodmap&lt;br /&gt;
 keycode 176 = F8&lt;br /&gt;
 keycode 174 = F6&lt;br /&gt;
 keycode 97 = F7&lt;br /&gt;
 keycode 110 = P&lt;br /&gt;
 keycode 177 = R&lt;br /&gt;
 keycode 153 = Z&lt;br /&gt;
 keycode 144 = Q&lt;br /&gt;
 keycode 134 = I&lt;br /&gt;
 keycode 160 = F9&lt;br /&gt;
 keycode 237 = Y&lt;br /&gt;
 keycode 180 = PgUP&lt;br /&gt;
 keycode 152 = PgDOWN&lt;br /&gt;
&lt;br /&gt;
Now after creating the file, we need to make sure it is loaded when LMCE starts up. To do this add the following as root to &lt;br /&gt;
&#039;&#039;/usr/pluto/bin/lmce_launch_manager.sh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 sudo vi /usr/pluto/bin/lmce_launch_manager.sh&lt;br /&gt;
Put this right before the line &#039;&#039;&#039;KDE_DEBUG=1&#039;&#039;&#039;&lt;br /&gt;
So that it looks like.....&lt;br /&gt;
 xmodmap /etc/.Xmodmap&lt;br /&gt;
 KDE_DEBUG=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file. Now you have two choices to get it going,&lt;br /&gt;
&lt;br /&gt;
Choice 1 is to fire off the command&lt;br /&gt;
 sudo xmodmap /etc/.Xmodmap &lt;br /&gt;
This must be done from the KDE desktop term window, as it needs to be run in the X environment. (you can also export the display like: export DISPLAY=:0;xmodmap /etc/.Xmodmap )&lt;br /&gt;
&lt;br /&gt;
Choice 2 is to restart the core.&lt;br /&gt;
&lt;br /&gt;
By placing the file in the lmce_launch_manager.sh script, anytime the core is rebooted, your settings are automagically set up. :)&lt;br /&gt;
&lt;br /&gt;
There are a couple of oddities to deal with that I have seen. Now when I watch a movie, and want to change the volume or lighting, on a movie or pre-recorded program, it does what it supposed to, but when watching mythtv live, pressing the volume up on the Gyration remote invokes the Sleep Timer in mythtv. This can be easily resolved by remapping the sleep timer key using the mythweb application located at http://core.ip.address/mythweb/ for internal open systems or http://core.dhcp.server.adress/mythweb/&lt;br /&gt;
&lt;br /&gt;
This can be avoided by unmapping the following keys in Mythweb/Settings/Controls&lt;br /&gt;
 &lt;br /&gt;
 F6&lt;br /&gt;
 F7&lt;br /&gt;
 F8&lt;br /&gt;
&lt;br /&gt;
Simply unmap these keys. Make sure you scroll down the whole list, as they appear more than once :)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
So after you have completed these steps the following keys will do these functions:&lt;br /&gt;
&lt;br /&gt;
 MCE button pulls up LMCE menu system&lt;br /&gt;
 Volume Up button brings up the &amp;quot;Ambience&amp;quot; controls during media playback&lt;br /&gt;
 Volume Down button brings up the Channel/Chapter Fast Forward/Rewind and Pause functions&lt;br /&gt;
 The Gyration center button does movement&lt;br /&gt;
 If you double click the center button, the mouse stays active, &lt;br /&gt;
 but remember to click once more to turn off, or you&#039;ll kill the batteries.&lt;br /&gt;
 The Gyration Left button acts like the left mouse button for &amp;quot;Choose&amp;quot; functions&lt;br /&gt;
 The Gyration Right button is the &amp;quot;exit&amp;quot; or &amp;quot;clear item&amp;quot; button. &lt;br /&gt;
 The left and right buttons are just like mouse buttons.&lt;br /&gt;
 The Number keys work with MythTV&lt;br /&gt;
 The Pause button will pause MythTV&lt;br /&gt;
 The Record button will start an on-the-fly-recording&lt;br /&gt;
 The skip forward button, does the standard 30 second skip&lt;br /&gt;
 The skip back button does the 10 second back skip&lt;br /&gt;
 The fast-forward and rewind buttons function as they should&lt;br /&gt;
 The Pictures button, will switch tuner cards if you have more than one, Nice for us DVB users who don&#039;t use VDR.&lt;br /&gt;
 The Mute button functions&lt;br /&gt;
 The Info button functions&lt;br /&gt;
&lt;br /&gt;
Thats it, your ready to be Inter &amp;quot;Active&amp;quot; with your LMCE system. Enjoy.&lt;br /&gt;
&lt;br /&gt;
Please feel free to update this article with any other information, or if I forgot something. :-)&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9886</id>
		<title>Receivers rs-232</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9886"/>
		<updated>2008-04-09T10:22:29Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Receivers rs-232 support =&lt;br /&gt;
Here is a list of receivers that do or do not have rs-232 (serial port) support&lt;br /&gt;
&lt;br /&gt;
== Denon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2307&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2308&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2808&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-3807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-4306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Harman Kardon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR 247&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR 347&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marantz ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| SR5001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR5002&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.marantz.com/new/index.cfm?fuseaction=Products.Product&amp;amp;cont=eu&amp;amp;bus=hf&amp;amp;prod_id=3662&amp;amp;series=comp&amp;amp;type=avr SR6001 ]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR7001&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.marantz.com/new/index.cfm?fuseaction=Products.Product&amp;amp;cont=eu&amp;amp;bus=hf&amp;amp;prod_id=3702&amp;amp;series=comp&amp;amp;type=avr  SR7002]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ZR6001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Meridian ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.meridian-audio.com/p_g68.htm G68-ADV]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| T-765&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| T-773&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Onkyo ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR705&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR875&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pioneer ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| VSX-LX60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| VSX-LX70&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sony ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| STR-DA3000ES&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| STR-DA3200ES&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yamaha ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| RX-V1700&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| RX-V1800&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| RX-V2700&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9885</id>
		<title>Receivers rs-232</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9885"/>
		<updated>2008-04-09T10:10:56Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Receivers rs-232 support =&lt;br /&gt;
Here is a list of receivers that do or do not have rs-232 (serial port) support&lt;br /&gt;
&lt;br /&gt;
== Denon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2307&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2308&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2808&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-3807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-4306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Harman Kardon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR 247&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR 347&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marantz ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| SR5001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR5002&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR6001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR7001&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ZR6001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Meridian ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.meridian-audio.com/p_g68.htm G68-ADV]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| T-765&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| T-773&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Onkyo ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR705&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR875&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pioneer ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| VSX-LX60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| VSX-LX70&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sony ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| STR-DA3000ES&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| STR-DA3200ES&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yamaha ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| RX-V1700&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| RX-V1800&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| RX-V2700&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9884</id>
		<title>Receivers rs-232</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9884"/>
		<updated>2008-04-09T10:06:34Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Receivers rs-232 support =&lt;br /&gt;
Here is a list of receivers that do or do not have rs-232 (serial port) support&lt;br /&gt;
&lt;br /&gt;
== Denon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2307&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2308&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2808&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-3807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-4306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Harman Kardon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR 247&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR 347&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marantz ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| SR5001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR5002&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR6001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SR7001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ZR6001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Meridian ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| G68-ADV&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NAD ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| T-765&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| T-773&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Onkyo ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR705&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR875&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pioneer ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| VSX-LX60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| VSX-LX70&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sony ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| STR-DA3000ES&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| STR-DA3200ES&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yamaha ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| RX-V1700&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| RX-V1800&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| RX-V2700&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9883</id>
		<title>Receivers rs-232</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9883"/>
		<updated>2008-04-09T09:56:52Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Receivers rs-232 support =&lt;br /&gt;
Here is a list of receivers that do or do not have rs-232 (serial port) support&lt;br /&gt;
&lt;br /&gt;
== Denon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2307&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2308&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-2808&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-3807&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR-4306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Harman Kardon ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| AVR 247&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR 347&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Marantz ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Onkyo ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR705&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TX-SR875&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pioneer ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Onkyo ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sony ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Yamaha ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9882</id>
		<title>Receivers rs-232</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&amp;diff=9882"/>
		<updated>2008-04-09T09:46:47Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: New page: = Receivers rs-232 support = Here is a list of receivers that do or do not have rs-232 (serial port) support  {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; |- ! brand ! m...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Receivers rs-232 support =&lt;br /&gt;
Here is a list of receivers that do or do not have rs-232 (serial port) support&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! brand&lt;br /&gt;
! model&lt;br /&gt;
! rs-232 port&lt;br /&gt;
! rs-232 controllable&lt;br /&gt;
! lmce support&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|Denon&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;|Harman Kardon&lt;br /&gt;
| AVR 247&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| AVR 347&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|Marantz&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|Onkyo&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|Pioneer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|Sony&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; valign=&amp;quot;top&amp;quot;|Yamaha&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Serial_Port_debugging&amp;diff=9525</id>
		<title>Serial Port debugging</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Serial_Port_debugging&amp;diff=9525"/>
		<updated>2008-03-05T21:38:30Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Debugging serial Port (Com port/RS-232)  ==&lt;br /&gt;
&lt;br /&gt;
You can use minicom (apt-get install minicom)&lt;br /&gt;
&lt;br /&gt;
 # minicom&lt;br /&gt;
&lt;br /&gt;
then press ctcl-a z to open the help interface&lt;br /&gt;
&lt;br /&gt;
select &#039;o&#039;&lt;br /&gt;
&lt;br /&gt;
goto &#039;Serial port setup&#039;&lt;br /&gt;
&lt;br /&gt;
Set the Serial device to the port you want to test&lt;br /&gt;
In my case I also had to set:&lt;br /&gt;
 - Bps/Par/Bits: 9600 8N1&lt;br /&gt;
 - Hardware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
Exit this screen and then select:&lt;br /&gt;
* &#039;Save setup as dfl&#039;&lt;br /&gt;
(this makes this configuration default next time you start minicom)&lt;br /&gt;
&lt;br /&gt;
Exit this screen&lt;br /&gt;
&lt;br /&gt;
then reinitialize the modem (m)&lt;br /&gt;
&lt;br /&gt;
you should enable local echo so you can see what you type.&lt;br /&gt;
* ctrl-a e&lt;br /&gt;
&lt;br /&gt;
When you type the command the device should respond.&lt;br /&gt;
&lt;br /&gt;
Testing turn of delay command line for my TV:&lt;br /&gt;
* echo &amp;quot;ka 01 01&amp;quot;&amp;gt; /dev/ttyS1;sleep 7.4;echo  &amp;quot;kb 01 01&amp;quot; &amp;gt; /dev/ttyS1&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Serial_Port_debugging&amp;diff=9522</id>
		<title>Serial Port debugging</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Serial_Port_debugging&amp;diff=9522"/>
		<updated>2008-03-05T20:27:09Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: New page: == Debugging serial Port (Com port/RS-232)  ==  You can use minicom (apt-get install minicom)   # minicom  then press ctcl-a z to open the help interface  select &amp;#039;o&amp;#039;  goto &amp;#039;Serial port set...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Debugging serial Port (Com port/RS-232)  ==&lt;br /&gt;
&lt;br /&gt;
You can use minicom (apt-get install minicom)&lt;br /&gt;
&lt;br /&gt;
 # minicom&lt;br /&gt;
&lt;br /&gt;
then press ctcl-a z to open the help interface&lt;br /&gt;
&lt;br /&gt;
select &#039;o&#039;&lt;br /&gt;
&lt;br /&gt;
goto &#039;Serial port setup&#039;&lt;br /&gt;
&lt;br /&gt;
Set the Serial device to the port you want to test&lt;br /&gt;
In my case I also had to set:&lt;br /&gt;
 - Bps/Par/Bits: 9600 8N1&lt;br /&gt;
 - Hardware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
Exit this screen and then select:&lt;br /&gt;
* &#039;Save setup as dfl&#039;&lt;br /&gt;
(this makes this configuration default next time you start minicom)&lt;br /&gt;
&lt;br /&gt;
Exit this screen&lt;br /&gt;
&lt;br /&gt;
then reinitialize the modem (m)&lt;br /&gt;
&lt;br /&gt;
you should enable local echo so you can see what you type.&lt;br /&gt;
* ctrl-a e&lt;br /&gt;
&lt;br /&gt;
When you type the command the device should respond.&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Gyration-GYR3101US-codes&amp;diff=9521</id>
		<title>Gyration-GYR3101US-codes</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Gyration-GYR3101US-codes&amp;diff=9521"/>
		<updated>2008-03-05T19:17:42Z</updated>

		<summary type="html">&lt;p&gt;Esperanto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ToDo ==&lt;br /&gt;
&lt;br /&gt;
The best solution would be if we could make it work without evrouter. Then we should need some way to have the higher keyevents in X. Any suggestions??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using [http://www.bedroomlan.org/~alexios/coding_evrouter.html evrouter] we would still need the following:&lt;br /&gt;
* LinuxMCE should recognize the remote properly (now it saids it&#039;s a GO Cordless GC1005M but &#039;Registered: No&#039;)&lt;br /&gt;
* This means we should reuse the fiire chief template (if it&#039;s possible to reroute it that way) or create a new one&lt;br /&gt;
* Evrouter should route all high events to have the proper actions (so to key events or shell commands) (see the  [[Gyration-GYR3101US-codes#Working_document_for_usage_with_evrouter | template]])&lt;br /&gt;
* Evrouter should be supplied with Lmce&lt;br /&gt;
* it should have a proper way to automaticly start evrouter with the right configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| Stop&lt;br /&gt;
| 164&lt;br /&gt;
| key/166&lt;br /&gt;
|-&lt;br /&gt;
| Record&lt;br /&gt;
| 177&lt;br /&gt;
| key/167&lt;br /&gt;
|-&lt;br /&gt;
| Pause&lt;br /&gt;
| 110&lt;br /&gt;
| key/119&lt;br /&gt;
|-&lt;br /&gt;
| Play&lt;br /&gt;
| 179&lt;br /&gt;
| key/207&lt;br /&gt;
|-&lt;br /&gt;
| Rewind&lt;br /&gt;
| 152&lt;br /&gt;
| key/168&lt;br /&gt;
|-&lt;br /&gt;
| Fast Forward&lt;br /&gt;
| 180&lt;br /&gt;
| key/208&lt;br /&gt;
|-&lt;br /&gt;
| Skip back&lt;br /&gt;
| 144&lt;br /&gt;
| key/165&lt;br /&gt;
|-&lt;br /&gt;
| Skip ahead&lt;br /&gt;
| 153&lt;br /&gt;
| key/163&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| Live TV&lt;br /&gt;
|  -&lt;br /&gt;
| key/377&lt;br /&gt;
|-&lt;br /&gt;
| UP&lt;br /&gt;
| 98&lt;br /&gt;
| key/103&lt;br /&gt;
|-&lt;br /&gt;
| Program guide&lt;br /&gt;
|  -&lt;br /&gt;
| key/362&lt;br /&gt;
|-&lt;br /&gt;
| LEFT&lt;br /&gt;
| 100&lt;br /&gt;
| key/105&lt;br /&gt;
|-&lt;br /&gt;
| OK/Enter/Select&lt;br /&gt;
| 36&lt;br /&gt;
| key/28&lt;br /&gt;
|-&lt;br /&gt;
| Right&lt;br /&gt;
| 102&lt;br /&gt;
| key/106&lt;br /&gt;
|-&lt;br /&gt;
| Go back&lt;br /&gt;
| 234&lt;br /&gt;
| key/158&lt;br /&gt;
|-&lt;br /&gt;
| Down&lt;br /&gt;
| 104&lt;br /&gt;
| key/108&lt;br /&gt;
|-&lt;br /&gt;
| Information&lt;br /&gt;
| 134&lt;br /&gt;
| key/130&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| Left mouse button&lt;br /&gt;
| &lt;br /&gt;
| key/272&lt;br /&gt;
|-&lt;br /&gt;
| Mouse enable&lt;br /&gt;
| &lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Right mouse button&lt;br /&gt;
| &lt;br /&gt;
| key/273&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| Volume UP&lt;br /&gt;
| 176&lt;br /&gt;
| key/115&lt;br /&gt;
|-&lt;br /&gt;
| MCE Home&lt;br /&gt;
| 97&lt;br /&gt;
| key/102&lt;br /&gt;
|-&lt;br /&gt;
| Channel UP&lt;br /&gt;
|  -&lt;br /&gt;
| key/402&lt;br /&gt;
|-&lt;br /&gt;
| Volume Down&lt;br /&gt;
| 174&lt;br /&gt;
| key/114&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| 160&lt;br /&gt;
| key/113&lt;br /&gt;
|-&lt;br /&gt;
| Channel Down&lt;br /&gt;
|  -&lt;br /&gt;
| key/403&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| My Pictures&lt;br /&gt;
| 237&lt;br /&gt;
| key/226&lt;br /&gt;
|-&lt;br /&gt;
| TV home&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Music&lt;br /&gt;
|  -&lt;br /&gt;
| key/391&lt;br /&gt;
|-&lt;br /&gt;
| My videos&lt;br /&gt;
|  -&lt;br /&gt;
| key/393&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 10&lt;br /&gt;
| key/2&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 11&lt;br /&gt;
| key/3&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 12&lt;br /&gt;
| key/4&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 13&lt;br /&gt;
| key/5&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 14&lt;br /&gt;
| key/6&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 15&lt;br /&gt;
| key/7&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 16&lt;br /&gt;
| key/8&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 17&lt;br /&gt;
| key/9&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 18&lt;br /&gt;
| key/10&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| 50 &amp;amp; 17&lt;br /&gt;
| key/42 &amp;amp; key/9&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 19&lt;br /&gt;
| key/11&lt;br /&gt;
|-&lt;br /&gt;
| #&lt;br /&gt;
| 50&amp;amp;12&lt;br /&gt;
| key/42 &amp;amp; key/4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| clear&lt;br /&gt;
| 9&lt;br /&gt;
| key/1&lt;br /&gt;
|-&lt;br /&gt;
| enter&lt;br /&gt;
| 36&lt;br /&gt;
| key/28&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name&lt;br /&gt;
! xev keycode&lt;br /&gt;
! evkeycode&lt;br /&gt;
|-&lt;br /&gt;
| Setup Menu&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Last&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Connect&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Input&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| DVD Menu&lt;br /&gt;
|  -&lt;br /&gt;
| key/410&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Picture ==&lt;br /&gt;
[[Image:Gyration-GYR3101US-codes.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Device Template info (based on template #1848) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Device Template.&lt;br /&gt;
Values taken from the gyration template for the fiire-chief.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These values are probably the same as on the fiire-chief:&lt;br /&gt;
1,10,U,Y&lt;br /&gt;
2,11,U,Y&lt;br /&gt;
3,12,U,Y&lt;br /&gt;
4,13,U,Y&lt;br /&gt;
5,14,U,Y&lt;br /&gt;
6,15,U,Y&lt;br /&gt;
7,16,U,Y&lt;br /&gt;
8,17,U,Y&lt;br /&gt;
9,18,U,Y&lt;br /&gt;
0,19,U,Y&lt;br /&gt;
shortcut1,10,H,Y&lt;br /&gt;
shortcut2,11,H,Y&lt;br /&gt;
shortcut3,12,H,Y&lt;br /&gt;
shortcut4,13,H,Y&lt;br /&gt;
shortcut5,14,H,Y&lt;br /&gt;
shortcut6,15,H,Y&lt;br /&gt;
shortcut7,16,H,Y&lt;br /&gt;
shortcut8,17,H,Y&lt;br /&gt;
shortcut9,18,H,Y&lt;br /&gt;
shortcut0,19,H,Y&lt;br /&gt;
&lt;br /&gt;
fastforward,180,D&lt;br /&gt;
Rewind,152,D&lt;br /&gt;
Play,179,D&lt;br /&gt;
Stop,164,D&lt;br /&gt;
&lt;br /&gt;
Down,104,R,Y&lt;br /&gt;
Up,98,R,Y&lt;br /&gt;
Left,100,R,Y&lt;br /&gt;
Right,102,R,Y&lt;br /&gt;
ok,36,D,Y&lt;br /&gt;
enter,36,D,Y&lt;br /&gt;
Record,177,D&lt;br /&gt;
SkipNext,153,R&lt;br /&gt;
SkipPrior,144,R&lt;br /&gt;
&lt;br /&gt;
These have standard &#039;xev&#039; output keys (and differ from the fiire):&lt;br /&gt;
Clear,9,D&lt;br /&gt;
voldn,176,R&lt;br /&gt;
VolUp,174,R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How to set these and which they are is still the question:&lt;br /&gt;
Power,100130,U&lt;br /&gt;
Halt,100130,H&lt;br /&gt;
&lt;br /&gt;
red,100070,U&lt;br /&gt;
green,100073,U&lt;br /&gt;
yellow,100071,U&lt;br /&gt;
blue,100074,U&lt;br /&gt;
shortcutr,100070,H&lt;br /&gt;
shortcutg,100073,H&lt;br /&gt;
shortcuty,100071,H&lt;br /&gt;
shortcutb,100074,H&lt;br /&gt;
Music,100071,U&lt;br /&gt;
Videos,100074,U&lt;br /&gt;
tv,100073,U&lt;br /&gt;
Pictures,100070,U&lt;br /&gt;
&lt;br /&gt;
enter,108,D,Y&lt;br /&gt;
&lt;br /&gt;
chup,100156,R&lt;br /&gt;
chdown,100157,R&lt;br /&gt;
&lt;br /&gt;
Pause,162,D&lt;br /&gt;
Pause,110,D&lt;br /&gt;
&lt;br /&gt;
Mute,100226,D&lt;br /&gt;
&lt;br /&gt;
menu,100194,U&lt;br /&gt;
avwizard,100194,H&lt;br /&gt;
&lt;br /&gt;
Guide,100141,D&lt;br /&gt;
&lt;br /&gt;
Back,100193,D&lt;br /&gt;
&lt;br /&gt;
info,100201,U&lt;br /&gt;
help,100201,H&lt;br /&gt;
&lt;br /&gt;
input,100202,U&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working document for usage with evrouter ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#  	Stop&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/166 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
# 	Record&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/167 &amp;quot;XKey/R&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Pause&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/119 &amp;quot;XKey/P&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Play&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/207 &amp;quot;XKey/P&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Rewind&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/168 &amp;quot;XKey/Left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Fast Forward&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/208 &amp;quot;XKey/Right&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Skip Back&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/165 &amp;quot;XKey/Home&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Skip Forward&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/163 &amp;quot;XKey/End&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Guide &lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/362 &amp;quot;XKey/M&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Up&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/103 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Left&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/105 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Right&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/106 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Down&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/108 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Back&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/158 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Info&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/130 &amp;quot;XKey/I&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	OK/Enter&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/28 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Volume Up&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/115 &amp;quot;XKey/F11&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Volume Down&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/114 &amp;quot;XKey/F10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Channel Up&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/402 &amp;quot;XKey/Up&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Channel Down&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/403 &amp;quot;XKey/Down&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Mute&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/113 &amp;quot;XKey/F9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	1&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/2 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	2&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/3 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	3&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/4 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	4&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/5 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	5&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/6 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	6&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/7 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	7&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/8 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	8&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/9 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	9&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/10 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	0&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/11 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	*&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/42 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/9 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	#&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/42 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/4 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Clear&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/1 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Other /dev/input/eventY events:&lt;br /&gt;
# 	Left Click&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/272 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	Right Click&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/273 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Live TV&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/377 &amp;quot;XKey/C&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Windows&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/102 &amp;quot;XKey/Alt_L+Control_L+BackSpace&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	Pictures&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/226 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	Music&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/391 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# 	Video&lt;br /&gt;
# &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/393 &amp;quot;fill this in!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 	DVD Menu&lt;br /&gt;
&amp;quot;Gyration Gyration RF Technology Receiver&amp;quot; &amp;quot;/dev/input/event*&amp;quot; none key/410 &amp;quot;XKey/O&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== evtest output ==&lt;br /&gt;
evtest ( apt-get install lineakd ) gives the following output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input driver version is 1.0.0&lt;br /&gt;
Input device ID: bus 0x3 vendor 0xc16 product 0x2 version 0x110&lt;br /&gt;
Input device name: &amp;quot;Gyration Gyration RF Technology Receiver&amp;quot;&lt;br /&gt;
Supported events:&lt;br /&gt;
  Event type 0 (Sync)&lt;br /&gt;
  Event type 1 (Key)&lt;br /&gt;
    Event code 1 (Esc)&lt;br /&gt;
    Event code 2 (1)&lt;br /&gt;
    Event code 3 (2)&lt;br /&gt;
    Event code 4 (3)&lt;br /&gt;
    Event code 5 (4)&lt;br /&gt;
    Event code 6 (5)&lt;br /&gt;
    Event code 7 (6)&lt;br /&gt;
    Event code 8 (7)&lt;br /&gt;
    Event code 9 (8)&lt;br /&gt;
    Event code 10 (9)&lt;br /&gt;
    Event code 11 (0)&lt;br /&gt;
    Event code 12 (Minus)&lt;br /&gt;
    Event code 13 (Equal)&lt;br /&gt;
    Event code 14 (Backspace)&lt;br /&gt;
    Event code 15 (Tab)&lt;br /&gt;
    Event code 16 (Q)&lt;br /&gt;
    Event code 17 (W)&lt;br /&gt;
    Event code 18 (E)&lt;br /&gt;
    Event code 19 (R)&lt;br /&gt;
    Event code 20 (T)&lt;br /&gt;
    Event code 21 (Y)&lt;br /&gt;
    Event code 22 (U)&lt;br /&gt;
    Event code 23 (I)&lt;br /&gt;
    Event code 24 (O)&lt;br /&gt;
    Event code 25 (P)&lt;br /&gt;
    Event code 26 (LeftBrace)&lt;br /&gt;
    Event code 27 (RightBrace)&lt;br /&gt;
    Event code 28 (Enter)&lt;br /&gt;
    Event code 29 (LeftControl)&lt;br /&gt;
    Event code 30 (A)&lt;br /&gt;
    Event code 31 (S)&lt;br /&gt;
    Event code 32 (D)&lt;br /&gt;
    Event code 33 (F)&lt;br /&gt;
    Event code 34 (G)&lt;br /&gt;
    Event code 35 (H)&lt;br /&gt;
    Event code 36 (J)&lt;br /&gt;
    Event code 37 (K)&lt;br /&gt;
    Event code 38 (L)&lt;br /&gt;
    Event code 39 (Semicolon)&lt;br /&gt;
    Event code 40 (Apostrophe)&lt;br /&gt;
    Event code 41 (Grave)&lt;br /&gt;
    Event code 42 (LeftShift)&lt;br /&gt;
    Event code 43 (BackSlash)&lt;br /&gt;
    Event code 44 (Z)&lt;br /&gt;
    Event code 45 (X)&lt;br /&gt;
    Event code 46 (C)&lt;br /&gt;
    Event code 47 (V)&lt;br /&gt;
    Event code 48 (B)&lt;br /&gt;
    Event code 49 (N)&lt;br /&gt;
    Event code 50 (M)&lt;br /&gt;
    Event code 51 (Comma)&lt;br /&gt;
    Event code 52 (Dot)&lt;br /&gt;
    Event code 53 (Slash)&lt;br /&gt;
    Event code 54 (RightShift)&lt;br /&gt;
    Event code 55 (KPAsterisk)&lt;br /&gt;
    Event code 56 (LeftAlt)&lt;br /&gt;
    Event code 57 (Space)&lt;br /&gt;
    Event code 58 (CapsLock)&lt;br /&gt;
    Event code 59 (F1)&lt;br /&gt;
    Event code 60 (F2)&lt;br /&gt;
    Event code 61 (F3)&lt;br /&gt;
    Event code 62 (F4)&lt;br /&gt;
    Event code 63 (F5)&lt;br /&gt;
    Event code 64 (F6)&lt;br /&gt;
    Event code 65 (F7)&lt;br /&gt;
    Event code 66 (F8)&lt;br /&gt;
    Event code 67 (F9)&lt;br /&gt;
    Event code 68 (F10)&lt;br /&gt;
    Event code 69 (NumLock)&lt;br /&gt;
    Event code 70 (ScrollLock)&lt;br /&gt;
    Event code 71 (KP7)&lt;br /&gt;
    Event code 72 (KP8)&lt;br /&gt;
    Event code 73 (KP9)&lt;br /&gt;
    Event code 74 (KPMinus)&lt;br /&gt;
    Event code 75 (KP4)&lt;br /&gt;
    Event code 76 (KP5)&lt;br /&gt;
    Event code 77 (KP6)&lt;br /&gt;
    Event code 78 (KPPlus)&lt;br /&gt;
    Event code 79 (KP1)&lt;br /&gt;
    Event code 80 (KP2)&lt;br /&gt;
    Event code 81 (KP3)&lt;br /&gt;
    Event code 82 (KP0)&lt;br /&gt;
    Event code 83 (KPDot)&lt;br /&gt;
    Event code 86 (102nd)&lt;br /&gt;
    Event code 87 (F11)&lt;br /&gt;
    Event code 88 (F12)&lt;br /&gt;
    Event code 96 (KPEnter)&lt;br /&gt;
    Event code 97 (RightCtrl)&lt;br /&gt;
    Event code 98 (KPSlash)&lt;br /&gt;
    Event code 99 (SysRq)&lt;br /&gt;
    Event code 100 (RightAlt)&lt;br /&gt;
    Event code 102 (Home)&lt;br /&gt;
    Event code 103 (Up)&lt;br /&gt;
    Event code 104 (PageUp)&lt;br /&gt;
    Event code 105 (Left)&lt;br /&gt;
    Event code 106 (Right)&lt;br /&gt;
    Event code 107 (End)&lt;br /&gt;
    Event code 108 (Down)&lt;br /&gt;
    Event code 109 (PageDown)&lt;br /&gt;
    Event code 110 (Insert)&lt;br /&gt;
    Event code 111 (Delete)&lt;br /&gt;
    Event code 113 (Mute)&lt;br /&gt;
    Event code 114 (VolumeDown)&lt;br /&gt;
    Event code 115 (VolumeUp)&lt;br /&gt;
    Event code 116 (Power)&lt;br /&gt;
    Event code 119 (Pause)&lt;br /&gt;
    Event code 125 (LeftMeta)&lt;br /&gt;
    Event code 126 (RightMeta)&lt;br /&gt;
    Event code 127 (Compose)&lt;br /&gt;
    Event code 128 (Stop)&lt;br /&gt;
    Event code 130 (Props)&lt;br /&gt;
    Event code 131 (Undo)&lt;br /&gt;
    Event code 133 (Copy)&lt;br /&gt;
    Event code 134 (Open)&lt;br /&gt;
    Event code 135 (Paste)&lt;br /&gt;
    Event code 136 (Find)&lt;br /&gt;
    Event code 137 (Cut)&lt;br /&gt;
    Event code 138 (Help)&lt;br /&gt;
    Event code 139 (Menu)&lt;br /&gt;
    Event code 140 (Calc)&lt;br /&gt;
    Event code 142 (Sleep)&lt;br /&gt;
    Event code 143 (WakeUp)&lt;br /&gt;
    Event code 144 (File)&lt;br /&gt;
    Event code 150 (WWW)&lt;br /&gt;
    Event code 152 (Coffee)&lt;br /&gt;
    Event code 155 (Mail)&lt;br /&gt;
    Event code 156 (Bookmarks)&lt;br /&gt;
    Event code 158 (Back)&lt;br /&gt;
    Event code 159 (Forward)&lt;br /&gt;
    Event code 161 (EjectCD)&lt;br /&gt;
    Event code 163 (NextSong)&lt;br /&gt;
    Event code 164 (PlayPause)&lt;br /&gt;
    Event code 165 (PreviousSong)&lt;br /&gt;
    Event code 166 (StopCD)&lt;br /&gt;
    Event code 167 (Record)&lt;br /&gt;
    Event code 168 (Rewind)&lt;br /&gt;
    Event code 169 (Phone)&lt;br /&gt;
    Event code 171 (Config)&lt;br /&gt;
    Event code 172 (HomePage)&lt;br /&gt;
    Event code 173 (Refresh)&lt;br /&gt;
    Event code 174 (Exit)&lt;br /&gt;
    Event code 177 (ScrollUp)&lt;br /&gt;
    Event code 178 (ScrollDown)&lt;br /&gt;
    Event code 181 (?)&lt;br /&gt;
    Event code 206 (Close)&lt;br /&gt;
    Event code 207 (Play)&lt;br /&gt;
    Event code 208 (Fast Forward)&lt;br /&gt;
    Event code 209 (Bass Boost)&lt;br /&gt;
    Event code 210 (Print)&lt;br /&gt;
    Event code 212 (Camera)&lt;br /&gt;
    Event code 213 (Sound)&lt;br /&gt;
    Event code 219 (Finance)&lt;br /&gt;
    Event code 234 (?)&lt;br /&gt;
    Event code 235 (?)&lt;br /&gt;
    Event code 256 (Btn0)&lt;br /&gt;
    Event code 358 (Info)&lt;br /&gt;
    Event code 362 (Program)&lt;br /&gt;
    Event code 366 (PVR)&lt;br /&gt;
    Event code 376 (PC)&lt;br /&gt;
    Event code 377 (TV)&lt;br /&gt;
    Event code 378 (TV2)&lt;br /&gt;
    Event code 379 (VCR)&lt;br /&gt;
    Event code 380 (VCR2)&lt;br /&gt;
    Event code 381 (Sat)&lt;br /&gt;
    Event code 383 (CD)&lt;br /&gt;
    Event code 384 (Tape)&lt;br /&gt;
    Event code 385 (Radio)&lt;br /&gt;
    Event code 386 (Tuner)&lt;br /&gt;
    Event code 389 (DVD)&lt;br /&gt;
    Event code 396 (Memo)&lt;br /&gt;
    Event code 397 (Calendar)&lt;br /&gt;
    Event code 402 (ChannelUp)&lt;br /&gt;
    Event code 403 (ChannelDown)&lt;br /&gt;
    Event code 405 (Last)&lt;br /&gt;
    Event code 416 (?)&lt;br /&gt;
    Event code 417 (?)&lt;br /&gt;
    Event code 418 (?)&lt;br /&gt;
    Event code 419 (?)&lt;br /&gt;
    Event code 420 (?)&lt;br /&gt;
    Event code 421 (?)&lt;br /&gt;
    Event code 422 (?)&lt;br /&gt;
    Event code 423 (?)&lt;br /&gt;
    Event code 424 (?)&lt;br /&gt;
    Event code 425 (?)&lt;br /&gt;
    Event code 426 (?)&lt;br /&gt;
    Event code 427 (?)&lt;br /&gt;
    Event code 428 (?)&lt;br /&gt;
    Event code 429 (?)&lt;br /&gt;
    Event code 430 (?)&lt;br /&gt;
  Event type 2 (Relative)&lt;br /&gt;
    Event code 6 (HWheel)&lt;br /&gt;
  Event type 3 (Absolute)&lt;br /&gt;
    Event code 32 (Volume)&lt;br /&gt;
      Value      0&lt;br /&gt;
      Min        0&lt;br /&gt;
      Max      572&lt;br /&gt;
  Event type 20 (Repeat)&lt;br /&gt;
Testing ... (interrupt to exit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esperanto</name></author>
	</entry>
</feed>