Re: usbvision: problems adding support for ATI TV Wonder USB Edition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Christopher,

On 12/19/2015 07:12 AM, Christopher Chavez wrote:
> Hi,
> 
> Not yet an experienced developer here, still working on BSCmpE.
> 
> I have attempted to add long-awaited support for the ATI TV Wonder USB Edition
> (NTSC) to usbvision. I have patches of what I've accomplished so far, but I'm
> not yet able to test it due to a couple of issues, at least one of which appears
> to be an outstanding bug from a few years ago (the "cannot change alternate
> number to 1 (error=-22)" issue). The entry in usbvision-cards.c is based on a
> similar Pinnacle and Hauppauge entries: the device looks like it might have been
> a rebadged Hauppauge WinTV USB, but inside it has both the NT1004 and NT1005
> bridges, SAA7113H input processor, and FI1236MK2 tuner (although none of the
> supported devices use .tuner_type = TUNER_PHILIPS_NTSC).
> 
> I'm still researching what other programs to test this with (VLC? v4l-utils?)...

I use qv4l2 from v4l-utils.

Did you make any progress with this?

The problem is that the usbvision driver is very old and very badly written. And
I doubt anyone will have time to upgrade this driver to modern standards.

I don't mind taking this patch, but I should at least have confirmation that you
got it to work :-)

Regards,

	Hans (who is cleaning out old submitted patches)

> 
> Christopher Chavez
> 
> 
> ---
>  drivers/media/usb/usbvision/usbvision-cards.c | 15 +++++++++++++++
>  drivers/media/usb/usbvision/usbvision-cards.h |  1 +
>  drivers/media/usb/usbvision/usbvision-video.c |  3 ++-
>  3 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/usb/usbvision/usbvision-cards.c
> b/drivers/media/usb/usbvision/usbvision-cards.c
> index 3103d0d..7b1edb7 100644
> --- a/drivers/media/usb/usbvision/usbvision-cards.c
> +++ b/drivers/media/usb/usbvision/usbvision-cards.c
> @@ -1054,6 +1054,20 @@ struct usbvision_device_data_st
> usbvision_device_data[] = {
>          .y_offset       = 18,
>          .model_string   = "Nogatech USB MicroCam PAL (NV3001P)",
>      },
> +    [ATI_TV_WONDER_USB_NTSC] = {
> +        .interface      = 0,
> +        .codec          = CODEC_SAA7113,
> +        .video_channels = 3,
> +        .video_norm     = V4L2_STD_NTSC,
> +        .audio_channels = 1,
> +        .radio          = 0,
> +        .vbi            = 1,
> +        .tuner          = 1,
> +        .tuner_type     = TUNER_PHILIPS_NTSC,
> +        .x_offset       = -1,
> +        .y_offset       = -1,
> +        .model_string   = "ATI TV Wonder USB Edition (NTSC)",
> +    },
>  };
>  const int usbvision_device_data_size = ARRAY_SIZE(usbvision_device_data);
> 
> @@ -1064,6 +1078,7 @@ struct usb_device_id usbvision_table[] = {
>      { USB_DEVICE(0x050d, 0x0106), .driver_info = BELKIN_VIDEOBUS_II },
>      { USB_DEVICE(0x050d, 0x0207), .driver_info = BELKIN_VIDEOBUS },
>      { USB_DEVICE(0x050d, 0x0208), .driver_info = BELKIN_USB_VIDEOBUS_II },
> +    { USB_DEVICE(0x0528, 0x7561), .driver_info = ATI_TV_WONDER_USB_NTSC },
>      { USB_DEVICE(0x0571, 0x0002), .driver_info = ECHOFX_INTERVIEW_LITE },
>      { USB_DEVICE(0x0573, 0x0003), .driver_info = USBGEAR_USBG_V1 },
>      { USB_DEVICE(0x0573, 0x0400), .driver_info = D_LINK_V100 },
> diff --git a/drivers/media/usb/usbvision/usbvision-cards.h
> b/drivers/media/usb/usbvision/usbvision-cards.h
> index a51cc11..ed1197c 100644
> --- a/drivers/media/usb/usbvision/usbvision-cards.h
> +++ b/drivers/media/usb/usbvision/usbvision-cards.h
> @@ -65,5 +65,6 @@
>  #define PINNA_PCTV_USB_NTSC_FM_V3                64
>  #define MICROCAM_NTSC                            65
>  #define MICROCAM_PAL                             66
> +#define ATI_TV_WONDER_USB_NTSC                   67
> 
>  extern const int usbvision_device_data_size;
> diff --git a/drivers/media/usb/usbvision/usbvision-video.c
> b/drivers/media/usb/usbvision/usbvision-video.c
> index de9ff3b..c76e1397 100644
> --- a/drivers/media/usb/usbvision/usbvision-video.c
> +++ b/drivers/media/usb/usbvision/usbvision-video.c
> @@ -1511,7 +1511,8 @@ static int usbvision_probe(struct usb_interface *intf,
> 
>      if (dev->descriptor.bNumConfigurations > 1)
>          usbvision->bridge_type = BRIDGE_NT1004;
> -    else if (model == DAZZLE_DVC_90_REV_1_SECAM)
> +    else if ((model == DAZZLE_DVC_90_REV_1_SECAM) ||
> +             (model == ATI_TV_WONDER_USB_NTSC))
>          usbvision->bridge_type = BRIDGE_NT1005;
>      else
>          usbvision->bridge_type = BRIDGE_NT1003;
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux