[LINUX] HOW-TO to use Antec Veris Basic IR Receiver, Harmony/MCE Remote on Ubuntu
#1
Thumbs Up 
I created the following tutorial for users of Ubuntu/Mythbuntu 9.10 Karmic. None of the tutorials/posts I found worked properly all the way through so I created a step by step guide:

Prerequisites:
Antec Veris Basic installed
Ubuntu 9.10 Karmic
XBMC 9.11
MCE Remote or any Harmony Remote programmed as a MCE Remote

1. The first thing to do is ensure the Antec Veris Basic is recognized by the OS. Type in "lsusb" at the terminal. Take note of the characters following ID for SoundGraph Inc., in this case 15c2:0043:
lsusb

Output:
Bus 003 Device 003: ID 15c2:0043 SoundGraph Inc.
Bus 003 Device 002: ID 045e:0719 Microsoft Corp.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

2. We now want to add a UDEV rule to prevent the USBHID driver from loading and taking over the Antec Veris device. We accomplish this by creating a rule in /etc/udev/rules.d/. You can download my rule here:
sudo wget -q http://www.stpit.com/public/99-lirc.rules -O /etc/udev/rules.d/99-lirc.rules
In order to edit the file to ensure the proper Product ID type the following:
sudo nano /etc/udev/rules.d/99-lirc.rules
Add the following:
#Prevent the USBHID driver from loading for the Antec Veris
SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0043", MODE="0666", PROGRAM="/bin/sh -c 'echo -n $id:1.0 >/sys/bus/usb/drivers/usbhid/unbind;\
echo -n $id:1.1 >/sys/bus/usb/drivers/usbhid/unbind'"
*note - the idVendor and idProduct is pulled from Step One. In my case the idProduct was 0043 but yours may be different depending on the revision of the Antec Veris you purchased.

3. Reboot your machine:
sudo reboot

4. *Optional - We can now check to see if the Antec Veris is loaded without a driver associated with it. This step is optional.
sudo mount -t usbfs none /proc/bus/usb
sudo cat /proc/bus/usb/devices

Output:
T: Bus=03 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=15c2 ProdID=0043 Rev= 0.02
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms

5. Now it is time to install LIRC. Since you are using Ubuntu 9.10 Karmic, the software repository includes the latest 0.8.6 version of LIRC.
sudo apt-get install lirc

6. You will be presented with a choice for remote control, simply choose "Soundgraph iMON Antec Veris" and for IR Transmitter choose "None". This will set up your /etc/lirc/hardware.conf file to load the lirc_imon driver for the Antec Virus.

7. *Optional - We can now check to see if the Antec Veris is loaded with the lirc_imon driver. This step is optional.
sudo mount -t usbfs none /proc/bus/usb
sudo cat /proc/bus/usb/devices

Output:
T: Bus=03 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=15c2 ProdID=0043 Rev= 0.02
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=(lirc_imon)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(lirc_imon)
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms

8. We will now tell the lirc_imon driver to use the MCE codes instead of the RMA100 codes. You can download my conf file by using the following:
sudo wget -q http://www.stpit.com/public/lirc_imon.conf -O /etc/modprobe.d/lirc_imon.conf
You can view the lirc_imon.conf file:
cat /etc/modprobe.d/lirc_imon.conf
Output:
options lirc_imon ir_protocol=1
9. We now want to change the driver to load the MCE compatible configuration. We will do this by changing a line in /etc/lirc/hardware.conf and /etc/lirc/lircd.conf. You will want to change "lircd.conf.imon-antec-veris" with "lircd.conf.imon-mceusb" You can do this by typing in the following in terminal:
sudo nano /etc/lirc/hardware.conf
Change: REMOTE_LIRCD_CONF="imon/lircd.conf.imon-antec-veris" to REMOTE_LIRCD_CONF="imon/lircd.conf.imon-mceusb"
sudo nano /etc/lirc/lircd.conf
Change: include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris" to include "/usr/share/lirc/remotes/imon/lircd.conf.imon-mceusb"

*note: we could also simply overwrite the lircd.conf.imon-antec-veris with lircd.conf.imon-mceusb but you may want to use the imon-antec-veris settings at a later time.

10. We now want to restart LIRC:
sudo /etc/init.d/lirc restart

