Difference between revisions of "X10"

From ArchWiki
Jump to: navigation, search
m (Blacklist not working module: Fixed typo)
(18 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:Other hardware (English)]]
+
[[Category:Other hardware]]
X10 is a radio remote compatible with [[lirc]]
+
X10 is a radio remote compatible with [[LIRC]]
  
== Install lirc ==
+
== Install LIRC ==
  
 
  # pacman -S lirc lirc-utils
 
  # pacman -S lirc lirc-utils
  
The package lirc provides the right kernel module.
+
The package ''lirc'' provides the right kernel module.
 +
 
 +
To support power actions directly from xbmc (like shutdown option) upower and consolekit packages need to be installed
 +
 
 +
# pacman -S upower consolekit
  
 
==Blacklist not working module==
 
==Blacklist not working module==
  
For some reason udev loads the wrong kernel module for this radio remote, so you need to blacklist it. this is done in /etc/rc.conf
+
For some reason udev loads the wrong kernel module for this radio remote, so you need to blacklist it. This is done in {{ic|/etc/modprobe.d/}}
  
 
Errors in dmesg with the wrong module:
 
Errors in dmesg with the wrong module:
Line 17: Line 21:
 
  ati_remote: Weird data, len=5 20 fa db 5d b6 00 ...
 
  ati_remote: Weird data, len=5 20 fa db 5d b6 00 ...
  
To blacklist:
+
To blacklist the module create the following file:
MODULES=(... !ati_remote)
+
{{hc|/etc/modprobe.d/remote_blacklist.conf|
 +
# For some reason udev loads the wrong kernel module for the X10 radio remote, so blacklist it
 +
blacklist ati_remote
 +
}}
  
 
You need to unload the wrong kernel module manually if you attached the receiver before blacklisting the module.
 
You need to unload the wrong kernel module manually if you attached the receiver before blacklisting the module.
 +
 +
If blacklisting is not working properly, use rc.local file to unload module manually.
 +
 +
rmmod ati_remote && /etc/rc.d/lircd restart
  
 
Add the daemon to the daemons array to start it at boot:
 
Add the daemon to the daemons array to start it at boot:
Line 28: Line 39:
 
This maps the keys from your remote to strings you can use for programs like mplayer.
 
This maps the keys from your remote to strings you can use for programs like mplayer.
  
