diff mbox

Remove support for Genpix-CW3K (damages hardware)

Message ID 49D2338C.7040703@gmail.com (mailing list archive)
State Accepted
Headers show

Commit Message

Alan Nisota March 31, 2009, 3:15 p.m. UTC
I have been informed by the manufacturer that the patch currently in the 
v4l tree to support the Genpix-CW3K version of the hardware will 
actually damage the firmware on recent units.  As he seems to not want 
this hardware supported in Linux, and I do not know how to detect the 
difference between affected and not-affected units, I am requesting the 
immediate removal of support for this device.  This patch removes a 
portion of the changeset dce7e08ed2b1 applied 2007-08-18 relating to 
this specific device.

Signed off by: Alan Nisota <anisota@gmail.com>

Comments

Patrick Boettcher April 1, 2009, 7:35 a.m. UTC | #1
Hi Alan,

On Tue, 31 Mar 2009, Alan Nisota wrote:

> I have been informed by the manufacturer that the patch currently in the v4l 
> tree to support the Genpix-CW3K version of the hardware will actually damage 
> the firmware on recent units.  As he seems to not want this hardware 
> supported in Linux, and I do not know how to detect the difference between 
> affected and not-affected units, I am requesting the immediate removal of 
> support for this device.  This patch removes a portion of the changeset 
> dce7e08ed2b1 applied 2007-08-18 relating to this specific device.
>
> Signed off by: Alan Nisota <anisota@gmail.com>

Don't you think it is enough to put a Kconfig option to activate the 
USB-IDs (by default: off) rather than throwing everything away?

Patrick.

--
   Mail: patrick.boettcher@desy.de
   WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alan Nisota April 1, 2009, 8:01 p.m. UTC | #2
Patrick Boettcher wrote:
> Hi Alan,
>
> Don't you think it is enough to put a Kconfig option to activate the 
> USB-IDs (by default: off) rather than throwing everything away?
>
We could, but honestly, there are likely few people using this device 
who don't have to patch their kernel anyway, and it is a trivial patch 
to apply.  There have been 4 incarnations of the CW3K as the 
manufacturer has tried to actively make it not work in Linux (and users 
have found ways around that for each subsequent revision).  When I 
created the patch, I was not aware that the developer would take this 
stance.  Only the 1st batch of devices works with the existing code, and 
I'm not aware of any way to detect the device version. 

Given the manufacturer's stance and the potential to unknowingly damage 
the device (I've been informed that the manufacturer has stated that use 
of the Linux drivers with the CW3K will void any manufacturer's 
warranty), I would rather remove support for this piece of hardware 
outright.  I believe the manufacturer still supports the 8PSK->USB and 
Skywalker1 versions of the hardware on Linux (plus a new Skywalker2 
which requires a kernel patch to enable).


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mauro Carvalho Chehab April 5, 2009, 2:55 p.m. UTC | #3
Hi Alan,

On Wed, 01 Apr 2009 13:01:25 -0700
Alan Nisota <alannisota@gmail.com> wrote:

> Patrick Boettcher wrote:
> > Hi Alan,
> >
> > Don't you think it is enough to put a Kconfig option to activate the 
> > USB-IDs (by default: off) rather than throwing everything away?
> >
> We could, but honestly, there are likely few people using this device 
> who don't have to patch their kernel anyway, and it is a trivial patch 
> to apply.  There have been 4 incarnations of the CW3K as the 
> manufacturer has tried to actively make it not work in Linux (and users 
> have found ways around that for each subsequent revision).  When I 
> created the patch, I was not aware that the developer would take this 
> stance.  Only the 1st batch of devices works with the existing code, and 
> I'm not aware of any way to detect the device version. 
> 
> Given the manufacturer's stance and the potential to unknowingly damage 
> the device (I've been informed that the manufacturer has stated that use 
> of the Linux drivers with the CW3K will void any manufacturer's 
> warranty), I would rather remove support for this piece of hardware 
> outright.  I believe the manufacturer still supports the 8PSK->USB and 
> Skywalker1 versions of the hardware on Linux (plus a new Skywalker2 
> which requires a kernel patch to enable).

We shouldn't drop support for a device just because the manufacturer doesn't
want it to be supported. If it really damages the hardware or violates the
warranty, then we can print a warning message clearly stating that the vendor
refuses to collaborate, briefly explaining the issues and recommending the user
to replace the device to some other from a vendor-friendly at dmesg, but keep
allowing they to use it, with some force option for people that wants to take
the risk.

This is just my 2 cents.

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alan Nisota April 5, 2009, 3:19 p.m. UTC | #4
Mauro Carvalho Chehab wrote:
> We shouldn't drop support for a device just because the manufacturer doesn't
> want it to be supported. If it really damages the hardware or violates the
> warranty, then we can print a warning message clearly stating that the vendor
> refuses to collaborate, briefly explaining the issues and recommending the user
> to replace the device to some other from a vendor-friendly at dmesg, but keep
> allowing they to use it, with some force option for people that wants to take
> the risk.
>   
I'm not going to go through the entire soap-opera as I know it, but 
basically the manufacturer has 2 tiers of devices, those that were 
designed to work only with a specific piece of hardware, and those that 
are supported in Windows and Linux, but come with a significant price 
premium.  The latter devices are supported by the kernel and should be 
continued to be.  The former is what we're talking about and what my 
patch removes support for.  The patch was in response to real users with 
real problems.

I am in no way associated with the manufacturer other than that he 
provided me with initial help writing the Linux drivers several years 
ago.  I no longer have a use for the drivers myself, and any support I 
do is just to help the community out.  I have provided a patch which 
makes the driver safe to use.  If you prefer an alternate method of 
achieving the same goal, or wish to just ignore it altogether, that is 
ok, but I don't have the time to develop and test a patch that is more 
complicated then what I've already posted.  If you are going to take any 
action, I would prefer it get pushed into the current kernel development 
tree to minimize the potential harm to users.


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Patrick Boettcher May 20, 2009, 8:52 a.m. UTC | #5
Hi Alan,

On Tue, 31 Mar 2009, Alan Nisota wrote:

> I have been informed by the manufacturer that the patch currently in the v4l 
> tree to support the Genpix-CW3K version of the hardware will actually damage 
> the firmware on recent units.  As he seems to not want this hardware 
> supported in Linux, and I do not know how to detect the difference between 
> affected and not-affected units, I am requesting the immediate removal of 
> support for this device.  This patch removes a portion of the changeset 
> dce7e08ed2b1 applied 2007-08-18 relating to this specific device.
>
> Signed off by: Alan Nisota <anisota@gmail.com>


Finally I found the time to work on your patch. I adapted it to not remove 
the code, but to put it under comments and #if 0's .

Like that we protect "normal" users and advanced users need to do some 
efforts before getting in danger.

I hope it is OK with you.

regards,
Patrick.

--
   Mail: patrick.boettcher@desy.de
   WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff -r 5567e82c34a0 linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	Tue Mar 31 07:24:14 2009 -0300
+++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	Tue Mar 31 07:48:00 2009 -0700
@@ -225,7 +225,6 @@ 
 #define USB_PID_GENPIX_8PSK_REV_1_WARM			0x0201
 #define USB_PID_GENPIX_8PSK_REV_2			0x0202
 #define USB_PID_GENPIX_SKYWALKER_1			0x0203
-#define USB_PID_GENPIX_SKYWALKER_CW3K			0x0204
 #define USB_PID_SIGMATEK_DVB_110			0x6610
 #define USB_PID_MSI_DIGI_VOX_MINI_II			0x1513
 #define USB_PID_MSI_DIGIVOX_DUO				0x8801
