Overview/Features

The EZGrabber2 device shares the Windows drivers for the similar devices Capit and EZGrabber, so likely much of the information will be in common with those. Please clarify if you have any of these products:

Supposedly supports output of compressed MPEG1/2/4 stream(on Windows). On Linux, using a patched cx231xx driver, it is at least possible to get uncompressed YUV4:2:2 video and 48000Hz stereo through the corresponding alsa device.

It has the standard USB 2.0 interface with stereo, composite video and S-video inputs.

Components Used

The single chip on the board is labeled as CX78921-11z. There is no reference to this chip on Conexant's website nor practically any the entire internet, so likely this is just a renumbered chip for these specific vendors. However the indication that it can output compressed MPEG4 video does suggest that it is not a standard cx23100/1/2.

However examining the Windows drivers provided by the vendors, they refer to the device Polaris.CVBS or POLARIS.OTG102, and contain many of the same driver files as other devices containing the cx23100/1/2 chips .

Images

Front side of board

Back side of board

Making it work

We need to add the device definition and some related details to the cx231xx driver and have installed the appropriate firmware (see below). Also we need to have built and load the kernel modules for cx25840 and cx231xx before plugging in the device (#modprobe cx25840;modprobe cx231xx). If I don't do this, the cx231xx module will autoload on detecting the device, but the cx25840 module will not autoload, and the device doesn't function.

The following is a patch against a kernel source 3.6. It should be fairly applicable to sources from 2.6.32 on through 3.7, with the possible note of the device number in cx2311.h. Note that in 3.8 and presumably onwards, the structure of the drivers/media/ directory has been changed and no longer is there a drivers/media/video directory, but rather the video drivers are regrouped by interface (usb, pci), so the cx231xx drivers are under drivers/media/usb/cx231xx while the related and also needed driver for the cx25840 is under drivers/media/pci/.

The has also been a lot of recent (early 2013) patches submitted to patchwork.kernel.org/project/linux-media that may require subsequent modifications. A patch for this device has been submitted and will hopefully be pulled into to 3.9 or following kernel.

Kernel Patch

I'll also post a downloadable patch. Until then, and for posterity, the text is below.

Firmware

Like for many similar devices of various chipsets, a firmware image or images are required that the driver uploads to the device. These are often closed source binary blobs under unclear license as far as their redistributeability. To further complicate matters, there are various versions of these firmwares with the same name that are not (always) cross-compatible. To complicate matters even further, there is apparently a mix-up one of the firmware files distrusted though linuxtv.org and linux-firmware.git. See [1] and especially [2] for more information.

I have these in my /lib/firmware folder. These came from [3]. The Geniatech driver also contains a firmware image called cx416enc.rom which is very similar to the v4l-cx23885-enc.fw file (which is a renamed hcw85enc.rom from the HVR1800 driver).

crop video to specified width:height at position x:y, to remove fuzzy edges or unwanted parts of image, then scale to standard height and expand to standard width (puts black bars on side of image, but maybe helpful for DVD player compatibility)

-vf pp=ci,hqdn3d

deinterlace with cubic interpolation, apply high quality denoise3d

Problems with audio

If mplayer etc. reports that the audio device is busy "error opening audio: Device or resource busy" and you are using pulseaudio, disable pulseaudio's control of the device, eg in pavucontrol (Pulse Audio Volume Control) under configuration, set the Cx231xx Audio device to be off. This will allow other programs to access the resource through the alsa device.

Problems with interference

Probably not specific to this board, but as a general note: I was initially getting frequent green lines (of about 1 line thickness) that ran across the image once every 0.5 to 3 seconds. I attributed this to some interference on the video feed, however changing cables did not help. I was especially stumped once the same pattern of interference occurred on the s-video input. Then I moved the device to a rear USB port on the motherboard instead of the front which it had been placed on. That solved the problem. Apparently the cable running from the motherboard header to the front USB ports on case was the source of interference, and it was on the USB output side rather than the video input.

Notes about the Windows drivers

I purchased an EZGrabber2 from Meritline early February 2013. It was the MyGica variant although the product page links to the Geniatech driver and software.

It is also worth noting that the Geniatech ezgrabber2driver.zip file contains both Windows and Linux directories. It was due to this that I originally purchased this device hoping they had included some support for Linux, and they do provide Linux drivers for some of their other products. However, it appears to be a mistake. The only modification of drivers in the tree I can find are some alternate definitions for au0828 cards, specifically defining 05e1:0400 and 1f4d:6011 as AU0828_BOARD_HAUPPAUGE_WOODBURY.

Other notes

Diamond VC500 EZgrabber

In some places it is noted that (some versions of?) the Diamond VC500 EZgrabber are also identified as OTG102, a cursory web search suggests this has a TM5600/6000 chipset and the Windows drivers provided by Diamond appear totally different.