Linux Asus AT5IONT-I Deluxe: How to configure the remote?
#1
Question 
Hi,
I'm trying to run XBMC on a Asus AT5IONT-I Deluxe under Linux (XBMCbuntu). Since the Arrival of Eden it actually works and survives an "apt-get upgrade" (before it used to freeze after an update because ubuntu mistook the board for a laptop and didn't get over it having no battery.. Tongue).
So basically it works not with the big exception that I can't get the Remote Control in a meaningful way. Volume + Arrow keys + the OK key work - the special keys don't.
On top of that I own a Harmony Remote that would prefer to use with the IR Receiver of the AT5IONT-I Deluxe. The initial thought here was that that Harmony would pretend to be a MCE remote and e.g. LIRC would make sense of what the IR receiver receives. So much for the theory.
Like I said basically only Arrow, Volume, OK key do work. (something to equal the functionality of a pressed Tab key is missing most)

I tried everything stated here:
http://wiki.xbmc.org/index.php?title=Remote_controls

The linked articles didn't help and google was not my friend so far (mostly the findings actually deal with the non-deluxe version and so that particular remote is never discussed).

Some more system details which are hopefully useful:
Board: Asus AT5IONT-I Deluxe (Remote included)
Arch: i686 (of course)
Release: Ubuntu 11.10 - XBMCbuntu
Kernel: Linux 3.0.0-20-generic #34-Ubuntu SMP

# lsusb
Bus 002 Device 003: ID 0471:206c Philips (or NXP)
Bus 005 Device 002: ID 0cf3:3002 Atheros Communications, Inc.
-> Philips (or NXP) has to be the IR receiver

# irw
-> no output/nothing while pressing keys that actually do something on XBMC
(neither on MCE setting nor on Asus seeting on the Harmony)

