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>

32 Comments on "Configuring the Zotac ZBOX remote control"

  1. Summ0n says:

    Hi, just wanted to let you know I’m using a Zotac AD10-Plus and just used your instructions and its working, thanks so much for putting up such a great tutorial out there for other users.

    I consider myself a beginner/newbie of linux, just a thought, I had to google manually to see how to delete or edit a file under ssh, might wanna add the command for other novice like me Smile

    Thanks

    • Ben Periton says:

      Hey,

      No worries, glad it helped Smile

      In response to your email, im not at home at the moment so can’t test, but Im pretty sure that I get the OSD by pressing the windows button.

      If not, you should be able to set it up how you want by modifying ~/.xbmc/userdata/Lircmap.xml or ~/.xbmc/userdata/remote.xml

      The remote.xml lets you map what XBMC action happens at a certain point, so it might just be a se of seeing what action is mapped for the OSD, then changing Lircmap.xml to map the button you want to use.

  2. FreeFreak says:

    Hey,
    I really like your tutorial to setup the IR remote. I’m using Debian Wheezy (testing) and it works like a charm. Though if you could help me create a lircrc config file so I can use it with any application that’ll be great!

    Thanks

  3. FreeFreak says:

    Forgot to mention that I want to create the config for irxevent

  4. Fantastic, the thread I was following at generation-nt. com was leading me in all sorts of directions. This just took me straight there.

    http://us.generation-nt.com/answer/need-help-ir-remote-control-ubuntu-11-10-help-206956692.html

    I got stuck in section 4a, because I’d not done the “save & configure” from the instructions

  5. Guilmxm says:

    Hi,

    Thank you very much for sharing this, it really helped in configuring the remote control in my Zotac AD10 ! (i referenced your tutorial in mine too)

    However, i observed some random bugs and hazardous working under my system (running XBMC stable Eden from under Lubuntu 12.04), one touch could implies sometimes random or infinite action repeat Curse

    I thought about a conflict between internal and external IR receiver (i deactivated the internal under th EIFI) but no change

    Does any one had same experience ?

    @++

  6. rodrigo says:

    i’m stucked on 5 – how do i edit the files?

    thanks

  7. Dan says:

    Hi,
    great tutorial! Now mi remote control is workin in my new NanoAD10 + Ubuntu 12.04 + XBMC 11! Thanks a lot!

    Only one ponit: Is it possible to use the internal IR and not the USB IR? How can we configure it? I would like not to lose one usb port using the USB receiver Smile

    thanks again

  8. rodrigo says:

    is there a way to reset the changes and get back to the default linux settings?

  9. Guilmxm says:

    Hi Dan,

    Please tell me, i have exactly the same configuration and experienced constant key repeating using the remote control with the USB IR receiver, don’t you have any problem ?

    In my case, the MCE zotac remote is a little bit useless as it does really work fine…

    Can you give your kernel version please ?

    Also, i don’t know if you experienced this but this configuration did not allow me to use the menu button (the green Windows), i had to change some configurations:

    KEY_SLEEP
    KEY_WAKEUP
    KEY_RECORD
    KEY_PAUSE
    KEY_STOP
    KEY_REWIND
    KEY_PLAY
    KEY_FORWARD
    KEY_LEFTSHIFT
    KEY_RIGHTSHIFT
    KEY_BACK
    KEY_INFO
    KEY_MENU
    KEY_UP
    KEY_LEFT
    KEY_RIGHT
    KEY_DOWN
    KEY_OK
    KEY_VOLUMEUP
    KEY_VOLUMEDOWN
    KEY_MUTE
    KEY_CHANNELUP
    KEY_CHANNELDOWN
    KEY_0
    KEY_1
    KEY_2
    KEY_3
    KEY_4
    KEY_5
    KEY_6
    KEY_7
    KEY_8
    KEY_9
    KEY_RED
    KEY_GREEN
    KEY_YELLOW
    KEY_BLUE
    KEY_NUMERIC_STAR
    KEY_NUMERIC_POUND
    KEY_TEXT
    KEY_TITLE
    KEY_CLEAR

    you’ll find it here: http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html

    Thks

    • Ben Periton says:

      Thanks for that, mine seems to work ok, but I use mine for the OSD, when I get a chance ill update the post to reflect these comments Smile

      I also see you have fixed the power on/off issue on your blog, so I will be implementing that layer – thanks!

    • Dan says:

      Hi Guilmxm,

      My remote control has been working fine since last OS update. After that, the key-repeating problem has started to happen in my XBMC Frown. I have to review what’s changed…

      My kernel version is:
      Linux MPC 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

      Regarding “Menu Button”:
      * from ~/.xbmc/userdata/Lircmap.xml: KEY_MENU
      * from /etc/lirc/lircd.conf: KEY_MENU 0xFFBC000D
      * from /usr/share/xbmc/system/keymaps/remote.xml: XBMC.ActivateWindow(Home) (I used this button to return to main menu in XBMC).

      This worked for me but, as I said before, my remote control isn’t working right now. I’ll update you if I get it work.

      • Dan says:

        Please, note that the xml tags have disappered from my last post…. all the tags are “menu” and “/menu”

        • Dan says:

          Hi Guilmxm,

          Fixed! The problem was that some of the upgrades changed /usr/share/X11/xorg.conf.d/10-edev.conf file. I’ve reconfigured it following the instructions from this blog and now it is working again!

          Please, let me know if you need further information or help Wink

  10. Guilmxm says:

    I sent the wrong config file, i meant ~/.xbmc/userdata/Lircmap.xml with:

    KEY_SLEEP
    KEY_WAKEUP
    KEY_RECORD
    KEY_PAUSE
    KEY_STOP
    KEY_REWIND
    KEY_PLAY
    KEY_FORWARD
    KEY_LEFTSHIFT
    KEY_RIGHTSHIFT
    KEY_BACK
    KEY_INFO
    KEY_MENU
    KEY_UP
    KEY_LEFT
    KEY_RIGHT
    KEY_DOWN
    KEY_OK
    KEY_VOLUMEUP
    KEY_VOLUMEDOWN
    KEY_MUTE
    KEY_CHANNELUP
    KEY_CHANNELDOWN
    KEY_0
    KEY_1
    KEY_2
    KEY_3
    KEY_4
    KEY_5
    KEY_6
    KEY_7
    KEY_8
    KEY_9
    KEY_RED
    KEY_GREEN
    KEY_YELLOW
    KEY_BLUE
    KEY_NUMERIC_STAR
    KEY_NUMERIC_POUND
    KEY_TEXT
    KEY_TITLE
    KEY_CLEAR

    To make the Windows Home green button to work.

  11. Mark says:

    Hi

    Great info, thanks for that all working except for on thing. However the Windows button does not go back to the home screen. I have the ID-82 zbox mini pc, so maybe the keycode is different for that button then what is listed above?
    Any ideas?

    Thanks
    Mark

  12. Guilmxm says:

    Hi,

    I had the same issue than you, just edit ~/.xbmc/userdata/Lircmap.xml and change the pattern “display” to “menu” :

    old:
    “KEY_MENU”

    new:
    “KEY_MENU”

  13. Guilmxm says:

    sorry can’t putt in comment the real code, just change the pattern from display top menu…

  14. Guilmxm says:

    Hi Dan,

    I haven’t seen your message before Smile Thanks for your answer, i will try that as soon as possible !

    Thks!

  15. SikeMo says:

    I have followed the instructions in this article to a “T” and have had no luck with my ZBOX nano AD10. I am running XBMCBuntu instead of the full OS. Could that have anything to do with it?

    • Ben Periton says:

      Hey, these instructions are based on XBMCbuntu, what error are you getting?

      • SikeMo says:

        I am not getting any kind of error. The remote just doesn’t respond. It worked, albeit with the missing buttons, before I followed these instructions. Now it is unresponsive. I have gone through the instructions twice now and can’t find anything wrong. However, looking back at the top, I never initially selected “Linux input layer (/dev/input/eventX) as the lirc device”. before performing the modifications.

  16. Brookz says:

    Thank you!!

    followed step by step with Zotax Zbox ID80 Plus U and all remote works perfect.

  17. Philippe says:

    Thanks a lot for your solution. I use a Dell RC6 remote control, which is identical to the Zotac remote control, and all buttons work fine, except two : the home and power buttons (the red buttons above).

    Do anybody have the same problem and know how to fix it?
    Thanks in advance.

  18. Guilmxm says:

    @Philippe:

    Hi, you have to change a line in the file ~/.xbmc/userdata/Lircmap.xml, look for the line containing KEY_MENU and change “display” to “start”.
    Reload XBMC and you’ll get the Home button working Smile

    @Ben beriton: Could you update you tuto ? i think everyone will have the same problem Cool
    Also, we are several people to have others issues, could you udate and mention:

    1. – Xorg updates will overwrite /usr/share/X11/xorg.conf.d/10-evdev.conf, if you have trouble with latency and repeating keys, double check this file and correct if required

    2. – On some systems (i had the case under Xubuntu 12.04), you have to blacklist a module called “ite_cir” to prevent the kernel from loading the internal IR, in my system it generated lot of troubles:

    edit /etc/modprob.d/blacklist.conf and add “blacklist ite_cir” and reboot

    Thks!

  19. Guilmxm says:

    Also is lacking a step to autostart LIRC at system startup with good options (and not using packaged init script):

    Ensure the original LIRC init script does not exist:
    $ sudo rm /etc/init.d/lirc

    Create “/etc/udev/rules.d/85-xbmc.rules”:

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

    Create “/etc/init/lirc.conf”:

    description “lirc”
    emits “lirc-ready”
    expect fork
    start on (remote-filesystems
    and local-filesystems
    and started rsyslog
    and ir-ready)
    stop on runlevel [!2345]

    pre-start script
    while [ ! -e /dev/remote ]
    do
    sleep 1
    done
    mkdir /var/run/lirc
    end script

    exec /usr/local/sbin/lircd –driver=zotac –device=/dev/remote

    post-start script
    ln -s /var/run/lirc/lircd /dev/lircd
    end script

    post-stop script
    rm /dev/lircd
    rm -rf /var/run/lirc
    end script

    See Post #14 of http://forum.xbmc.org/showthread.php?tid=133071&page=2 or my own article http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html

  20. Guilmxm says:

    it is also lacking a proper state for LIRC launch at system startup, you have to delete original packaged lirc init script (/etc/init.d/lrc) and follow:

    #Post 14 of http://forum.xbmc.org/showthread.php?tid=133071&page=2

    Or my own article based on your work for thze remote MCE config:
    http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html

    Thanks!

  21. Terry says:

    Anyone know the mapping for the context menu for this zotac remote? Thanka

  22. Terry says:

    Nevermind, it is the title button. D’oh.

  23. Philippe says:

    Guilmxm:
    Thanks for your answer. In fact, i think the problem comes from the etc/lirc/lircd.conf file. The power button is not recognized at all. I’ve fixed the problem by using the latest version of OPENELEC instead of XBMCubuntu.

Trackbacks for this post

  1. ZOTAC ID80 MYTHBUNTU Y UBUNTU 12.04 « Deflagmator's Blog