From patchwork Mon Jan 19 20:38:22 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthieu Castet X-Patchwork-Id: 3207 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n0JKgUoJ025387 for ; Mon, 19 Jan 2009 12:42:30 -0800 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753092AbZASUq7 (ORCPT ); Mon, 19 Jan 2009 15:46:59 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752789AbZASUq7 (ORCPT ); Mon, 19 Jan 2009 15:46:59 -0500 Received: from smtpfb1-g21.free.fr ([212.27.42.9]:39741 "EHLO smtpfb1-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753137AbZASUq6 (ORCPT ); Mon, 19 Jan 2009 15:46:58 -0500 Received: from smtp3-g21.free.fr (smtp3-g21.free.fr [212.27.42.3]) by smtpfb1-g21.free.fr (Postfix) with ESMTP id A03DB786D25 for ; Mon, 19 Jan 2009 21:39:45 +0100 (CET) Received: from smtp3-g21.free.fr (localhost [127.0.0.1]) by smtp3-g21.free.fr (Postfix) with ESMTP id 6611F818193; Mon, 19 Jan 2009 21:38:33 +0100 (CET) Received: from [192.168.0.3] (cac94-1-81-57-151-96.fbx.proxad.net [81.57.151.96]) by smtp3-g21.free.fr (Postfix) with ESMTP id 073C4818145; Mon, 19 Jan 2009 21:38:30 +0100 (CET) Message-ID: <4974E4BE.2060107@free.fr> Date: Mon, 19 Jan 2009 21:38:22 +0100 From: matthieu castet User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20081204 Iceape/1.1.14 (Debian-1.1.14-1) MIME-Version: 1.0 To: linux-dvb@linuxtv.org, linux-media@vger.kernel.org Subject: Re: [PATCH] Support faulty USB IDs on DIBUSB_MC References: <484A72D3.7070500@free.fr> In-Reply-To: <484A72D3.7070500@free.fr> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org matthieu castet wrote: > 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 > Ping 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 }, } };