SilverCrest USB 2.0 Video Grabber SVG 2.0 A2
A small USB Video signal analog to digital converter distributed from the German discounter chain "Lidl". Vendor: TARGA GmbH, Lange Wende 41, D-59494 Soest. Artikel Nr.: 73763. SVG 2.0 A2. TARGA-Nr.1743993. GTIN (former EAN) is 4250133706645. This device has no TV nor Radio receivers.
It is also sold as "LogiLink USB2.0 Video Grabber with Snap Shot" - Model VG0005B v.1.0 - GTIN(EAN) is 4052792002102.
Whether it works under Linux, is still part of analysis. see below for a patch
Take note: this is a new batch being sold by Lidl late 2012 called SilverCrest USB 2.0 Video Grabber SVG 2.0 A2 and looks exactly similar as the SilverCrest USB 2.0 Video Grabber VG 2000 and has the same packaging, but uses a different chipset (Conexant CX23103-11Z), identified as ID 1d19:6109 by Dexatek Technology Ltd.
Overview/Features
Features of the SilverCrest USB-Video-Grabber SVG 2.0 A2:
- Digitalization of analogue video signals as VHS, Video8, Hi8 etc.
- Connects devices e.g. Camcorder, Video-Recorder and other analogue Video sources with Notebook or Personal Computer.
- Fast and easy to use for simple transmission to digital storage units.
- Interface: USB 2.0
- Input rating: 5 V DC, 300 mA
- Video inputs: Composite and S-Video
- Audio inputs: 2 x Cinch (Stereo)
- Video resolution: PAL / SECAM: 720 x 576 @ 25 FPS; NTSC: 720 x 480 @ 30 FPS
- Snapshot push-buttom
Components Used
- Conexant CX23103-11Z USB Audio/Video Decoder Including USB Interface
Other Images
Backside of the device and the audio-/video- connectors plugged in to the mini USB socket.
Identification
# lsusb -v -d 1d19:6109 Bus 001 Device 002: ID 1d19:6109 Dexatek Technology Ltd. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x1d19 Dexatek Technology Ltd. idProduct 0x6109 bcdDevice 40.01 iManufacturer 1 iProduct 2 iSerial 3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 248 bNumInterfaces 6 bConfigurationValue 1 iConfiguration 4 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x8e EP 14 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 4 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x0e EP 14 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 4 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 1 bInterfaceCount 5 bFunctionClass 255 Vendor Specific Class bFunctionSubClass 255 Vendor Specific Subclass bFunctionProtocol 255 Vendor Specific Protocol iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 7 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x8f EP 15 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 7 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 20 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 21 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x001c 1x 28 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 22 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0034 1x 52 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 23 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 24 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x00b8 1x 184 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 25 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x02d8 1x 728 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 26 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x13c4 3x 964 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 27 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0b84 2x 900 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 28 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 31 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 29 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 30 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0240 1x 576 bytes bInterval 1
Making it Work
Expecting Conexant CX2310x to work, but this is still under investigation.
Firmware
The unit does not use an loadable firmware.
Drivers
See Conexant CX2310x.
Patch to get the cx231xx driver working
In the file, depending on the kernel version, drivers/media/video/cx231xx/cx231xx-cards.c or drivers/media/usb/cx231xx/cx231xx-cards.c go to struct usb_device_id cx231xx_id_table[] and add these two lines e.g. at the beginning of the definition:
{USB_DEVICE(0x1D19, 0x6109), .driver_info = CX231XX_BOARD_PV_XCAPTURE_USB},
Here is a proof that it is working.
Test System
The device is connected to a multicore AMD A6-3500 system.
> uname -a Linux media-center 3.5.0-27-generic #46-Ubuntu SMP Mon Mar 25 19:58:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Kernel Output
The Kernel loads the newly provided drivers
> dmesg [11196.213937] usb 1-4: new high-speed USB device number 2 using ehci_hcd [11196.349182] usb 1-4: New USB device found, idVendor=1d19, idProduct=6109 [11196.349195] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [11196.349202] usb 1-4: Product: Video Grabber [11196.349208] usb 1-4: Manufacturer: DK [11196.349213] usb 1-4: SerialNumber: 0000000000
However, seeing this does not mean that the device is fully initialised.
Such lines must also be present:
> dmesg [ 368.813889] cx231xx #0: New device DK Video Grabber @ 480 Mbps (1d19:6109) with 5 interfaces [ 368.813895] cx231xx #0: registering interface 1 [ 368.814069] cx231xx #0: Identified as Pixelview Xcapture USB (card=11) [ 368.900034] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff [ 368.911152] cx25840 7-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #0) [ 368.929235] cx25840 7-0044: Firmware download size changed to 16 bytes max length
Only then is the device fully functional.
Kernel Modules
To get the difference the lsmod was logged before and after plugging in the device, then the "diff" command creates the output.
> cx231xx_alsa 17905 0 > cx25840 102646 1 > cx231xx 168502 1 cx231xx_alsa > videobuf_vmalloc 13560 1 cx231xx > cx2341x 28283 1 cx231xx > rc_core 26426 1 cx231xx > v4l2_common 21295 3 cx2341x,cx231xx,cx25840 > videobuf_core 25993 2 cx231xx,videobuf_vmalloc 19c27 < snd_pcm 97451 2 snd_hda_codec,snd_hda_intel --- > snd_pcm 97451 3 cx231xx_alsa,snd_hda_codec,snd_hda_intel 38c46 < snd 68876 11 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device --- > snd 68876 12 snd_hda_codec_realtek,cx231xx_alsa,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device 42c50 < videodev 129260 2 uvcvideo,videobuf2_core --- > videodev 129260 6 cx2341x,cx231xx,cx25840,uvcvideo,v4l2_common,videobuf2_core
Remote Control Support
There is no remote control.
Snapshot Control Support
The housing is equipped with an push bottom to initiate a video snapshot. Operating of this shows no effect in VLC application nor /var/log/messages.
Verifying full functionality
These devices must be created by the driver in order for this device to work successfully:
- Cx231xx Audio Analog Stereo - used for audio input
- cx231xx #0 vbi - used by v4l
- cx231xx #0 video - used by v4l
The cx231xx driver, when properly patched and compiled, works obviously also with this hardware.
The absence of this devices means that the full functionality is not available.
Capturing video and audio works on linux (at least tested with Ubuntu 12.04. and with kernel 3.5.0.45 with applied above patch. Skype video and Audacity audio capture worked, when tested. Hence, it would safely work with later kernels, if the patch would be preconfigured. The cx231xx driver states in the source comments, that itself is copyright 2008, so some older kernels work probably as well, if the module is patched and compiled properly).
External Links