All posts tagged config

Configuring the Zotac ZBOX remote control

After purchasing the Zotac ZBOX nano AD10, I noticed that not all of the buttons on the remote worked in XBMCbuntu, and playing with various lirc options didn’t seem to yield any results.

Using the remote without any changes the following buttons would not work:

  • sleep
  • wake
  • teletext
  • programme
  • Windows button
  • red
  • blue
  • green
  • yellow

After a bit of playing with lirc, I could get some more buttons to be recognised by choosing Linux input layer (/dev/input/eventX) as the lirc device, but still the following buttons would not work:

  • teletext
  • Windows button
  • red
  • blue
  • green
  • yellow

I gave in and posted a message on the XBMC forums (XBMCbuntu some buttons not working PHILIPS MCE USB IR Receiver-Spinel plus) and an awesome user – FernetMenta – helped me out with a custom version of lirc that supports the Zotac remote.

I’ve reproduced the steps below, so that when I no doubt come to reinstalling at some point in the future, I don’t have to look too far!

[Update]
It seems some people are having issues when following these instructions, they worked just fine for me but then there are always little differences. Theres quite a bit of help in the comments at the bottom, of if you don’t fancy reading through them, I would suggest taking a look over at Guilmxm’s blog where he has put together instructions based on those below, as well as his updates from the comments.

1. Remove lirc

> sudo apt-get remove lirc

2. Install some extra packages

> sudo apt-get install automake dialog libtool

3. Download the version from FernetMenta (In case it ever moves, I’ve forked it over at my account)

> wget https://github.com/FernetMenta/lirc/tarball/master -O lirc.tar.gz
> tar -xf lirc.tar.gz

4a. Configure and install the new lirc, when running setup.sh, select driver zotac under usb, save & configure

> ./autogen.sh
> ./setup.sh
> make
> sudo make install

4b. If missing, create links in /usr/sbin

> cd /usr/sbin
> sudo ln -s ../local/sbin/lircd lircd
> sudo ln -s ../local/sbin/lircmd lircmd

5. Stop X11 from registering device as keyboard by putting the following at the bottom of /usr/share/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
  Identifier "PHILIPS MCE USB IR Receiver- Spinel plus"
  MatchProduct "PHILIPS MCE USB IR Receiver- Spinel plus"
  MatchIsKeyboard "true"
  Option "Ignore" "true"
EndSection

6. Add a alias in udev to /dev/remote by creating a new file at /etc/udev/rules.d/10-local.rules with the following:

SUBSYSTEM=="usb" , ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", SYMLINK+="remote", ACTION=="add", RUN+="/sbin/initctl --quiet emit --no-wait ir-ready"

6. Create config files – see below
7. Reboot and hopefully it should all work

/etc/lirc/hardware.conf

# hardware.conf for Zotac
#
REMOTE="Zotac MCE Remote"
REMOTE_MODULES=""
REMOTE_DRIVER="zotac"
REMOTE_DEVICE="/dev/remote"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="zotac/lircd.conf.zotac"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
LOAD_MODULES="true"
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""

 

/etc/lirc/lircd.conf

# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.9.1-git(zotac) on Mon Apr  2 14:10:29 2012
#
# contributed by
#
# brand:                       zotac.conf
# model no. of remote control:
# devices being controlled by this remote:
#

begin remote

  name  zotac.conf
  bits           32
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  gap          100123
  min_repeat      9
#  suppress_repeat 9
#  uncomment to suppress unwanted repeats
#  toggle_bit_mask 0x7004F

      begin codes
          KEY_SLEEP                0x00010082
          KEY_WAKEUP               0x00010083
          KEY_RECORD               0x000C00B2
          KEY_PAUSE                0x000C00B1
          KEY_STOP                 0x000C00B7
          KEY_REWIND               0x000C00B4
          KEY_PLAY                 0x000C00B0
          KEY_FORWARD              0x000C00B3
          KEY_LEFTSHIFT            0x000C00B6
          KEY_RIGHTSHIFT           0x000C00B5
          KEY_BACK                 0x000C0224
          KEY_INFO                 0x000C0209
          KEY_MENU                 0xFFBC000D
          KEY_UP                   0x00070052
          KEY_LEFT                 0x00070050
          KEY_RIGHT                0x0007004F
          KEY_DOWN                 0x00070051
          KEY_OK                   0x00070028
          KEY_VOLUMEUP             0x000C00E9
          KEY_VOLUMEDOWN           0x000C00EA
          KEY_MUTE                 0x000C00E2
          KEY_CHANNELUP            0x000C009C
          KEY_CHANNELDOWN          0x000C009D
          KEY_1                    0x0007001E
          KEY_2                    0x0007001F
          KEY_3                    0x00070020
          KEY_4                    0x00070021
          KEY_5                    0x00070022
          KEY_6                    0x00070023
          KEY_7                    0x00070024
          KEY_8                    0x00070025
          KEY_9                    0x00070026
          KEY_0                    0x00070027
          KEY_NUMERIC_STAR         0x10070025
          KEY_NUMERIC_POUND        0x10070020
          KEY_CLEAR                0x00070029
          KEY_TEXT                 0xFFBC005A
          KEY_TITLE                0x000C008D
          KEY_ENTER                0x00070028
          KEY_RED                  0xFFBC005B
          KEY_GREEN                0xFFBC005C
          KEY_YELLOW               0xFFBC005D
          KEY_BLUE                 0xFFBC005E
      end codes

end remote

 

~/.xbmc/userdata/Lircmap.xml

<lircmap>
    <remote device="zotac.conf">
        <power>KEY_SLEEP</power>
        <wake>KEY_WAKEUP</wake>
        <record>KEY_RECORD</record>
        <pause>KEY_PAUSE</pause>
        <stop>KEY_STOP</stop>
        <reverse>KEY_REWIND</reverse>
        <play>KEY_PLAY</play>
        <forward>KEY_FORWARD</forward>
        <skipminus>KEY_LEFTSHIFT</skipminus>
        <skipplus>KEY_RIGHTSHIFT</skipplus>
        <back>KEY_BACK</back>
        <info>KEY_INFO</info>
        <display>KEY_MENU</display>
        <up>KEY_UP</up>
        <left>KEY_LEFT</left>
        <right>KEY_RIGHT</right>
        <down>KEY_DOWN</down>
        <select>KEY_OK</select>
        <volumeplus>KEY_VOLUMEUP</volumeplus>
        <volumeminus>KEY_VOLUMEDOWN</volumeminus>
        <mute>KEY_MUTE</mute>
        <up>KEY_CHANNELUP</up>
        <down>KEY_CHANNELDOWN</down>
        <zero>KEY_0</zero>
        <one>KEY_1</one>
        <two>KEY_2</two>
        <three>KEY_3</three>
        <four>KEY_4</four>
        <five>KEY_5</five>
        <six>KEY_6</six>
        <seven>KEY_7</seven>
        <eight>KEY_8</eight>
        <nine>KEY_9</nine>
        <red>KEY_RED</red>
            <green>KEY_GREEN</green>
            <yellow>KEY_YELLOW</yellow>
            <blue>KEY_BLUE</blue>
        <star>KEY_NUMERIC_STAR</star>
        <hash>KEY_NUMERIC_POUND</hash>
        <subtitle>KEY_TEXT</subtitle>
        <title>KEY_TITLE</title>
        <clear>KEY_CLEAR</clear>
    </remote>
</lircmap>