Dear linux-media developers, I think I found a bug in the support of the TerraTec Cinergy T USB XXS remote control, or maybe just a new hardware revision appeared. When I recently bought such a USB-stick I found the remote not working, instead 'dib0700: Unknown remote controller key' lines appearing in syslog on each keypress. The dvb_usb_dib0700 kernel module got autoloaded by my Ubuntu 10.10. I am using current hg revision of v4l-dvb and load the kernel module using the 'dvb_usb_dib0700_ir_proto=0' option. Simply adding the keycodes to the driver file (linux/drivers/media/dvb/dvb-usb/dib0700_devices.c, patch appended) made things work. However, by incident I found those very keycodes are already defined in the linux/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.c file, so maybe the issue is just about loading it? 'lsusb' lists my device as Bus 001 Device 006: ID 0ccd:00ab TerraTec Electronic GmbH despite I do not own the 'HD' version of the device, your wiki http://linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_USB_XXS says that ID corresponds to. The output of 'lsusb -v' is appended to this mail. 'cat /proc/bus/input/devices' lists the input device as I: Bus=0003 Vendor=0ccd Product=00ab Version=0100 N: Name="IR-receiver inside an USB DVB receiver" P: Phys=usb-0000:00:12.2-2/ir0 S: Sysfs=/devices/pci0000:00/0000:00:12.2/usb1/1-2/input/input13 U: Uniq= H: Handlers=kbd event8 B: EV=3 B: KEY=14afc336 2b4285f00000000 0 480158000 219040000801 9e96c000000000 90024010004ffc I hope you could add support for my stick; I'd be happy to provide further information if necessary. Best regards Stefan
diff -r abd3aac6644e linux/drivers/media/dvb/dvb-usb/dib0700_devices.c --- a/linux/drivers/media/dvb/dvb-usb/dib0700_devices.c Fri Jul 02 00:38:54 2010 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dib0700_devices.c Wed Dec 29 13:17:41 2010 +0100 @@ -831,6 +831,57 @@ { 0x4540, KEY_RECORD }, /* Font 'Size' for Teletext */ { 0x4541, KEY_SCREEN }, /* Full screen toggle, 'Hold' for Teletext */ { 0x4542, KEY_SELECT }, /* Select video input, 'Select' for Teletext */ + + /* Key codes for the Terratec Cinergy T USB XXS remote, copied from rc-nec-terratec-cinergy-xs.c + set dvb_usb_dib0700_ir_proto=0 */ + { 0x1401, KEY_POWER2 }, + { 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_TUNER }, /* AV */ + { 0x140c, KEY_0 }, + { 0x140d, KEY_MODE }, /* A.B, alternatively match to KEY_AB? */ + { 0x140f, KEY_EPG }, /* EPG / GUIDE */ + { 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 }, + { 0x1443, KEY_SUBTITLE }, + { 0x1444, KEY_TEXT }, + { 0x1445, KEY_DELETE }, + { 0x1446, KEY_TV }, + { 0x1447, KEY_DVD }, + { 0x1448, KEY_STOP }, + { 0x1449, KEY_VIDEO }, + { 0x144a, KEY_RADIO }, /* Music */ + { 0x144b, KEY_CAMERA }, /* Pic */ + { 0x144c, KEY_PLAY }, + { 0x144d, KEY_BACKSPACE }, + { 0x144e, KEY_REWIND }, + { 0x144f, KEY_FASTFORWARD }, + { 0x1454, KEY_LAST }, + { 0x1458, KEY_RECORD }, + { 0x145c, KEY_NEXT }, }; /* STK7700P: Hauppauge Nova-T Stick, AVerMedia Volar */
Bus 001 Device 006: ID 0ccd:00ab TerraTec Electronic GmbH Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0ccd TerraTec Electronic GmbH idProduct 0x00ab bcdDevice 1.00 iManufacturer 1 TerraTec GmbH iProduct 2 Cinergy T XXS iSerial 3 0000000001 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 46 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 4 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered)
Attachment:
signature.asc
Description: OpenPGP digital signature