June 2010 Archives

Sun Jun 6 08:40:19 CEST 2010

Linux and TerraTec Cinergy T USB XXS Remote Control

I have recently bought a TerraTec Cinergy T USB XXS to receive TV by DVB-T.

TerraTec Cinergy T USB XXS

This works without a problem on my Debian GNU/Linux PC.

More info about setting up this DVB-T USB device and linux is available at linuxtv.org

Like you can see, a remote control was also included in the TerraTec Cinergy T USB XXS package. I have followed the instructions at linuxtv.org (Remote control support), but no luck :(

Remote Control

When pressing some keys at the remote control, the only thing I noticed was
Jun  5 10:58:02 amd64 kernel: dib0700: Unknown remote controller key: 0014 10 ef
Jun  5 10:58:05 amd64 kernel: dib0700: Unknown remote controller key: 0014 02 fd
Jun  5 10:58:05 amd64 kernel: dib0700: Unknown remote controller key: 0014 02 fd
Jun  5 10:58:06 amd64 kernel: dib0700: Unknown remote controller key: 0014 05 fa
Jun  5 10:58:06 amd64 kernel: dib0700: Unknown remote controller key: 0014 43 bc
Jun  5 10:58:06 amd64 kernel: dib0700: Unknown remote controller key: 0014 43 bc
Jun  5 10:58:07 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
Jun  5 10:58:07 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
Jun  5 10:58:07 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
Jun  5 10:58:08 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
in /var/log/syslog.

Taking a look at the linux source in /usr/src/linux-2.6.34/drivers/media/dvb/dvb-usb/dib0700_devices.c, I found the following at line 515
        err("Unknown remote controller key: %2X %2X %2X %2X", (int) key[3-2],
                                 (int) key[3-3], (int) key[3-1], (int) key[3]);
and this at line 592
        /* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */
        { 0xeb01, KEY_POWER },
        { 0xeb02, KEY_1 },
        { 0xeb03, KEY_2 },
        { 0xeb04, KEY_3 },
        { 0xeb05, KEY_4 },
        { 0xeb06, KEY_5 },
        { 0xeb07, KEY_6 },
        { 0xeb08, KEY_7 },
        { 0xeb09, KEY_8 },
        { 0xeb0a, KEY_9 },
        { 0xeb0b, KEY_VIDEO },
        { 0xeb0c, KEY_0 },
        { 0xeb0d, KEY_REFRESH },
        { 0xeb0f, KEY_EPG },
        { 0xeb10, KEY_UP },
        { 0xeb11, KEY_LEFT },
        { 0xeb12, KEY_OK },
        { 0xeb13, KEY_RIGHT },
        { 0xeb14, KEY_DOWN },
        { 0xeb16, KEY_INFO },
        { 0xeb17, KEY_RED },
        { 0xeb18, KEY_GREEN },
        { 0xeb19, KEY_YELLOW },
        { 0xeb1a, KEY_BLUE },
        { 0xeb1b, KEY_CHANNELUP },
        { 0xeb1c, KEY_VOLUMEUP },
        { 0xeb1d, KEY_MUTE },
        { 0xeb1e, KEY_VOLUMEDOWN },
        { 0xeb1f, KEY_CHANNELDOWN },
        { 0xeb40, KEY_PAUSE },
        { 0xeb41, KEY_HOME },
        { 0xeb42, KEY_MENU }, /* DVD Menu */
        { 0xeb43, KEY_SUBTITLE },
        { 0xeb44, KEY_TEXT }, /* Teletext */
        { 0xeb45, KEY_DELETE },
        { 0xeb46, KEY_TV },
        { 0xeb47, KEY_DVD },
        { 0xeb48, KEY_STOP },
        { 0xeb49, KEY_VIDEO },
        { 0xeb4a, KEY_AUDIO }, /* Music */
        { 0xeb4b, KEY_SCREEN }, /* Pic */
        { 0xeb4c, KEY_PLAY },
        { 0xeb4d, KEY_BACK },
        { 0xeb4e, KEY_REWIND },
        { 0xeb4f, KEY_FASTFORWARD },
        { 0xeb54, KEY_PREVIOUS },
        { 0xeb58, KEY_RECORD },
        { 0xeb5c, KEY_NEXT },
According to this information, it seems that the eb in the keycodes are not correct (anymore?). So, I have changed them to 14 because of the err line found in syslog.
        /* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */
        { 0x1401, KEY_POWER },
        { 0x1402, KEY_1 },
        { 0x1403, KEY_2 },
        { 0x1404, KEY_3 },
        { 0x1405, KEY_4 },
        { 0x1406, KEY_5 },
        { 0x1407, KEY_6 },
        { 0x1408, KEY_7 },
        { 0x1409, KEY_8 },
        { 0x140a, KEY_9 },
        { 0x140b, KEY_VIDEO },
        { 0x140c, KEY_0 },
        { 0x140d, KEY_REFRESH },
        { 0x140f, KEY_EPG },
        { 0x1410, KEY_UP },
        { 0x1411, KEY_LEFT },
        { 0x1412, KEY_OK },
        { 0x1413, KEY_RIGHT },
        { 0x1414, KEY_DOWN },
        { 0x1416, KEY_INFO },
        { 0x1417, KEY_RED },
        { 0x1418, KEY_GREEN },
        { 0x1419, KEY_YELLOW },
        { 0x141a, KEY_BLUE },
        { 0x141b, KEY_CHANNELUP },
        { 0x141c, KEY_VOLUMEUP },
        { 0x141d, KEY_MUTE },
        { 0x141e, KEY_VOLUMEDOWN },
        { 0x141f, KEY_CHANNELDOWN },
        { 0x1440, KEY_PAUSE },
        { 0x1441, KEY_HOME },
        { 0x1442, KEY_MENU }, /* DVD Menu */
        { 0x1443, KEY_SUBTITLE },
        { 0x1444, KEY_TEXT }, /* Teletext */
        { 0x1445, KEY_DELETE },
        { 0x1446, KEY_TV },
        { 0x1447, KEY_DVD },
        { 0x1448, KEY_STOP },
        { 0x1449, KEY_VIDEO },
        { 0x144a, KEY_AUDIO }, /* Music */
        { 0x144b, KEY_SCREEN }, /* Pic */
        { 0x144c, KEY_PLAY },
        { 0x144d, KEY_BACK },
        { 0x144e, KEY_REWIND },
        { 0x144f, KEY_FASTFORWARD },
        { 0x1454, KEY_PREVIOUS },
        { 0x1458, KEY_RECORD },
        { 0x145c, KEY_NEXT },
After recompiling and rebooting the kernel, the remote control works without a problem :)
 pts/7  jan ~$ irw
0000000000010002 00 1 Cinergy_Hybrid_t_USB_XS
000000000001000a 00 9 Cinergy_Hybrid_t_USB_XS
0000000000010160 00 ok Cinergy_Hybrid_t_USB_XS
00000000000100cf 00 play Cinergy_Hybrid_t_USB_XS
0000000000010193 00 ch- Cinergy_Hybrid_t_USB_XS
0000000000010192 00 ch+ Cinergy_Hybrid_t_USB_XS
0000000000010072 00 vol- Cinergy_Hybrid_t_USB_XS
0000000000010073 00 vol+ Cinergy_Hybrid_t_USB_XS
0000000000010066 00 home Cinergy_Hybrid_t_USB_XS
0000000000010074 00 onoff Cinergy_Hybrid_t_USB_XS
^C
 pts/7  jan ~$ 

Posted by Jan Wagemakers | Permanent link | File under: GNU/Linux