After doing a "dpkg-reconfigure lirc" I restart LIRC and get the following output
# /etc/init.d/lirc restart
find: `/sys/class/rc/*/': No such file or directory
* Stopping remote control daemon(s): LIRC
...done.
* Loading LIRC modules
...done.
find: `/sys/class/rc/*/': No such file or directory
* Starting remote control daemon(s) : LIRC
...done.

-> LIRC does not even seem to be running properly? What is taking care of the RC?

I think I may be missing something majorly?!

My goal is to use the Harmony to conveniently control XBMC (mustn't be in the guise of an MCE remote - I'm open for suggestions.Smile)
Can anybody help / point me in the right direction?






Reply
#2
(Update) I believe part of the issue is that the remote is directly supported by the new kernel:
http://wiki.xbmc.org/index.php?title=XBM...Live.29.3F

So far I didn't find a how-to tweak however...
Reply
#3
Lightbulb 
Got a bit further along. LIRC is definitely not used in my XBMCbuntu as I can even disable it and the remote works.

Found this page which gave me some more insight.
Using the command lines therein I get the following output

# lsusb
Bus 002 Device 002: ID 0471:206c Philips (or NXP)
(we knew that already though)

# cat /proc/bus/input/devices
Code:
I: Bus=0003 Vendor=0471 Product=206c Version=0100
N: Name="PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS"
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input2
U: Uniq=
H: Handlers=sysrq kbd mouse0 event2
B: PROP=0
B: EV=120017
B: KEY=c0000 400 0 0 70000 0 58000 8001f8 4000c004 e0beffdf 1cfffff ffffffff fffffffe
B: REL=103
B: MSC=10
B: LED=1f

# evtest /dev/input/event2
Code:
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x471 product 0x206c version 0x100
Input device name: "PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 1 (Esc)
    Event code 2 (1)
    Event code 3 (2)
    Event code 4 (3)
    Event code 5 (4)
    Event code 6 (5)
    Event code 7 (6)
    Event code 8 (7)
    Event code 9 (8)
    Event code 10 (9)
    Event code 11 (0)
    Event code 12 (Minus)
    Event code 13 (Equal)
    Event code 14 (Backspace)
    Event code 15 (Tab)
    Event code 16 (Q)
    Event code 17 (W)
    Event code 18 (E)
    Event code 19 (R)
    Event code 20 (T)
    Event code 21 (Y)
    Event code 22 (U)
    Event code 23 (I)
    Event code 24 (O)
    Event code 25 (P)
    Event code 26 (LeftBrace)
    Event code 27 (RightBrace)
    Event code 28 (Enter)
    Event code 29 (LeftControl)
    Event code 30 (A)
    Event code 31 (S)
    Event code 32 (D)
    Event code 33 (F)
    Event code 34 (G)
    Event code 35 (H)
    Event code 36 (J)
    Event code 37 (K)
    Event code 38 (L)
    Event code 39 (Semicolon)
    Event code 40 (Apostrophe)
    Event code 41 (Grave)
    Event code 42 (LeftShift)
    Event code 43 (BackSlash)
    Event code 44 (Z)
    Event code 45 (X)
    Event code 46 (C)
    Event code 47 (V)
    Event code 48 (B)
    Event code 49 (N)
    Event code 50 (M)
    Event code 51 (Comma)
    Event code 52 (Dot)
    Event code 53 (Slash)
    Event code 54 (RightShift)
    Event code 55 (KPAsterisk)
    Event code 56 (LeftAlt)
    Event code 57 (Space)
    Event code 58 (CapsLock)
    Event code 59 (F1)
    Event code 60 (F2)
    Event code 61 (F3)
    Event code 62 (F4)
    Event code 63 (F5)
    Event code 64 (F6)
    Event code 65 (F7)
    Event code 66 (F8)
    Event code 67 (F9)
    Event code 68 (F10)
    Event code 69 (NumLock)
    Event code 70 (ScrollLock)
    Event code 71 (KP7)
    Event code 72 (KP8)
    Event code 73 (KP9)
    Event code 74 (KPMinus)
    Event code 75 (KP4)
    Event code 76 (KP5)
    Event code 77 (KP6)
    Event code 78 (KPPlus)
    Event code 79 (KP1)
    Event code 80 (KP2)
    Event code 81 (KP3)
    Event code 82 (KP0)
    Event code 83 (KPDot)
    Event code 86 (102nd)
    Event code 87 (F11)
    Event code 88 (F12)
    Event code 96 (KPEnter)
    Event code 97 (RightCtrl)
    Event code 98 (KPSlash)
    Event code 99 (SysRq)
    Event code 100 (RightAlt)
    Event code 102 (Home)
    Event code 103 (Up)
    Event code 104 (PageUp)
    Event code 105 (Left)
    Event code 106 (Right)
    Event code 107 (End)
    Event code 108 (Down)
    Event code 109 (PageDown)
    Event code 110 (Insert)
    Event code 111 (Delete)
    Event code 113 (Mute)
    Event code 114 (VolumeDown)
    Event code 115 (VolumeUp)
    Event code 116 (Power)
    Event code 117 (KPEqual)
    Event code 119 (Pause)
    Event code 125 (LeftMeta)
    Event code 126 (RightMeta)
    Event code 127 (Compose)
    Event code 130 (Props)
    Event code 142 (Sleep)
    Event code 143 (WakeUp)
    Event code 158 (Back)
    Event code 163 (NextSong)
    Event code 164 (PlayPause)
    Event code 165 (PreviousSong)
    Event code 166 (StopCD)
    Event code 167 (Record)
    Event code 168 (Rewind)
    Event code 183 (F13)
    Event code 207 (Play)
    Event code 208 (Fast Forward)
    Event code 210 (Print)
    Event code 272 (LeftBtn)
    Event code 273 (RightBtn)
    Event code 274 (MiddleBtn)
    Event code 362 (Program)
    Event code 402 (ChannelUp)
    Event code 403 (ChannelDown)
  Event type 2 (Relative)
    Event code 0 (X)
    Event code 1 (Y)
    Event code 8 (Wheel)
  Event type 4 (Misc)
    Event code 4 (ScanCode)
  Event type 17 (LED)
    Event code 0 (NumLock)
    Event code 1 (CapsLock)
    Event code 2 (ScrollLock)
    Event code 3 (Compose)
    Event code 4 (Kana)
  Event type 20 (Repeat)

So the IR receiver theoretically supports more than enough keys. With the Harmony in MCE Remote profile it receives 0 though. With the Harmony in AT3IONT mode (AT5IONT seems to be unknown to Asus + the remote is crap to be honest) it receives 10, which is better but not good enough.
Code:
code 103 (Up)
code 105 (Left)
code 106 (Right)
code 108 (Down)

code 113 (Mute)

code 142 (Sleep) -> no effect

code 158 (Back)

code 164 (PlayPause)
code 168 (Rewind)

code 208 (Fast Forward)

How to make the Harmony send the other Keys to the IR receiver?
Reply
#4
I've got an Asus AT3IONT-I Deluxe with a remote too. The remote says N817 on the bottom, which I guess is the model number. I'm running stock Ubuntu 12.04 on it with XBMC from https://launchpad.net/~team-xbmc/+archive/ppa. Running "lsusb" give:

Code:
ID 0471:206c Philips (or NXP) MCE IR Receiver - Spinel plusf0r ASUS

The layout of the buttons is roughly like this:

Code:
A       B
C   D   E
F   G   H
I       J
    K
L  M  N
    O
P     Q
R   S   T
U     V
   W X

(well it would look roughly like that if "code" blocks were displayed in a monospaced font like they should be!)

Here are the keycodes (or not) produced by each button:

Code:
A: code 142 (KEY_SLEEP)
B: code 113 (KEY_MUTE)
C: code 168 (KEY_REWIND)
D: code 164 (KEY_PLAYPAUSE)
E: code 208 (KEY_FASTFORWARD)
F: code 165 (KEY_PREVIOUSSONG)
G: code 166 (KEY_STOPCD)
H: code 163 (KEY_NEXTSONG)
I: code 115 (KEY_VOLUMEUP)
J: code 114 (KEY_VOLUMEDOWN)
K: code 103 (KEY_UP)
L: code 105 (KEY_LEFT)
M: code 28 (KEY_ENTER)
N: code 106 (KEY_RIGHT)
O: code 108 (KEY_DOWN)
P: <none>
Q: code 158 (KEY_BACK)
R: <none>
S: <none>
T: <none>
U: <none>
V: <none>
W: <none>
X: <none>

While it would be nice if those eight bottom buttons worked too I can live without it. What I would like to do though is to get XBMC to recognise the KEY_SLEEP button and bring up the shutdown menu (as if I'd pressed "S" on a regular keyboard). At the moment it does nothing :-(.
Reply
#5
After double-checking the remote that came with the board I could confirm that the extra keys are unsupported.

So it's a driver issue: The IR receiver driver provided by the kernel does not support the keys even though they are listed as supported by evtest. (Only they don't show up as being recieved.)

I had suspected as much and have googled around to find if there is a way to change this behaviour. Unfortunately I didn't find anything.

At this point I decided I'm fed up with this and bought a decent RC6 IR-Receiver (MCE compatible) that was on offer for ca. half price (10€). It works with the Harmony in MCE mode, supports extra keys and shows output under the irw command.

It might be possible to get the extra keys working by getting the IR to work with LIRC instead of the kernel.
But I'll work with the RC6 receiver even though it's somehow a shame to leave the included receiver unused.

(Nevermind it's also a shame that the Asus AT5IONT-I Deluxe such a hard piece of work as it seemed an ideal hptc-board when I bought it.)
Reply
#6
(2012-06-30, 13:06)burningspear Wrote: After double-checking the remote that came with the board I could confirm that the extra keys are unsupported.

So it's a driver issue: The IR receiver driver provided by the kernel does not support the keys even though they are listed as supported by evtest. (Only they don't show up as being recieved.)

I had suspected as much and have googled around to find if there is a way to change this behaviour. Unfortunately I didn't find anything.

At this point I decided I'm fed up with this and bought a decent RC6 IR-Receiver (MCE compatible) that was on offer for ca. half price (10€). It works with the Harmony in MCE mode, supports extra keys and shows output under the irw command.

It might be possible to get the extra keys working by getting the IR to work with LIRC instead of the kernel.
But I'll work with the RC6 receiver even though it's somehow a shame to leave the included receiver unused.

(Nevermind it's also a shame that the Asus AT5IONT-I Deluxe such a hard piece of work as it seemed an ideal hptc-board when I bought it.)

Possibly you can use the same driver as the one for the AT3IONT-I Deluxe, found here. You'll find the package asus-at3iont-i-deluxe-dkms_1.0.1_all.deb contains module source and a loader: load-module.sh to get the HID modules loaded in the correct order. I just put it in a rc.local, though you can do it with udev rules, too. That, like so much in Ubuntu, is configurable in a few dozen ways; so you won't be surprised to find the module, X11, and XBMC have keymaps. It's possible to get those hosed, so the thing won't work. A good check if all the buttons work in the driver is evtest. I followed the directions to configure the driver keymap as specified and 8 special buttons work in evtest as well as xbmc. I haven't tested the power button in this kernel; but I'm writing this with the test machine; so I'll just say it HAS worked for me.

You will find the AT3IONT-I Deluxe has all buttons working in OpenELEC. The power button sends it to STBY, I think. If you want a single-purpose HTPC, OpenELEC is the best choice since it is so small and has a specially compiled version just for ION. Many things are broken on the Live CD and work well with OpenELEC, so you are much less likely to need help.
Reply
#7
I have an ASUS AT5IONT-I board too and solved it with an "HID-MAPPER"
witch will translate the keypresses from the remote to actual keypresses what makes sense to XBMC

Found info here:
http://forum.xbmc.org/showthread.php?tid=88560
Reply

Logout Mark Read Team Forum Stats Members Help
Asus AT5IONT-I Deluxe: How to configure the remote?0