It can automatically generated or copied from one of the provided examples in /usr/share/lirc/remotes. More details are available at [[Lirc#Making_a_configuration_file]].
+
It can automatically generated or copied from one of the provided examples in {{ic|/usr/share/lirc/remotes}}.  
 +
 
 +
To generate your own lircd.conf use:
 +
 
 +
  sudo irrecord -H atilibusb --disable-namespace lircd.conf
 +
 
 +
More details are available at [[LIRC#Making_a_configuration_file]].
  
 
Here is one for a Medion X10 Remote:
 
Here is one for a Medion X10 Remote:
<pre>
+
{{bc|
 
# Please make this file available to others
 
# Please make this file available to others
 
# by sending it to <lirc@bartelmus.de>
 
# by sending it to <lirc@bartelmus.de>
Line 107: Line 124:
 
           clear                    0x0530
 
           clear                    0x0530
 
           enter                    0x8BB6
 
           enter                    0x8BB6
 +
          photo                    0x5A85
 +
          music                    0xDB06
 +
          video                    0x82AD
 
       end codes
 
       end codes
  
 
end remote
 
end remote
</pre>
+
}}
 +
 
 +
Alternate config file:
 +
 
 +
{{bc|
 +
begin remote
 +
 
 +
  name        mceusb
 +
  bits          16
 +
  eps            30
 +
  aeps          100
 +
 
 +
  one            0    0
 +
  zero            0    0
 +
  pre_data_bits  8
 +
  pre_data      0x14
 +
  post_data_bits  16
 +
  post_data      0x0
 +
  gap          227978
 +
  suppress_repeat  12
 +
  min_repeat    3
 +
  toggle_bit_mask 0x80800000
 +
 
 +
    begin codes
 +
BDelete                0xF520
 +
BBlue                  0x0A35
 +
BChanUp                0xE00B
 +
BChanDown              0x618C
 +
BChannelList            0x85B0
 +
BDown                  0x77A2
 +
BDVD                    0xD904
 +
BEight                  0xE914
 +
BReneme                0x0B36
 +
BFive                  0x6691
 +
BForward                0x7BA6
 +
BFour                  0xE510
 +
BGreen                  0x88B3
 +
BVideoDesktop          0x0631
 +
BEditImage              0x0D38
 +
BSetup                  0x709B
 +
BSnapshot              0x6D98
 +
BLeft                  0x729D
 +
BChannelSearch          0x719C
 +
BTvPreview              0x84AF
 +
BMute                  0xD500
 +
BNine                  0x6A95
 +
BOK                    0xF31E
 +
BOne                    0x628D
 +
BPause                  0xFE29
 +
BPlay                  0xFA25
 +
BPower                  0xD702
 +
BRecord                0xFC27
 +
BRed                    0x87B2
 +
BPrevious              0x76A1
 +
BRewind                0x79A4
 +
BRight                  0xF41F
 +
BSeven                  0x6893
 +
BSix                    0xE712
 +
BNext                  0xF823
 +
BAcquireImage          0x8CB7
 +
BStop                  0x7DA8
 +
BTxt                    0x6B96
 +
BThree                  0x648F
 +
BTwo                    0xE30E
 +
BUp                    0xEF1A
 +
BVolDown                0x5D88
 +
BVolUp                  0xDE09
 +
BYellow                0x0934
 +
BZero                  0xEC17
 +
BTv                    0x012C
 +
BVcr                    0x022D
 +
BMusic                  0xDB06
 +
BRadio                  0x032E
 +
BPhoto                  0xDA05
 +
BFullscreen            0x0E39
 +
BDvdmenu                0xEE19
 +
BDvdaudio              0x0F3A
 +
      end codes
 +
end remote
 +
}}
  
 
== Edit /etc/conf.d/lircd.conf ==
 
== Edit /etc/conf.d/lircd.conf ==
  
Recent versions of lirc drop support for the lirc_atiusb kernel module and so it is now necessary to use the atilibusb driver.
+
Recent versions of LIRC drop support for the lirc_atiusb kernel module and so it is now necessary to use the atilibusb driver.
  
 
Simply add "atilibusb" to the LIRC_DRIVER field so that the file looks like this:
 
Simply add "atilibusb" to the LIRC_DRIVER field so that the file looks like this:
Line 124: Line 223:
 
  LIRC_EXTRAOPTS=""
 
  LIRC_EXTRAOPTS=""
 
  LIRC_CONFIGFILE=""
 
  LIRC_CONFIGFILE=""
 
  
 
== Starting lircd ==
 
== Starting lircd ==
Line 133: Line 231:
 
You need to remove --disable-lirc from mplayers PKGBUILD and recompile it, as it is disabled by default (04.02.09)
 
You need to remove --disable-lirc from mplayers PKGBUILD and recompile it, as it is disabled by default (04.02.09)
  
You can check if lirc support is compiled in with "mplayer -v someplayablefile.xyz", look for "Setting up LIRC support.
+
You can check if LIRC support is compiled in with "mplayer -v someplayablefile.xyz", look for "Setting up LIRC support.
  
~/.lircrc is the default mplayer filename for the lirc config, see man mplayer to change this.
+
{{ic|~/.lircrc}} is the default mplayer filename for the LIRC config, see man mplayer to change this.
  
Change in ~/.lircrc:
+
Change in {{ic|~/.lircrc}}:
<pre>
+
{{bc|1=
 
begin
 
begin
 
     button = VOLUME_UP      #VOLUME_UP is the string defined in /etc/lirc/lircd.conf
 
     button = VOLUME_UP      #VOLUME_UP is the string defined in /etc/lirc/lircd.conf
Line 193: Line 291:
 
config = osd_show_property_text "${time_pos} / ${length}"
 
config = osd_show_property_text "${time_pos} / ${length}"
 
end
 
end
</pre>
+
}}
  
 
==Boxee (and XBMC)==
 
==Boxee (and XBMC)==
 
Information about how to get the X10 remote control working in Boxee and XBMC is available: [[Boxee-source#LIRC_Remote_Controls]]
 
Information about how to get the X10 remote control working in Boxee and XBMC is available: [[Boxee-source#LIRC_Remote_Controls]]
 +
 +
Example ~/.xbmc/userdata/Lircmap.xml file (compatible with alternate lircd.conf posted above)
 +
 +
{{bc|<nowiki>
 +
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  -->
 +
 +
<lircmap>
 +
        <remote device="mceusb">
 +
                <pause>BPause</pause>
 +
                <stop>BStop</stop>
 +
                <forward>BForward</forward>
 +
                <reverse>BRewind</reverse>
 +
                <left>BLeft</left>
 +
                <right>BRight</right>
 +
                <up>BUp</up>
 +
                <down>BDown</down>
 +
                <select>BOK</select>
 +
                <pageplus>BChanUp</pageplus>
 +
                <pageminus>BChanDown</pageminus>
 +
                <back>BDelete</back>
 +
                <menu></menu>
 +
                <title>BChannelSearch</title>
 +
                <info>BSnapshot</info>
 +
                <skipplus>BNext</skipplus>
 +
                <skipminus>BPrevious</skipminus>
 +
                <display></display>
 +
                <start>BPlay</start>
 +
                <record>BRecord</record>
 +
                <volumeplus>BVolUp</volumeplus>
 +
                <volumeminus>BVolDown</volumeminus>
 +
                <mute>BMute</mute>
 +
                <myvideo>BRed</myvideo>
 +
                <mymusic>BYellow</mymusic>
 +
                <mypictures>BGreen</mypictures>
 +
                <mytv>BBlue</mytv>
 +
                <one>BOne</one>
 +
                <two>BTwo</two>
 +
                <three>BThree</three>
 +
                <four>BFour</four>
 +
                <five>BFive</five>
 +
                <six>BSix</six>
 +
                <seven>BSeven</seven>
 +
                <eight>BEight</eight>
 +
                <nine>BNine</nine>
 +
                <zero>BZero</zero>
 +
                <PlayDVD>BDVD</PlayDVD>
 +
                <ShowVideoMenu>BDvdmenu</ShowVideoMenu>
 +
                <NextSubtitle>BTxt</NextSubtitle>
 +
                <AudioNextLanguage>BDvdaudio</AudioNextLanguage>
 +
                <ContextMenu>BSetup</ContextMenu>
 +
        </remote>
 +
</lircmap>
 +
</nowiki>}}

Revision as of 13:08, 13 June 2012

X10 is a radio remote compatible with LIRC

Install LIRC

# pacman -S lirc lirc-utils

The package lirc provides the right kernel module.

To support power actions directly from xbmc (like shutdown option) upower and consolekit packages need to be installed

# pacman -S upower consolekit

Blacklist not working module

For some reason udev loads the wrong kernel module for this radio remote, so you need to blacklist it. This is done in /etc/modprobe.d/

Errors in dmesg with the wrong module:

ati_remote 1-1.1:1.0: Unknown input from channel 0x00: data 72,9d
ati_remote: Weird data, len=5 20 fa 5b 65 b6 20 ...
ati_remote: Weird data, len=5 20 fa db 5d b6 00 ...

To blacklist the module create the following file:

/etc/modprobe.d/remote_blacklist.conf
# For some reason udev loads the wrong kernel module for the X10 radio remote, so blacklist it
blacklist ati_remote

You need to unload the wrong kernel module manually if you attached the receiver before blacklisting the module.

If blacklisting is not working properly, use rc.local file to unload module manually.

rmmod ati_remote && /etc/rc.d/lircd restart

Add the daemon to the daemons array to start it at boot:

DAEMONS="(... lircd)"

Create /etc/lirc/lircd.conf

This maps the keys from your remote to strings you can use for programs like mplayer.

It can automatically generated or copied from one of the provided examples in /usr/share/lirc/remotes.

To generate your own lircd.conf use:

 sudo irrecord -H atilibusb --disable-namespace lircd.conf

More details are available at LIRC#Making_a_configuration_file.

Here is one for a Medion X10 Remote:

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.2(default) on Sun Aug 12 02:13:30 2007
#
# contributed by Ben Adler @ gmx dot net
#
# brand: Medion / X10 (part of http://www.medion.de/md8824/)
# remote control: RF Vista Remote Control (OR24V)
# P/N: 2003 5335
# devices being controlled by this remote: USB RF remote receiver (CM20E), P/N 2003 1776

begin remote

  name  Medion_X10
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   8
  pre_data       0x14
  post_data_bits  16
  post_data      0x0
  gap          227978
  toggle_bit_mask 0x80800000

      begin codes
          red                      0x87B2
          yellow                   0x0934
          blue                     0x8AB5
          green                    0x0833
          power                    0xD702
          text                     0xEB16
          tvrecord                 0x6D98
          disc                     0xD904
          table                    0x86B1
          tvplay                   0xF11C
          back                     0x75A0
          info                     0x042F
          volume_up                0x5E89
          volume_down              0xDD08
          mute                     0x5580
          channel_up               0xE00B
          channel_down             0x618C
          cursor_up                0xEF1A
          cursor_down              0x77A2
          cursor_left              0xF21D
          cursor_right             0x749F
          ok                       0xF31E
          start                    0x709B
          track_previous           0xF621
          track_next               0x78A3
          record                   0xFC27
          pause                    0x7EA9
          stop                     0xFD28
          seek_backward            0x79A4
          play                     0xFA25
          seek_forward             0x7BA6
          1                        0xE20D
          2                        0x638E
          3                        0xE40F
          4                        0x6590
          5                        0xE611
          6                        0x6792
          7                        0xE813
          8                        0x6994
          9                        0xEA15
          0                        0x6C97
          asterisk                 0x0C37
          hash                     0x8DB8
          clear                    0x0530
          enter                    0x8BB6
          photo                    0x5A85
          music                    0xDB06
          video                    0x82AD
      end codes

end remote

Alternate config file:

begin remote

  name        mceusb
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   8
  pre_data       0x14
  post_data_bits  16
  post_data      0x0
  gap          227978
  suppress_repeat  12
  min_repeat     3
  toggle_bit_mask 0x80800000

     begin codes
BDelete                 0xF520
BBlue                   0x0A35
BChanUp                 0xE00B
BChanDown               0x618C
BChannelList            0x85B0
BDown                   0x77A2
BDVD                    0xD904
BEight                  0xE914
BReneme                 0x0B36
BFive                   0x6691
BForward                0x7BA6
BFour                   0xE510
BGreen                  0x88B3
BVideoDesktop           0x0631
BEditImage              0x0D38
BSetup                  0x709B
BSnapshot               0x6D98
BLeft                   0x729D
BChannelSearch          0x719C
BTvPreview              0x84AF
BMute                   0xD500
BNine                   0x6A95
BOK                     0xF31E
BOne                    0x628D
BPause                  0xFE29
BPlay                   0xFA25
BPower                  0xD702
BRecord                 0xFC27
BRed                    0x87B2
BPrevious               0x76A1
BRewind                 0x79A4
BRight                  0xF41F
BSeven                  0x6893
BSix                    0xE712
BNext                   0xF823
BAcquireImage           0x8CB7
BStop                   0x7DA8
BTxt                    0x6B96
BThree                  0x648F
BTwo                    0xE30E
BUp                     0xEF1A
BVolDown                0x5D88
BVolUp                  0xDE09
BYellow                 0x0934
BZero                   0xEC17
BTv                     0x012C
BVcr                    0x022D
BMusic                  0xDB06
BRadio                  0x032E
BPhoto                  0xDA05
BFullscreen             0x0E39
BDvdmenu                0xEE19
BDvdaudio               0x0F3A
      end codes
end remote

Edit /etc/conf.d/lircd.conf

Recent versions of LIRC drop support for the lirc_atiusb kernel module and so it is now necessary to use the atilibusb driver.

Simply add "atilibusb" to the LIRC_DRIVER field so that the file looks like this:

# Parameters for lirc daemon
#

LIRC_DEVICE="/dev/lirc0"
LIRC_DRIVER="atilibusb"
LIRC_EXTRAOPTS=""
LIRC_CONFIGFILE=""

Starting lircd

# /etc/rc.d/lircd start

Example mplayer config

You need to remove --disable-lirc from mplayers PKGBUILD and recompile it, as it is disabled by default (04.02.09)

You can check if LIRC support is compiled in with "mplayer -v someplayablefile.xyz", look for "Setting up LIRC support.

~/.lircrc is the default mplayer filename for the LIRC config, see man mplayer to change this.

Change in ~/.lircrc:

begin
     button = VOLUME_UP       #VOLUME_UP is the string defined in /etc/lirc/lircd.conf
     prog = mplayer            
     config = volume 1         #this is mplayers internal command, see "mplayer -input cmdlist" for more
end

begin
    button = VOLUME_DOWN
    prog = mplayer
    config = volume -1
end

begin
	button = RIGHT
	prog = mplayer
	config = seek +1
end

begin
	button = LEFT
	prog = mplayer
	config = seek -1
end

begin
	button = UP
	prog = mplayer
	config = seek +50
end

begin
	button = DOWN
	prog = mplayer
	config = seek -50
end

begin
	button = PLAY
	prog = mplayer
	config = pause
end

begin
	button = PAUSE
	prog = mplayer
	config = pause 
end
#show elapse/total time in the upper left corner
#Source: http://prasinos.eu/articles/mplayer-lirc-elapsed-time
begin
	button = GUIDE
	prog = mplayer
	config = osd_show_property_text "${time_pos} / ${length}"
end

Boxee (and XBMC)

Information about how to get the X10 remote control working in Boxee and XBMC is available: Boxee-source#LIRC_Remote_Controls

Example ~/.xbmc/userdata/Lircmap.xml file (compatible with alternate lircd.conf posted above)

<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  -->

<lircmap>
        <remote device="mceusb">
                <pause>BPause</pause>
                <stop>BStop</stop>
                <forward>BForward</forward>
                <reverse>BRewind</reverse>
                <left>BLeft</left>
                <right>BRight</right>
                <up>BUp</up>
                <down>BDown</down>
                <select>BOK</select>
                <pageplus>BChanUp</pageplus>
                <pageminus>BChanDown</pageminus>
                <back>BDelete</back>
                <menu></menu>
                <title>BChannelSearch</title>
                <info>BSnapshot</info>
                <skipplus>BNext</skipplus>
                <skipminus>BPrevious</skipminus>
                <display></display>
                <start>BPlay</start>
                <record>BRecord</record>
                <volumeplus>BVolUp</volumeplus>
                <volumeminus>BVolDown</volumeminus>
                <mute>BMute</mute>
                <myvideo>BRed</myvideo>
                <mymusic>BYellow</mymusic>
                <mypictures>BGreen</mypictures>
                <mytv>BBlue</mytv>
                <one>BOne</one>
                <two>BTwo</two>
                <three>BThree</three>
                <four>BFour</four>
                <five>BFive</five>
                <six>BSix</six>
                <seven>BSeven</seven>
                <eight>BEight</eight>
                <nine>BNine</nine>
                <zero>BZero</zero>
                <PlayDVD>BDVD</PlayDVD>
                <ShowVideoMenu>BDvdmenu</ShowVideoMenu>
                <NextSubtitle>BTxt</NextSubtitle>
                <AudioNextLanguage>BDvdaudio</AudioNextLanguage>
                <ContextMenu>BSetup</ContextMenu>
        </remote>
</lircmap>