11. Now we can test the MCE remote control to ensure the system is recognizing your remote control commands. We will load IRW and press buttons on our MCE remote. The terminal should output the buttons that you press.
sudo irw

Output:
0200005100000000 00 KEY_DOWN MCE_via_iMON
0200005100000000 01 KEY_DOWN MCE_via_iMON
0200004f00000000 00 KEY_RIGHT MCE_via_iMON
0200004f00000000 01 KEY_RIGHT MCE_via_iMON
0200005000000000 00 KEY_LEFT MCE_via_iMON
0200005000000000 01 KEY_LEFT MCE_via_iMON
0200002800000000 00 #KEY_OK MCE_via_iMON
0200002800000000 01 #KEY_OK MCE_via_iMON

12. Now that the MCE remote is working properly we need to have XBMC pick up these commands. We accomplish by creating a Lircmap.xml file in ~/xbmc/userdata. I have created a Lircmap.xml file that you can use. Type the following at the terminal:
sudo wget -q http://www.stpit.com/public/Lircmap.xml -O ~/.xbmc/userdata/Lircmap.xml

13. Start XBMC and you should be able to remote control XBMC with your Harmony or MCE remote. Currently for some reason on my system I have to issue a sudo /etc/init.d/lirc restart on a fresh boot before XBMC starts or the remote will not work. I am trying to track this issue down under this link here: http://forum.xbmc.org/showthread.php?tid=68127
Reply
#2
Great post. I happened to purchase the same hardware and found this post via a quick google search.

Everything above worked great, only to find that the IR receiver, by default, only recognizes remote codes transmitted by the original remote. A simple addition to /etc/modprobe.d/ allows interpretation of MCE remote codes as well. By default it seems that the ir_protocol option is set to 0 which limits the hardware to only interpret the crappy remote that came with the receiver.

Do the following to enable MCE remote codes. Edit /etc/modprobe.d/lirc_imon.conf (create if needed)

Code:
sudo pico -w /etc/modprobe.d/lirc_imon.conf

and add the following.

Code:
options lirc_imon ir_protocol=1

Then reboot.

Code:
sudo reboot

After restarting it should be picking up MCE remote codes. Confirm by running irw.

Code:
irw

Everything else above worked great. Thanks!!
Reply
#3
Thanks for the update. I completed this step as well but forgot it in the tutorial. I have added it in step 8.
Reply
#4
thanks .. will try soon
right now I have 2 IR's in my system
Antec for the ON/OFF (no USB connection) and MCE for XBMC
This will help remove one IR unit from the box and help with the other system I'm making for the Family Room (another Antec Case build..)
Reply
#5
Excellent tips here.

For me though steps 1-7 are complicated and completely bypassed by simply doing a:

dpkg-reconfigure lirc

then selecting the built in settings for your Antec case.

After this simply change the ini files as documented and you have a working mce.

Much simpler on karmic at least.

Does anyone have a clue if the XBOX 360 Universal remote can be used in this way?
Having problems getting your TV shows recognized?

Try my extra TV show matching REGEX here
Reply
#6
USBHID kernel module issue is solved since kernel 2.6.28, the steps related to that are not needed in karmic (2.6.30).
I have an Antec veris micro fusion (imon 0038) all works well without that.
BTW there is a simplier way to make usbhid ignore a device

# vim /etc/modprobe.d/usbhid
add
options usbhid quirks=0x15c2:0x0043:0x0004
# depmod -ae
# update-initramfs -u
Reply
#7
Also as of Revision 28719 of XBMC I managed to have the Lircmap.xml added (thanks vdrfan) so you no longer need step 12 either Smile

Does anyone know how to make imon work with the xbox 360 IR remote?
Having problems getting your TV shows recognized?

Try my extra TV show matching REGEX here
Reply
#8
Yeah I use my XBOX 360 controller and Microsoft IR Receiver via xboxdrv. Download the latest version here:

http://pingus.seul.org/~grumbel/xboxdrv/...10.tar.bz2 and simply extract it to a location (in this instance I extracted it to /home/user/ or ~/)

Modified my /etc/modules:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp

# XBMC addons
uinput
joydev




Modified my /etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

cd /home/user/xboxdrv-linux-0.4.10
./xboxdrv --wid 0 -s -l 2 --dpad-as-button --deadzone 12000 --trigger-as-zaxis
exit 0
Reply
#9
Thumbs Up 
In case this helps anyone else reading this, this instructions helped me solve my issue with another iMon receiver:

Bus 004 Device 002: ID 15c2:003c SoundGraph Inc.

http://forum.xbmc.org/showthread.php?p=518623


Thank you for your post
Reply
#10
Hi

This guide worked splendid up to Ubuntu 10.04. Now with 10.10 it seems broken Sad I can't seem to start LIRC. Any help is appreciated.

I've tried with and without step 1-7. Doesn't matter, LIRC won't start.

Here is my logs + files:

root@htpc:~# /etc/init.d/lirc restart
* Stopping remote control daemon(s): LIRC [fail]
* Loading LIRC modules [ OK ]
* Unable to load LIRC kernel modules. Verify your
* selected kernel modules in /etc/lirc/hardware.conf

vim /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Soundgraph iMON Antec Veris"
REMOTE_MODULES="lirc_dev lirc_imon"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_SOCKET=""
#REMOTE_LIRCD_CONF="imon/lircd.conf.imon-antec-veris"
REMOTE_LIRCD_CONF="imon/lircd.conf.imon-mceusb"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"

#Try to load appropriate kernel modules
LOAD_MODULES="true"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""

cat /etc/modprobe.d/lirc_imon.conf
options lirc_imon ir_protocol=1

cat /etc/lirc/lircd.conf
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.

#Configuration for the Soundgraph iMON Antec Veris remote:
#include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris"
include "/usr/share/lirc/remotes/imon/lircd.conf.imon-mceusb"

ps aux | grep -i lirc
root 10334 0.0 0.0 5168 772 pts/0 R+ 22:50 0:00 grep --color=auto -i lirc

lsusb | grep -i soundgraph
Bus 007 Device 002: ID 15c2:0038 SoundGraph Inc. GD01 MX VFD Display/IR Receiver
Reply
#11
upgrading to ubuntu maverick 10.10 , i noticed that lirc doesn't starts. modprobe fails for lirc_imon.

this is my
/etc/modprobe.d/lirc_imon.conf

options lirc_imon debug=0 nomouse=1 display_type=2 ir_protocol=1 pad_thresh=5


dmesg says:
lirc_imon: Unknown parameter `nomouse'

or
lirc_imon: Unknown parameter `display_type'

or
lirc_imon: Unknown parameter `ir_protocol'

i solved removing all options excepts debug:
options lirc_imon debug=0

now modprobe is ok but i can't change ir_protocol to 1 (MCEUSB RC6 protocol) and i can't use it with MCE remote.

Any hint?
Reply
#12
lyka Wrote:upgrading to ubuntu maverick 10.10 , i noticed that lirc doesn't starts. modprobe fails for lirc_imon.

this is my
/etc/modprobe.d/lirc_imon.conf

options lirc_imon debug=0 nomouse=1 display_type=2 ir_protocol=1 pad_thresh=5


dmesg says:
lirc_imon: Unknown parameter `nomouse'

or
lirc_imon: Unknown parameter `display_type'

or
lirc_imon: Unknown parameter `ir_protocol'

i solved removing all options excepts debug:
options lirc_imon debug=0

now modprobe is ok but i can't change ir_protocol to 1 (MCEUSB RC6 protocol) and i can't use it with MCE remote.

Any hint?

Is XBMC Live Dharma Beta 2 based on Ubuntu 10.10 because I changed to that since I wrote the guide and I had to make some modifications to get it to work.

If I get some time I can try Ubuntu 10.10 and write up a guide.
Reply
#13
it seems on 2.6.35 kernel like we need to blacklist new imon module as suggested here.

i'm trying now.

EDIT:
I correct myself:
we need to use imon driver (which actually works for me only with IMON remote codes and not MCE RC6 codes )

