[00/13] Remaining coding style clean up of AS102 driver

Message ID 4EB8383F.2000201@gmail.com (mailing list archive)
State RFC, archived
Headers

Commit Message

Sylwester Nawrocki Nov. 7, 2011, 7:57 p.m. UTC
  Hi Gianluca,

On 11/07/2011 05:09 PM, Gianluca Gennari wrote:
> Hi Sylwestwer,
> I was about to test the new driver when I discovered that my as102
> device is not included in the list of supported devices:
> 
> /* Super Digi KEY */
> #define AS102_SUPER_DIGI_NAME	"Super Digi KEY"
> #define SUPER_DIGI_USB_VID	0x2137
> #define SUPER_DIGI_USB_PID	0x0001
> 
> It's a "Digital key" offered by Sky Italia to its customers to watch
> terrestrial programs with the Sky satellite decoders.

I'm not sure if your device needs some special handling, but it might work
if you repeat steps as in this patch: 
http://git.linuxtv.org/media_tree.git/commitdiff/5f9745b2c942b2ab220831b2c51a18c3f1374249

Have you tried it already ?

Possibly something like this is enough (only compile tested):
  

Comments

Devin Heitmueller Nov. 7, 2011, 8:06 p.m. UTC | #1
On Mon, Nov 7, 2011 at 2:57 PM, Sylwester Nawrocki <snjw23@gmail.com> wrote:
> My knowledge about this driver is rather limited, in case of any issues I
> guess it's best to ask Devin directly.

Part of the problem here is that the as102 chip is a fully
programmable part, and as a result the firmware may differ on a
product-by-product basis.  In fact, the engineer at Abilis told me
outright that the firmware provided for the PCTV device isn't
appropriate for the Elgato board, but it worked "good enough" for the
user.

In other words, users are free to try the firmware prepared for PCTV
against other devices, but be prepared for it to not be optimized
properly for that hardware design (meaning tuning quality issues or
perhaps not working at all), and if it destroys your board then don't
come crying to me.

The only way to know if the same firmware is being used would be to do
a USB capture, write a decoder which allows you to extract the
firmware being uploaded, and compare it against the PCTV blob.  And if
it doesn't match, there's no real way of knowing whether the delta is
significant.

Also worth noting that the only firmware we have the legal right to
freely redistribute is the one needed by the PCTV device.  Even if
somebody extracts another firmware blob from a USB trace, there are no
legal rights to redistribute it (meaning a firmware extract script
written to work against the Windows driver binary would be required).

Devin
  

Patch

diff --git a/drivers/staging/media/as102/as102_usb_drv.c b/drivers/staging/media/as102/as102_usb_drv.c
index 9faab5b..9edb366 100644
--- a/drivers/staging/media/as102/as102_usb_drv.c
+++ b/drivers/staging/media/as102/as102_usb_drv.c
@@ -42,6 +42,7 @@  static struct usb_device_id as102_usb_id_table[] = {
        { USB_DEVICE(PCTV_74E_USB_VID, PCTV_74E_USB_PID) },
        { USB_DEVICE(ELGATO_EYETV_DTT_USB_VID, ELGATO_EYETV_DTT_USB_PID) },
        { USB_DEVICE(NBOX_DVBT_DONGLE_USB_VID, NBOX_DVBT_DONGLE_USB_PID) },
+       { USB_DEVICE(SUPER_DIGI_USB_VID, SUPER_DIGI_USB_PID) },
        { } /* Terminating entry */
 };
 
@@ -52,6 +53,7 @@  static const char * const as102_device_names[] = {
        AS102_PCTV_74E,
        AS102_ELGATO_EYETV_DTT_NAME,
        AS102_NBOX_DVBT_DONGLE_NAME,
+       AS102_SUPER_DIGI_NAME,
        NULL /* Terminating entry */
 };
 
diff --git a/drivers/staging/media/as102/as102_usb_drv.h b/drivers/staging/media/as102/as102_usb_drv.h
index 35925b7..6f95af2 100644
--- a/drivers/staging/media/as102/as102_usb_drv.h
+++ b/drivers/staging/media/as102/as102_usb_drv.h
@@ -47,6 +47,11 @@ 
 #define NBOX_DVBT_DONGLE_USB_VID       0x0b89
 #define NBOX_DVBT_DONGLE_USB_PID       0x0007
 
+/* Super Digi KEY */
+#define AS102_SUPER_DIGI_NAME          "Super Digi KEY"
+#define SUPER_DIGI_USB_VID             0x2137
+#define SUPER_DIGI_USB_PID             0x0001
+

My knowledge about this driver is rather limited, in case of any issues I
guess it's best to ask Devin directly.