diff -r 5567e82c34a0 linux/drivers/media/dvb/dvb-usb/gp8psk.c
--- a/linux/drivers/media/dvb/dvb-usb/gp8psk.c	Tue Mar 31 07:24:14 2009 -0300
+++ b/linux/drivers/media/dvb/dvb-usb/gp8psk.c	Tue Mar 31 07:48:00 2009 -0700
@@ -138,8 +138,6 @@  static int gp8psk_power_ctrl(struct dvb_
 	if (onoff) {
 		gp8psk_usb_in_op(d, GET_8PSK_CONFIG,0,0,&status,1);
 		if (! (status & bm8pskStarted)) {  /* started */
-			if(gp_product_id == USB_PID_GENPIX_SKYWALKER_CW3K)
-				gp8psk_usb_out_op(d, CW3K_INIT, 1, 0, NULL, 0);
 			if (gp8psk_usb_in_op(d, BOOT_8PSK, 1, 0, &buf, 1))
 				return -EINVAL;
 		}
@@ -168,8 +166,6 @@  static int gp8psk_power_ctrl(struct dvb_
 		/* Turn off 8psk power */
 		if (gp8psk_usb_in_op(d, BOOT_8PSK, 0, 0, &buf, 1))
 			return -EINVAL;
-		if(gp_product_id == USB_PID_GENPIX_SKYWALKER_CW3K)
-			gp8psk_usb_out_op(d, CW3K_INIT, 0, 0, NULL, 0);
 	}
 	return 0;
 }
@@ -223,7 +219,6 @@  static struct usb_device_id gp8psk_usb_t
 	    { USB_DEVICE(USB_VID_GENPIX, USB_PID_GENPIX_8PSK_REV_1_WARM) },
 	    { USB_DEVICE(USB_VID_GENPIX, USB_PID_GENPIX_8PSK_REV_2) },
 	    { USB_DEVICE(USB_VID_GENPIX, USB_PID_GENPIX_SKYWALKER_1) },
-	    { USB_DEVICE(USB_VID_GENPIX, USB_PID_GENPIX_SKYWALKER_CW3K) },
 	    { 0 },
 };
 MODULE_DEVICE_TABLE(usb, gp8psk_usb_table);
@@ -254,7 +249,7 @@  static struct dvb_usb_device_properties 
 
 	.generic_bulk_ctrl_endpoint = 0x01,
 
-	.num_device_descs = 4,
+	.num_device_descs = 3,
 	.devices = {
 		{ .name = "Genpix 8PSK-to-USB2 Rev.1 DVB-S receiver",
 		  .cold_ids = { &gp8psk_usb_table[0], NULL },
@@ -267,10 +262,6 @@  static struct dvb_usb_device_properties 
 		{ .name = "Genpix SkyWalker-1 DVB-S receiver",
 		  .cold_ids = { NULL },
 		  .warm_ids = { &gp8psk_usb_table[3], NULL },
-		},
-		{ .name = "Genpix SkyWalker-CW3K DVB-S receiver",
-		  .cold_ids = { NULL },
-		  .warm_ids = { &gp8psk_usb_table[4], NULL },
 		},
 		{ NULL },
 	}
diff -r 5567e82c34a0 linux/drivers/media/dvb/dvb-usb/gp8psk.h
--- a/linux/drivers/media/dvb/dvb-usb/gp8psk.h	Tue Mar 31 07:24:14 2009 -0300
+++ b/linux/drivers/media/dvb/dvb-usb/gp8psk.h	Tue Mar 31 07:48:00 2009 -0700
@@ -51,7 +51,6 @@  extern int dvb_usb_gp8psk_debug;
 #define GET_SIGNAL_LOCK                 0x90    /* in */
 #define GET_SERIAL_NUMBER               0x93    /* in */
 #define USE_EXTRA_VOLT                  0x94
-#define CW3K_INIT			0x9d
 
 /* PSK_configuration bits */
 #define bm8pskStarted                   0x01