[ CCing Philippe in case he still has the other device variant and can test any proposed fix] juvann@xxxxxxxxxxx writes: > I tried to sent this patch many times in past to linux-media, but I was ignored, I hope someone on linux-usb can submit this patch for resolve an issue on usb device. That's too bad. Your patch has a few formatting errors (wrong base for the diff, additional comments in the body) which prevents it from being applied as-is, but you should of course get some feedback. Please see the part about "additional comments" in section 14 of https://www.kernel.org/doc/Documentation/process/submitting-patches.rst > TerraTec Cinergy Hybrid T USB XS with demodulator MT352 stop working with kernel 3.xx and newer. > > --- /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 */ > > This patch is working also on kernel 4.xx I have tested kernel on 4.3 and 4.9 This is effectively a revert of 9124544320bd ("[media] Terratec Cinergy Hybrid T USB XS"), introduce in v2.6.38. It is included in full below for context. That patch claimed to solve a similar problem. Which I guess means that there are at least two different versions using the same USB device ID. Stupid, but not uncommon unfortunately. I don't know how to do this, but a real fix needs to somehow detect the differences and make both versions work. Otherwise you'll just end up switching this back and forth forever. No, the patch that made your device fail should not have been accepted either. But it was a very long time ago, so a revert is not appropriate anymore. You need to fix your issues without breaking Philippe's. Looking at the diff between the two board sections, there are only two real differences: .mts_firmware = 0 or 1, and gpio (reset sequences?) = 'default' or 'hauppauge_wintv_hvr_900': - [EM2880_BOARD_TERRATEC_HYBRID_XS] = { - .name = "Terratec Hybrid XS", + [EM2882_BOARD_TERRATEC_HYBRID_XS] = { + .name = "Terratec Cinnergy Hybrid T USB XS (em2882)", .tuner_type = TUNER_XC2028, .tuner_gpio = default_tuner_gpio, + .mts_firmware = 1, .decoder = EM28XX_TVP5150, .has_dvb = 1, - .dvb_gpio = default_digital, + .dvb_gpio = hauppauge_wintv_hvr_900_digital, .ir_codes = RC_MAP_TERRATEC_CINERGY_XS, - .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, /* NEC IR */ + .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, .input = { { .type = EM28XX_VMUX_TELEVISION, .vmux = TVP5150_COMPOSITE0, .amux = EM28XX_AMUX_VIDEO, - .gpio = default_analog, + .gpio = hauppauge_wintv_hvr_900_analog, }, { .type = EM28XX_VMUX_COMPOSITE, .vmux = TVP5150_COMPOSITE1, .amux = EM28XX_AMUX_LINE_IN, - .gpio = default_analog, + .gpio = hauppauge_wintv_hvr_900_analog, }, { .type = EM28XX_VMUX_SVIDEO, .vmux = TVP5150_SVIDEO, .amux = EM28XX_AMUX_LINE_IN, - .gpio = default_analog, + .gpio = hauppauge_wintv_hvr_900_analog, } }, }, Original patch: commit 9124544320bd36d5aa21769d17a5781ba729aebf Author: Philippe Bourdin <richel@xxxxxxxxxxxxxx> Date: Sun Oct 31 09:57:58 2010 -0300 [media] Terratec Cinergy Hybrid T USB XS I found that the problems people have reported with the USB-TV-stick "Terratec Cinergy Hybrid T USB XS" (USB-ID: 0ccd:0042) are coming from a wrong header file in the v4l-sources. Attached is a diff, which fixes the problem (tested successfully here). Obviously the USB-ID has been associated with a wrong chip: EM2880 instead of EM2882, which would be correct. Reported-by: Philippe Bourdin <richel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index ed25c5579c33..5d79d0eb64ab 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c @@ -1496,7 +1496,7 @@ struct em28xx_board em28xx_boards[] = { } }, }, [EM2882_BOARD_TERRATEC_HYBRID_XS] = { - .name = "Terratec Hybrid XS (em2882)", + .name = "Terratec Cinnergy Hybrid T USB XS (em2882)", .tuner_type = TUNER_XC2028, .tuner_gpio = default_tuner_gpio, .mts_firmware = 1, @@ -1820,7 +1820,7 @@ struct usb_device_id em28xx_id_table[] = { { USB_DEVICE(0x0ccd, 0x005e), .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, { USB_DEVICE(0x0ccd, 0x0042), - .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, + .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, { USB_DEVICE(0x0ccd, 0x0043), .driver_info = EM2870_BOARD_TERRATEC_XS }, { USB_DEVICE(0x0ccd, 0x0047), Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html