* [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