Tutorials
Wireless Multimedia Infrared IR Remote Controller - Deal Extreme 34435

I decided to give it a try to this remote control from Deal Extreme.

Unfortunately, this remote didn't work properly on Linux.

Fortunately, there are a few tools out there that can make this remote control work perfectly on Linux.

I really don't understand why they keep adding the mouse functionality in these remotes. I find it completely useless. You can disable it by pressing the blue key (toggle).

In you want to integrate the Wireless Multimedia Infrared IR Remote Controller - Deal Extreme 34435 click here for the instructions.

Linux Integration of Wireless Multimedia Infrared IR Remote Controller - Deal Extreme 34435

If you find the information of this website useful please click on the Google ads as they help me keep this site and provide some monetary support to buy new hardware to keep on testing.

I found two solutions to make this remote control work in Linux. The first solution is explained on this forum:

Which mentions that this remote incorrectly reports itself as a single key keyboard. You can install a patch to solve this issue from here:

gitorious.org/hid-aureal-kernel-module

With this patch you build a kernel module and once the module is built and installed, you have to do this to make it work:

modprobe -r usbhid
modprobe hid-aureal
modprobe usbhid

That's where I hit a wall in Fedora 14 as usbhid is not a kernel module. Just thinking about rebuilding the kernel to make usbhid a module was a bit much for me.

Then I came across this forum which explains how to install a generic hid remote driver.

This was a perfect solution for me as I was able to remap the keys especially for MythTV.

These are the installation steps:

Download and compile the driver:

wget www.coldsource.net/hid_mapper_beta.tar.gz
tar xvfz hid_mapper_beta.tar.gz
cd hid_mapper_beta
make
cp hid_mapper /usr/local/bin

Once you have the binary /usr/local/bin/hid_mapper, you can start testing the device:

/usr/local/bin/hid_mapper --list-devices

This device comes across as:

Found HID device at /dev/hidraw2
  Manufacturer : www.irfmedia.com
  Product name : W-01RN USB_V3.1

Found HID device at /dev/hidraw3
  Manufacturer : www.irfmedia.com
  Product name : W-01RN USB_V3.1

There are 2 outputs as this device presents itself as a keyboard and a mouse. Both have exactly the same manufacturer and product name, which brings problems when you try to map the device:

/usr/local/bin/hid_mapper --learn --manufacturer 'www.irfmedia.com' --product 'W-01RN USB_V3.1' --map ''

You get the following error:

Unable to find specified HID device

There is an alternative of mapping it, using the usb parameters, but first you need to find them using:

lsusb -v

For this device the result of the command is:

Bus 005 Device 003: ID 0755:2626 Aureal Semiconductor
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0755 Aureal Semiconductor
  idProduct          0x2626
  bcdDevice           29.82
  iManufacturer           1 www.irfmedia.com
  iProduct                2 W-01RN USB_V3.1
  iSerial                 0
  [........]

Now if we use the following command, it works:

./hid_mapper --learn --lookup-id  --manufacturer 0755 --product 2626 --map ''

This is the map that I ended up using for this device to make it work for MythTV.

You can remap it as you like for your own application, but remember to use standard key names. You can open the file keys_definition.cpp from the source code of this mapper to find out the names of the keys.

I created a map file called:

/usr/local/bin/irfmedia.map

These are the contents of that file:

04003d0000000000:KEY_CLOSE
0100080000000000:KEY_VIDEO
0300170000000000:KEY_COMPUTER
0100040000000000:KEY_RADIO
01000c0000000000:KEY_CAMERA
0100100000000000:KEY_AUDIO
0300100000000000:KEY_DVD
0300050000000000:KEY_PAGEUP
02b700000000:KEY_O
02b300000000:KEY_PAGEDOWN
02b600000000:KEY_COMMA
02cd00000000:KEY_P
02b500000000:KEY_DOT
02e900000000:KEY_F11
02e200000000:KEY_F9
0800070000000000:KEY_S
00004b0000000000:KEY_UP
02ea00000000:KEY_F10
0c00280000000000:KEY_M
00004e0000000000:KEY_DOWN
0000520000000000:KEY_UP
0000500000000000:KEY_LEFT
0000280000000000:KEY_ENTER
00004f0000000000:KEY_RIGHT
00002a0000000000:KEY_ESC
0000510000000000:KEY_DOWN
0000650000000000:KEY_I
0100150000000000:KEY_R
022302000000:KEY_WWW
028a01000000:KEY_T
020000000000:KEY_BLUE
00001e0000000000:KEY_1
00001f0000000000:KEY_2
0000200000000000:KEY_3
022402000000:KEY_C
0000210000000000:KEY_4
0000220000000000:KEY_5
0000230000000000:KEY_6
022502000000:KEY_NEXT
0000240000000000:KEY_7
0000250000000000:KEY_8
0000260000000000:KEY_9
0400280000000000:KEY_W
0200250000000000:KEY_NUMERIC_STAR
0000270000000000:KEY_0
0200200000000000:KEY_NUMERIC_POUND
0000290000000000:KEY_D

Once you have your map of keys you have to make it start automatically when the computer starts. To do so I added the following command in /etc/rc.d/rc.local

/usr/local/bin/hid_mapper  --lookup-id  --manufacturer 0755 --product 2626 --map /usr/local/bin/irfmedia.map 2>&1 &

I started testing this device and I noticed that if I pressed keys multiple times if would freeze and stop working. The solution is to add the --disable-repetition setting to the command. The final command to start this device is:

/usr/local/bin/hid_mapper  --lookup-id  --manufacturer 0755 --product 2626 --disable-repetition --map /usr/local/bin/irfmedia.map 2>&1 &

I also maped some of the keys to commands. In particular I mapped a key to start mythfrontendm a key to start mythtv-setup and a key to start firefox.

The one that starts mythfrontend, points to a script that starts the mythbackend and then mythfrontend. The one that starts mythtv-setup, stops mythbackend and then starts mythtv-setup.

I'm using a package called xbindkeys to map commands to keys, to install it:

yum install xbindkeys

Then map the keys to commands in the file ~/.xbindkeysrc

My ~/.xbindkeysrc for this remote is:

"firefox"
 XF86WWW

"/usr/local/bin/mythpowerbutton.sh"
 XF86MyComputer

"/usr/local/bin/mythtvsetupbutton.sh"
 XF86WebCam

As you can see the mappings can be endless. In my case just having a button to open firefox, another one to open/close mythfrontend and another one to open mythtv-setup was enough for me.

You can also use xbindkeys when you want to map multimedia keys in keyboards to applications.

Continue Shoppping View Cart
Continue Shoppping View Wishlist