http://wilsonet.com/?page_id=95 Wrote:Second up, imon users keep being informed by some helpful configuration scripts or something that they need to use the lirc_imon driver. Unless you have one of the really REALLY old (like, 10 years old, and I’ve only ever encountered one in existence) imon device, you now need the imon driver, not lirc_imon, and you’re not going to see an lirc device interface for it. See earlier note about ir-core drivers and the lirc bridge driver being only for raw IR data. The imon devices all deal in scancodes, so you’re going to need to use lircd in devinput mode, or use inputlirc or eventlircd to get imon input layer keypress data converted into lirc data. (Nb: there are plans underway to merge eventlircd into the main lirc userspace source distribution for the lirc 0.9.0 release).


Quote:sudo dpkg-reconfigure lirc

then select
Quote:Linux input layer (/dev/input/eventX)

on "IR transmitter" i picked none.

on "Custom event interface for your dev/input device: " open a new shell and run:

Quote:cat /proc/bus/input/devices

you will face somethig like this:
Quote:I: Bus=0003 Vendor=15c2 Product=0038 Version=0001
N: Name="iMON Remote (15c2:0038)"
P: Phys=usb-0000:00:0b.0-6/input0
S: Sysfs=/devices/pci0000:00/0000:00:0b.0/usb2/2-6/2-6:1.0/rc/rc0/input5
U: Uniq=
H: Handlers=kbd mouse1 event5
B: EV=100007
B: KEY=fff 0 0 400000 108c0320 2d50082 0 0 30000 4 119000 4196 14100801 809e1680 0 2000000 10004002
B: REL=103

select the event you want lirc to listen, in my case:
Quote:/dev/input/event5

this enables IMON input driver to notify lirc the events, but i still don't understand how to let imon module listen rc6 and act as a mceusb module for my harmony-rc6 configured remote.
Reply
#14
Did you try the following? You need to tell the driver to use MCE mode and not Antec/IMON mode.


You can download my driver options conf file by doing the following:
sudo wget -q http://www.stpit.com/public/lirc_imon.conf -O /etc/modprobe.d/lirc_imon.conf

You can view the lirc_imon.conf file:
cat /etc/modprobe.d/lirc_imon.conf

Output:
options lirc_imon ir_protocol=1

We now want to change the driver to load the MCE compatible configuration. We will do this by changing a line in /etc/lirc/hardware.conf and /etc/lirc/lircd.conf. You will want to change "lircd.conf.imon-antec-veris" with "lircd.conf.imon-mceusb" You can do this by typing in the following in terminal:
sudo nano /etc/lirc/hardware.conf

Change: REMOTE_LIRCD_CONF="imon/lircd.conf.imon-antec-veris" to REMOTE_LIRCD_CONF="imon/lircd.conf.imon-mceusb"
sudo nano /etc/lirc/lircd.conf

Change: include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris" to include "/usr/share/lirc/remotes/imon/lircd.conf.imon-mceusb"
Reply
#15
stpfarms Wrote:Did you try the following? You need to tell the driver to use MCE mode and not Antec/IMON mode.


You can download my driver options conf file by doing the following:
sudo wget -q http://www.stpit.com/public/lirc_imon.conf -O /etc/modprobe.d/lirc_imon.conf

You can view the lirc_imon.conf file:
cat /etc/modprobe.d/lirc_imon.conf

Output:
options lirc_imon ir_protocol=1

We now want to change the driver to load the MCE compatible configuration. We will do this by changing a line in /etc/lirc/hardware.conf and /etc/lirc/lircd.conf. You will want to change "lircd.conf.imon-antec-veris" with "lircd.conf.imon-mceusb" You can do this by typing in the following in terminal:
sudo nano /etc/lirc/hardware.conf

Change: REMOTE_LIRCD_CONF="imon/lircd.conf.imon-antec-veris" to REMOTE_LIRCD_CONF="imon/lircd.conf.imon-mceusb"
sudo nano /etc/lirc/lircd.conf

Change: include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris" to include "/usr/share/lirc/remotes/imon/lircd.conf.imon-mceusb"

I got all of those, still can't start LIRC Sad

root@htpc:~# /etc/init.d/lirc restart
* Stopping remote control daemon(s): LIRC [fail]
* Loading LIRC modules [ OK ]
* Unable to load LIRC kernel modules. Verify your
* selected kernel modules in /etc/lirc/hardware.conf
Reply

Logout Mark Read Team Forum Stats Members Help
[LINUX] HOW-TO to use Antec Veris Basic IR Receiver, Harmony/MCE Remote on Ubuntu1