public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] [PATCH] Support faulty USB IDs on DIBUSB_MC
@ 2008-06-07 11:36 matthieu castet
  2009-01-19 20:38 ` matthieu castet
  0 siblings, 1 reply; 16+ messages in thread
From: matthieu castet @ 2008-06-07 11:36 UTC (permalink / raw)
  To: linux-dvb

[-- Attachment #1: Type: text/plain, Size: 344 bytes --]

Hi,

I got a LITE-ON USB2.0 DVB-T Tuner that loose it's cold state vid/pid 
and got  FX2 dev kit one (0x04b4, 0x8613).

This patch introduce an option similar to the DVB_USB_DIBUSB_MB_FAULTY :
it add the FX2 dev kit ids to the DIBUSB_MC driver if 
DVB_USB_DIBUSB_MC_FAULTY is selected.

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>

[-- Attachment #2: dib3000c_faulty_id --]
[-- Type: text/plain, Size: 2565 bytes --]

diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index f00a0eb..a656b9b 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -68,6 +68,12 @@ config DVB_USB_DIBUSB_MC
 	  Say Y if you own such a device and want to use it. You should build it as
 	  a module.
 
+config DVB_USB_DIBUSB_MC_FAULTY
+	bool "Support faulty USB IDs"
+	depends on DVB_USB_DIBUSB_MC
+	help
+	  Support for faulty USB IDs due to an invalid EEPROM on some LITE-ON devices.
+
 config DVB_USB_DIB0700
 	tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)"
 	depends on DVB_USB
diff --git a/drivers/media/dvb/dvb-usb/dibusb-mc.c b/drivers/media/dvb/dvb-usb/dibusb-mc.c
index 059cec9..ab5766a 100644
--- a/drivers/media/dvb/dvb-usb/dibusb-mc.c
+++ b/drivers/media/dvb/dvb-usb/dibusb-mc.c
@@ -42,6 +42,17 @@ static struct usb_device_id dibusb_dib3000mc_table [] = {
 /* 11 */	{ USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC,	USB_PID_ARTEC_T14_WARM) },
 /* 12 */	{ USB_DEVICE(USB_VID_LEADTEK,		USB_PID_WINFAST_DTV_DONGLE_COLD) },
 /* 13 */	{ USB_DEVICE(USB_VID_LEADTEK,		USB_PID_WINFAST_DTV_DONGLE_WARM) },
+/*
+ * XXX: Some LITE-ON devices seem to loose their id after some time. Bad EEPROM ???.
+ *      We don't catch these faulty IDs (namely 'Cypress FX2 USB controller') that
+ *      have been left on the device. If you don't have such a device but an LITE-ON
+ *      device that's supposed to work with this driver but is not detected by it,
+ *      free to enable CONFIG_DVB_USB_DIBUSB_MC_FAULTY via your kernel config.
+ */
+
+#ifdef CONFIG_DVB_USB_DIBUSB_MC_FAULTY
+/* 14 */	{ USB_DEVICE(USB_VID_CYPRESS,		USB_PID_ULTIMA_TVBOX_USB2_FX_COLD) },
+#endif
 			{ }		/* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table);
@@ -88,7 +99,11 @@ static struct dvb_usb_device_properties dibusb_mc_properties = {
 
 	.generic_bulk_ctrl_endpoint = 0x01,
 
+#ifdef CONFIG_DVB_USB_DIBUSB_MC_FAULTY
+	.num_device_descs = 8,
+#else
 	.num_device_descs = 7,
+#endif
 	.devices = {
 		{   "DiBcom USB2.0 DVB-T reference design (MOD3000P)",
 			{ &dibusb_dib3000mc_table[0], NULL },
@@ -119,6 +134,13 @@ static struct dvb_usb_device_properties dibusb_mc_properties = {
 			{ &dibusb_dib3000mc_table[12], NULL },
 			{ &dibusb_dib3000mc_table[13], NULL },
 		},
+#ifdef CONFIG_DVB_USB_DIBUSB_MC_FAULTY
+		{   "LITE-ON USB2.0 DVB-T Tuner (faulty USB IDs)",
+		    /* Also rebranded as Intuix S800, Toshiba */
+			{ &dibusb_dib3000mc_table[14], NULL },
+			{ NULL },
+		},
+#endif
 		{ NULL },
 	}
 };

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-05-20  8:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-07 11:36 [linux-dvb] [PATCH] Support faulty USB IDs on DIBUSB_MC matthieu castet
2009-01-19 20:38 ` matthieu castet
2009-01-29  9:47   ` Mauro Carvalho Chehab
2009-01-29 10:19     ` Patrick Boettcher
2009-01-29 12:05       ` Mauro Carvalho Chehab
2009-01-29 13:08         ` Patrick Boettcher
2009-01-29 13:34           ` Mauro Carvalho Chehab
2009-01-29 20:05       ` matthieu castet
2009-01-29 20:46         ` matthieu castet
2009-02-09 19:40           ` matthieu castet
2009-02-09 19:44             ` [linux-dvb] " Devin Heitmueller
2009-02-09 20:16               ` matthieu castet
2009-02-09 20:32                 ` Devin Heitmueller
2009-02-09 19:51             ` Devin Heitmueller
2009-05-16 13:08           ` [PATCH] DIBUSB_MC : fix i2c to not corrupt eeprom in case of strange read pattern matthieu castet
2009-05-20  8:42             ` Patrick Boettcher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox