* [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx
@ 2017-06-10 7:13 juvann
2017-06-23 9:22 ` Hans Verkuil
0 siblings, 1 reply; 4+ messages in thread
From: juvann @ 2017-06-10 7:13 UTC (permalink / raw)
To: linux-media
TerraTec Cinergy Hybrid T USB XS with demodulator MT352 stop working with kernel 3.xx and newer.
I have already sent this patch without a success reply, I hope this time you can accept it.
--- /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 4.3 and 4.9
Thank you
Giovanni
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx 2017-06-10 7:13 [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx juvann @ 2017-06-23 9:22 ` Hans Verkuil 2017-06-23 10:38 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 4+ messages in thread From: Hans Verkuil @ 2017-06-23 9:22 UTC (permalink / raw) To: juvann, linux-media; +Cc: Mauro Carvalho Chehab Hi Giovanni, On 06/10/17 09:13, juvann@caramail.fr wrote: > TerraTec Cinergy Hybrid T USB XS with demodulator MT352 stop working with kernel 3.xx and newer. > I have already sent this patch without a success reply, I hope this time you can accept it. > > --- /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 4.3 and 4.9 I checked the commit that changed the original EM2880_BOARD_TERRATEC_HYBRID_XS to EM2882_BOARD_TERRATEC_HYBRID_XS and it says this: commit 9124544320bd36d5aa21769d17a5781ba729aebf Author: Philippe Bourdin <richel@AngieBecker.ch> 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@AngieBecker.ch> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> So it looks like there are two variants with the same USB ID: one uses the EM2880, one uses the EM2882. Since nobody else complained I expect that most devices with this USB ID are in fact using the EM2882. I won't apply this patch, since that would break it for others. The best solution for you is to explicitly set the card using the 'card=11' em28xx module option. I've CC-ed Mauro in case he knows a better solution. Regards, Hans ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx 2017-06-23 9:22 ` Hans Verkuil @ 2017-06-23 10:38 ` Mauro Carvalho Chehab 2017-06-23 11:36 ` juvann 0 siblings, 1 reply; 4+ messages in thread From: Mauro Carvalho Chehab @ 2017-06-23 10:38 UTC (permalink / raw) To: Hans Verkuil; +Cc: juvann, linux-media Em Fri, 23 Jun 2017 11:22:50 +0200 Hans Verkuil <hverkuil@xs4all.nl> escreveu: > Hi Giovanni, > > On 06/10/17 09:13, juvann@caramail.fr wrote: > > TerraTec Cinergy Hybrid T USB XS with demodulator MT352 stop working with kernel 3.xx and newer. > > I have already sent this patch without a success reply, I hope this time you can accept it. > > > > --- /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 4.3 and 4.9 > > I checked the commit that changed the original EM2880_BOARD_TERRATEC_HYBRID_XS > to EM2882_BOARD_TERRATEC_HYBRID_XS and it says this: > > commit 9124544320bd36d5aa21769d17a5781ba729aebf > Author: Philippe Bourdin <richel@AngieBecker.ch> > 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@AngieBecker.ch> > Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> > > So it looks like there are two variants with the same USB ID: one uses > the EM2880, one uses the EM2882. Since nobody else complained I expect > that most devices with this USB ID are in fact using the EM2882. > > I won't apply this patch, since that would break it for others. > > The best solution for you is to explicitly set the card using the > 'card=11' em28xx module option. > > I've CC-ed Mauro in case he knows a better solution. If the newest original driver from the manufacturer supports both versions, perhaps the *.INF file there would help to identify what version is there, by using the USB revision numbers. We have this for USB ID 1554:5010, for example. That specific USB ID actually use two different drivers, depending on the review. Either cx231xx: {USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x4000, 0x4001), .driver_info = CX231XX_BOARD_PV_PLAYTV_USB_HYBRID}, or dib0700: { USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x000, 0x3f00) }, Unfortunately, I don't have any contacts at Terratec anymore, so we'll need to get it the hard way: people with this hardware should report the version of the hardware, by using lsusb -v. It should report something like: Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 4.10 iManufacturer 3 iProduct 2 iSerial 1 The USB_DEVICE_VER macro is: #define USB_DEVICE_VER(vend, prod, lo, hi) \ .match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION, \ .idVendor = (vend), \ .idProduct = (prod), \ .bcdDevice_lo = (lo), \ .bcdDevice_hi = (hi) So, it basically uses the field "bcdDevice" in order to detect for a specific hardware version. Please notice that, ideally, we need the "bcdDevice" data for both the em2880 and em2882 versions in to fix it and be sure that the manufacturer changed it on the newest version. The *.INF file may contain such information, with would make our lives a way easier. Regards, Mauro ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx 2017-06-23 10:38 ` Mauro Carvalho Chehab @ 2017-06-23 11:36 ` juvann 0 siblings, 0 replies; 4+ messages in thread From: juvann @ 2017-06-23 11:36 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: Hans Verkuil, linux-media Hi Mauro, this is the output of lsusb -v of my device with demodulator MT352 which works with EM2880. Bus 002 Device 002: ID 0ccd:0042 TerraTec Electronic GmbH Cinergy Hybrid T XS 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 0x0042 Cinergy Hybrid T XS bcdDevice 1.00 iManufacturer 2 TerraTec Electronic GmbH iProduct 1 Cinergy Hybrid T USB XS iSerial 0 bNumConfigurations 1 Regards, Giovanni > Sent: Friday, June 23, 2017 at 12:38 PM > From: "Mauro Carvalho Chehab" <mchehab@infradead.org> > To: "Hans Verkuil" <hverkuil@xs4all.nl> > Cc: juvann@caramail.fr, linux-media@vger.kernel.org > Subject: Re: [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx > > Em Fri, 23 Jun 2017 11:22:50 +0200 > Hans Verkuil <hverkuil@xs4all.nl> escreveu: > > > Hi Giovanni, > > > > On 06/10/17 09:13, juvann@caramail.fr wrote: > > > TerraTec Cinergy Hybrid T USB XS with demodulator MT352 stop working with kernel 3.xx and newer. > > > I have already sent this patch without a success reply, I hope this time you can accept it. > > > > > > --- /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 4.3 and 4.9 > > > > I checked the commit that changed the original EM2880_BOARD_TERRATEC_HYBRID_XS > > to EM2882_BOARD_TERRATEC_HYBRID_XS and it says this: > > > > commit 9124544320bd36d5aa21769d17a5781ba729aebf > > Author: Philippe Bourdin <richel@AngieBecker.ch> > > 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@AngieBecker.ch> > > Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> > > > > So it looks like there are two variants with the same USB ID: one uses > > the EM2880, one uses the EM2882. Since nobody else complained I expect > > that most devices with this USB ID are in fact using the EM2882. > > > > I won't apply this patch, since that would break it for others. > > > > The best solution for you is to explicitly set the card using the > > 'card=11' em28xx module option. > > > > I've CC-ed Mauro in case he knows a better solution. > > If the newest original driver from the manufacturer supports both > versions, perhaps the *.INF file there would help to identify what > version is there, by using the USB revision numbers. > > We have this for USB ID 1554:5010, for example. That specific USB ID > actually use two different drivers, depending on the review. > > Either cx231xx: > > {USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x4000, 0x4001), > .driver_info = CX231XX_BOARD_PV_PLAYTV_USB_HYBRID}, > > or dib0700: > > { USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x000, 0x3f00) }, > > Unfortunately, I don't have any contacts at Terratec anymore, so we'll > need to get it the hard way: people with this hardware should report the > version of the hardware, by using lsusb -v. It should report something > like: > > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > Couldn't open device, some information will be missing > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 9 Hub > bDeviceSubClass 0 > bDeviceProtocol 1 Single TT > bMaxPacketSize0 64 > idVendor 0x1d6b Linux Foundation > idProduct 0x0002 2.0 root hub > bcdDevice 4.10 > iManufacturer 3 > iProduct 2 > iSerial 1 > > The USB_DEVICE_VER macro is: > > #define USB_DEVICE_VER(vend, prod, lo, hi) \ > .match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION, \ > .idVendor = (vend), \ > .idProduct = (prod), \ > .bcdDevice_lo = (lo), \ > .bcdDevice_hi = (hi) > > So, it basically uses the field "bcdDevice" in order to detect for a > specific hardware version. > > Please notice that, ideally, we need the "bcdDevice" data for both the > em2880 and em2882 versions in to fix it and be sure that the > manufacturer changed it on the newest version. The *.INF file may > contain such information, with would make our lives a way easier. > > Regards, > Mauro > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-06-23 11:37 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-06-10 7:13 [PATCH] [media] em28xx TerraTec Cinergy Hybrid T USB XS with demodulator MT352 is not detect by em28xx juvann 2017-06-23 9:22 ` Hans Verkuil 2017-06-23 10:38 ` Mauro Carvalho Chehab 2017-06-23 11:36 ` juvann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox