Hi, I have Terratec Cinergy Hybrid T USB XS 00cd:0042, I'm trying to make it work with kernel 3.14.3 but I have a problem. With old kernel 2.6 this device was working, but now I thought there is a little misconfiguration in driver em28xx. I looking information on this link http://www.linuxtv.org/wiki/index.php/TerraTec_Cinergy_Hybrid_T_USB_XS and my device can have ZL10353 or MT352 demulator, my device has MT352 and has a Em2880 usb bridge. Here the dmesg with original kernel 3.14.3 [ 670.727877] usb 3-1: new high-speed USB device number 5 using xhci_hcd [ 670.865134] usb 3-1: New USB device found, idVendor=0ccd, idProduct=0042 [ 670.865147] usb 3-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0 [ 670.865154] usb 3-1: Product: Cinergy Hybrid T USB XS [ 670.865160] usb 3-1: Manufacturer: TerraTec Electronic GmbH [ 670.900385] em28xx: New device TerraTec Electronic GmbH Cinergy Hybrid T USB XS @ 480 Mbps (0ccd:0042, interface 0, class 0) [ 670.900391] em28xx: Video interface 0 found: isoc [ 670.900393] em28xx: DVB interface 0 found: isoc [ 670.900431] em28xx: chip ID is em2882/3 [ 671.070669] em2882/3 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x303d5d95 [ 671.070677] em2882/3 #0: EEPROM info: [ 671.070681] em2882/3 #0: AC97 audio (5 sample rates) [ 671.070684] em2882/3 #0: 500mA max power [ 671.070689] em2882/3 #0: Table at offset 0x06, strings=0x329e, 0x346a, 0x0000 [ 671.070696] em2882/3 #0: Identified as Terratec Cinnergy Hybrid T USB XS (em2882) (card=55) [ 671.070701] em2882/3 #0: analog set to isoc mode. [ 671.070704] em2882/3 #0: dvb set to isoc mode. [ 671.070823] usbcore: registered new interface driver em28xx [ 671.082716] em2882/3 #0: Binding DVB extension [ 671.140861] em2882/3 #0: /2: dvb frontend not attached. Can't attach xc3028 [ 671.140875] em28xx: Registered (Em28xx dvb Extension) extension [ 671.144670] em2882/3 #0: Registering input extension [ 671.145161] Registered IR keymap rc-terratec-cinergy-xs [ 671.145394] input: em28xx IR (em2882/3 #0) as /devices/pci0000:00/0000:00:14.0/usb3/3-1/rc/rc0/input22 [ 671.145823] rc0: em28xx IR (em2882/3 #0) as /devices/pci0000:00/0000:00:14.0/usb3/3-1/rc/rc0 [ 671.145927] em2882/3 #0: Input extension successfully initalized [ 671.145933] em28xx: Registered (Em28xx Input Extension) extension I have firmware 2.7 in /lib/firmware, but the problem is not the firmware. in the source file drivers/media/usb/em28xx/em28xx-cards.c my device is configured as { USB_DEVICE(0x0ccd, 0x0042), .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, but for this configuration in drivers/media/usb/em28xx/em28xx-dvb.c only zl10353 is tried to attach for dvb adapter, in my case there is an issue. case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: case EM2882_BOARD_TERRATEC_HYBRID_XS: case EM2880_BOARD_EMPIRE_DUAL_TV: dvb->fe[0] = dvb_attach(zl10353_attach, &em28xx_zl10353_xc3028_no_i2c_gate, &dev->i2c_adap[dev->def_i2c_bus]); if (em28xx_attach_xc3028(0x61, dev) < 0) { result = -EINVAL; goto out_free; } break; I tried this patch --- /usr/src/linux-3.14.3/drivers/media/usb/em28xx/em28xx-cards.c.orig 2014-05-06 16:59:58.000000000 +0200 +++ /usr/src/linux-3.14.3/drivers/media/usb/em28xx/em28xx-cards.c 2014-05-07 15:18:31.719524453 +0200 @@ -2233,7 +2233,7 @@ { USB_DEVICE(0x0ccd, 0x005e), .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, { USB_DEVICE(0x0ccd, 0x0042), - .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, + .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, { USB_DEVICE(0x0ccd, 0x0043), .driver_info = EM2870_BOARD_TERRATEC_XS }, { USB_DEVICE(0x0ccd, 0x008e), /* Cinergy HTC USB XS Rev. 1 */ so my device became a EM2880_BOARD_TERRATEC_HYBRID_XS and in em28xx-dvb.c also MT352 is tried to attach case EM2880_BOARD_TERRATEC_HYBRID_XS: case EM2880_BOARD_TERRATEC_HYBRID_XS_FR: case EM2881_BOARD_PINNACLE_HYBRID_PRO: case EM2882_BOARD_DIKOM_DK300: case EM2882_BOARD_KWORLD_VS_DVBT: dvb->fe[0] = dvb_attach(zl10353_attach, &em28xx_zl10353_xc3028_no_i2c_gate, &dev->i2c_adap[dev->def_i2c_bus]); if (dvb->fe[0] == NULL) { /* This board could have either a zl10353 or a mt352. If the chip id isn't for zl10353, try mt352 */ dvb->fe[0] = dvb_attach(mt352_attach, &terratec_xs_mt352_cfg, &dev->i2c_adap[dev->def_i2c_bus]); } if (em28xx_attach_xc3028(0x61, dev) < 0) { result = -EINVAL; goto out_free; } break; and I have this output in dmesg [ 78.668320] usb 3-1: new high-speed USB device number 3 using xhci_hcd [ 78.805565] usb 3-1: New USB device found, idVendor=0ccd, idProduct=0042 [ 78.805578] usb 3-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0 [ 78.805585] usb 3-1: Product: Cinergy Hybrid T USB XS [ 78.805591] usb 3-1: Manufacturer: TerraTec Electronic GmbH [ 78.806257] em28xx: New device TerraTec Electronic GmbH Cinergy Hybrid T USB XS @ 480 Mbps (0ccd:0042, interface 0, class 0) [ 78.806266] em28xx: Video interface 0 found: isoc [ 78.806269] em28xx: DVB interface 0 found: isoc [ 78.806314] em28xx: chip ID is em2882/3 [ 78.959082] em2882/3 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x303d5d95 [ 78.959091] em2882/3 #0: EEPROM info: [ 78.959094] em2882/3 #0: AC97 audio (5 sample rates) [ 78.959097] em2882/3 #0: 500mA max power [ 78.959102] em2882/3 #0: Table at offset 0x06, strings=0x329e, 0x346a, 0x0000 [ 78.959108] em2882/3 #0: Identified as Terratec Hybrid XS (card=11) [ 78.959113] em2882/3 #0: analog set to isoc mode. [ 78.959116] em2882/3 #0: dvb set to isoc mode. [ 78.959444] em28xx audio device (0ccd:0042): interface 1, class 1 [ 78.959513] em2882/3 #0: Binding DVB extension [ 78.997430] xc2028 7-0061: creating new instance [ 78.997435] xc2028 7-0061: type set to XCeive xc2028/xc3028 tuner [ 78.997440] em2882/3 #0: em2882/3 #0/2: xc3028 attached [ 78.997442] DVB: registering new adapter (em2882/3 #0) [ 78.997449] usb 3-1: DVB: registering adapter 0 frontend 0 (Zarlink MT352 DVB-T)... [ 78.997536] xc2028 7-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 [ 78.997891] em2882/3 #0: DVB extension successfully initialized [ 78.997894] em2882/3 #0: Registering input extension [ 78.997966] Registered IR keymap rc-terratec-cinergy-xs [ 78.998072] input: em28xx IR (em2882/3 #0) as /devices/pci0000:00/0000:00:14.0/usb3/3-1/rc/rc0/input21 [ 78.998143] rc0: em28xx IR (em2882/3 #0) as /devices/pci0000:00/0000:00:14.0/usb3/3-1/rc/rc0 [ 78.998212] em2882/3 #0: Input extension successfully initalized and dvb adapter is working without problems. Could you submit my patch? Thank you and Regards Giovanni -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html