Em28xx devices: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
 
(107 intermediate revisions by 20 users not shown)
Line 1: Line 1:
This article discusses some [[USB]] interface chipset families produced by [[EMPIA Technology|EMPIA]], and, in addition, addresses the driver that support these chips.
This article discusses some [[USB]] interface chipset families produced by [[EMPIA Technology|EMPIA]], and, in addition, addresses the driver that support these chips.


==How to compile latest em28xx driver?==
==How to compile the latest em28xx driver?==
See the [[How to Obtain, Build and Install V4L-DVB Device Drivers]] article
* [http://www.linuxtv.org/v4lwiki/index.php/How_to_build_from_Mercurial See section How o build from Mercurial]


==Firmware==
===Information===
* [http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028#Firmware_Information See section Firmware Information in Xceive XC3028/XC2028 page]
===How to obtain it?===
* [http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028#How_to_Obtain_the_Firmware See section How to Obtain the Firmware in Xceive XC3028/XC2028 page]
=== Error: firmware xc3028-v27.fw not found ===
firmware: requesting xc3028-v27.fw
xc2028 1-0061: Error: firmware xc3028-v27.fw not found.


* [http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028#How_to_Obtain_the_Firmware See section How to Obtain the Firmware in Xceive XC3028/XC2028 to fix it]


== Boards ==
=== How to identify my USB vendor/product id? ===
== Supported boards ==


shell> '''lsusb'''<br>
== Not validated boards ==
If you can't recognize the vendor/product id from your device contact [http://vger.kernel.org/vger-lists.html#linux-media linux-media mail-list]
=== What's it?===

=== Analog: Boards not validated ===
=== Validated boards ===
==== What's it? ====
We use this term to advise that boards were tested by user or developer.

==== Table of validated boards ====
{| border="1" cellpadding="2"
!width="150"|Define
!width="200"|Name
!width="200"|Vendor/Product ID
!width="200"|Supported modes
|-
|<center>EM2820_BOARD_KWORLD_PVRTV2800RF</center> ||<center>Kworld PVR TV 2800 RF</center>
|<center>-</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_TERRATEC_CINERGY_250</center> ||<center>Terratec Cinergy 250 USB</center>
|<center>0x0ccd:0x0036</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_PINNACLE_USB_2</center> ||<center>Pinnacle PCTV USB 2</center>
|<center>0x2304:0x0208</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_HAUPPAUGE_WINTV_USB_2</center> ||<center>Hauppauge WinTV USB 2</center>
|<center>0x2040, 0x4201</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_HAUPPAUGE_WINTV_USB_2</center> ||<center>Hauppauge WinTV USB 2</center>
|<center>0x2040:0x4200</center> || <center>Analog</center>
|-
|<center>EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900</center> ||<center>Hauppauge WinTV HVR 900</center>
|<center>0x2040:0x6500</center> || <center>Analog/DVB</center>
|-
|<center>EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2</center> ||<center>Hauppauge WinTV HVR 900 (R2)</center>
|<center>0x2040:0x6502</center> || <center>Analog/DVB</center>
|-
|<center>EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950</center> ||<center>HCW HVR-980</center>
|<center>0x2040:0x6513</center> || <center>Analog/DVB</center>
|-
|<center>EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950</center> ||<center>HP HVR-950</center>
|<center>0x2040:0x6517</center> || <center>Analog/DVB</center>
|-
|<center>EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950</center> ||<center>RP HVR-950</center>
|<center>0x2040:0x651b</center> || <center>Analog/DVB</center>
|-
|<center>EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950</center> ||<center>HCW HVR-850</center>
|<center>0x2040:0x651f</center> || <center>Analog/DVB</center>
|-
|<center>EM2880_BOARD_PINNACLE_PCTV_HD_PRO</center> ||<center>Pinnacle PCTV HD Pro Stick</center>
|<center>0x2304:0x0227</center> || <center>Analog/DVB</center>
|-
|<center>EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600</center> ||<center>AMD ATI TV Wonder HD 600</center>
|<center>0x0438:0xb002</center> || <center>Analog/DVB</center>
|-
|<center>EM2880_BOARD_TERRATEC_HYBRID_XS</center> ||<center>Terratec Hybrid XS</center>
|<center>0x0ccd:0x0042</center> || <center>Analog/DVB</center>
|-
|<center>EM2880_BOARD_TERRATEC_PRODIGY_XS</center> ||<center>Terratec Prodigy XS</center>
|<center>0x0ccd:0x0047</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_MSI_VOX_USB_2</center> ||<center>MSI VOX USB 2.0</center>
|<center>-</center> || <center>Analog</center>
|-
|<center>EM2800_BOARD_TERRATEC_CINERGY_200</center> ||<center>Terratec Cinergy 200 USB</center>
|<center>0xeb1a:0x2800</center> || <center>Analog</center>
|-
|<center>EM2800_BOARD_GRABBEEX_USB2800</center> ||<center>eMPIA Technology, Inc. GrabBeeX+ Video Encoder</center>
|<center>0xeb1a:0x2801</center> || <center>Analog</center>
|-
|<center>EM2800_BOARD_LEADTEK_WINFAST_USBII</center> ||<center>Leadtek Winfast USB II</center>
|<center>0x0413:0x6023</center> || <center>Analog</center>
|-
|<center>EM2800_BOARD_KWORLD_USB2800</center> ||<center>Kworld USB2800</center>
|<center>-</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_PINNACLE_DVC_90</center> ||<center>Pinnacle Dazzle DVC 90/DVC 100</center>
|<center>0x2304:0x0207</center> || <center>Analog</center>
|-
|<center>EM2884_BOARD_PCTV_520E</center> ||<center>PCTVSystems QuatroStick-nano 520e</center>
|<center>0x2013:0x0251</center> || <center>DVB</center>
|-
|<center>EM2800_BOARD_VGEAR_POCKETTV</center> ||<center>V-Gear PocketTV</center>
|<center>-</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_PROLINK_PLAYTV_USB2</center> ||<center>Pixelview Prolink PlayTV USB 2.0</center>
|<center>0xeb1a:0x2821</center> || <center>Analog</center>
|-
|<center>EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA</center> ||<center>PointNix Intra-Oral Camera</center>
|<center>-</center> || <center>Analog</center>
|-
|<center>EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU</center> ||<center>Compro VideoMate ForYou/Stereo</center>
|<center>0x185b:0x2041</center> || <center>Analog</center>
|-
|}<br>

=== Not Validated boards ===
==== What's it? ====
Not validated means: that your device was added to kernel but
no developer has the hardware to test. If you would like to help
and inform that your hardware works (or not) please see the section
[http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F How to validate my vendor/product id at upstream kernel]

==== Table of NOT validated boards====
{| border="1" cellpadding="2"
{| border="1" cellpadding="2"
!width="150"|Define
!width="150"|Define
Line 28: Line 118:
|-
|-
|<center>EM2750_BOARD_DLCW_130</center> ||<center>Huaqi DLCW-130</center>
|<center>EM2750_BOARD_DLCW_130</center> ||<center>Huaqi DLCW-130</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_DLINK_USB_TV</center> ||<center>D-Link DUB-T210 TV Tuner</center>
|<center>EM2820_BOARD_DLINK_USB_TV</center> ||<center>D-Link DUB-T210 TV Tuner</center>
|<center>0x2001:0xf112</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x2001:0xf112</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_HERCULES_SMART_TV_USB2</center> ||<center>Hercules Smart TV USB 2.0</center>
|<center>EM2820_BOARD_HERCULES_SMART_TV_USB2</center> ||<center>Hercules Smart TV USB 2.0</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_PINNACLE_USB_2_FM1216ME</center> ||<center>Pinnacle PCTV USB 2 (Philips FM1216ME)</center>
|<center>EM2820_BOARD_PINNACLE_USB_2_FM1216ME</center> ||<center>Pinnacle PCTV USB 2 (Philips FM1216ME)</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_GADMEI_UTV310</center> ||<center>Gadmei UTV310</center>
|<center>EM2820_BOARD_GADMEI_UTV310</center> ||<center>Gadmei UTV310</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE</center> ||<center>Leadtek Winfast USB II Deluxe</center>
|<center>EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE</center> ||<center>Leadtek Winfast USB II Deluxe</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_PINNACLE_DVC_100</center> ||<center>Pinnacle Dazzle DVC 100</center>
|<center>EM2820_BOARD_PINNACLE_DVC_100</center> ||<center>Pinnacle Dazzle DVC 100</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2820_BOARD_VIDEOLOGY_20K14XUSB</center> ||<center>Videology 20K14XUSB USB2.0</center>
|<center>EM2820_BOARD_VIDEOLOGY_20K14XUSB</center> ||<center>Videology 20K14XUSB USB2.0</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2821_BOARD_PROLINK_PLAYTV_USB2</center> ||<center>SIIG AVTuner-PVR/Prolink PlayTV USB 2.0</center>
|<center>EM2821_BOARD_PROLINK_PLAYTV_USB2</center> ||<center>SIIG AVTuner-PVR/Prolink PlayTV USB 2.0</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2821_BOARD_SUPERCOMP_USB_2</center> ||<center>Supercomp USB 2.0 TV</center>
|<center>EM2821_BOARD_SUPERCOMP_USB_2</center> ||<center>Supercomp USB 2.0 TV</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2821_BOARD_USBGEAR_VD204</center> ||<center>Usbgear VD204v9</center>
|<center>EM2821_BOARD_USBGEAR_VD204</center> ||<center>Usbgear VD204v9</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2860_BOARD_NETGMBH_CAM</center> ||<center>NetGMBH Cam</center>
|<center>EM2860_BOARD_NETGMBH_CAM</center> ||<center>NetGMBH Cam</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2860_BOARD_TYPHOON_DVD_MAKER</center> ||<center>Typhoon DVD Maker</center>
|<center>EM2860_BOARD_TYPHOON_DVD_MAKER</center> ||<center>Typhoon DVD Maker</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2860_BOARD_GADMEI_UTV330</center> ||<center>Gadmei UTV330</center>
|<center>EM2860_BOARD_GADMEI_UTV330</center> ||<center>Gadmei UTV330</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2860_BOARD_TERRATEC_HYBRID_XS</center> ||<center>Terratec Cinergy A Hybrid XS</center>
|<center>EM2860_BOARD_TERRATEC_HYBRID_XS</center> ||<center>Terratec Cinergy A Hybrid XS</center>
|<center>0x0ccd, 0x004f</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x0ccd, 0x004f</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2861_BOARD_KWORLD_PVRTV_300U</center> ||<center>KWorld PVRTV 300U</center>
|<center>EM2861_BOARD_KWORLD_PVRTV_300U</center> ||<center>KWorld PVRTV 300U</center>
|<center>0xeb1a, 0xe300</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a, 0xe300</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2861_BOARD_YAKUMO_MOVIE_MIXER</center> ||<center>Yakumo MovieMixer</center>
|<center>EM2861_BOARD_YAKUMO_MOVIE_MIXER</center> ||<center>Yakumo MovieMixer</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2861_BOARD_PLEXTOR_PX_TV100U</center> ||<center>Plextor ConvertX PX-TV100U</center>
|<center>EM2861_BOARD_PLEXTOR_PX_TV100U</center> ||<center>Plextor ConvertX PX-TV100U</center>
|<center>0x093b:0xa005</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x093b:0xa005</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|<center>EM2863_BOARD_SILVERCREST_VG2000</center> ||<center>[[SilverCrest_USB_2.0_Video_Grabber_VG_2000|SilverCrest USB-Video-Grabber VG 2000]]</center>
|<center>0xeb1a:0x2863</center> || <center>Validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2870_BOARD_TERRATEC_XS</center> ||<center>Terratec Cinergy T XS</center>
|<center>EM2870_BOARD_TERRATEC_XS</center> ||<center>Terratec Cinergy T XS</center>
|<center>0x0ccd:0x0043</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x0ccd:0x0043</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2870_BOARD_TERRATEC_XS_MT2060</center> ||<center>Terratec Cinergy T XS (MT2060)</center>
|<center>EM2870_BOARD_TERRATEC_XS_MT2060</center> ||<center>Terratec Cinergy T XS (MT2060)</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2870_BOARD_KWORLD_350U</center> ||<center>Kworld 350 U DVB-T</center>
|<center>EM2870_BOARD_KWORLD_350U</center> ||<center>Kworld 350 U DVB-T</center>
|<center>0xeb1a:0xe350</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xe350</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2870_BOARD_KWORLD_355U</center> ||<center>Kworld 355 U DVB-T</center>
|<center>EM2870_BOARD_KWORLD_355U</center> ||<center>Kworld 355 U DVB-T</center>
|<center>0xeb1a:0xe355</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xe355</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2870_BOARD_PINNACLE_PCTV_DVB</center> ||<center>Pinnacle PCTV DVB-T</center>
|<center>EM2870_BOARD_PINNACLE_PCTV_DVB</center> ||<center>Pinnacle PCTV DVB-T</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2870_BOARD_COMPRO_VIDEOMATE</center> ||<center>Compro, VideoMate U3</center>
|<center>EM2870_BOARD_COMPRO_VIDEOMATE</center> ||<center>Compro, VideoMate U3</center>
|<center>0x185b:0x2870</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x185b:0x2870</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2880_BOARD_TERRATEC_HYBRID_XS_FR</center> ||<center>Terratec Hybrid XS Secam</center>
|<center>EM2880_BOARD_TERRATEC_HYBRID_XS_FR</center> ||<center>Terratec Hybrid XS Secam</center>
|<center>0x0ccd:0x004c</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x0ccd:0x004c</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2880_BOARD_MSI_DIGIVOX_AD</center> ||<center>MSI DigiVox A/D</center>
|<center>EM2880_BOARD_MSI_DIGIVOX_AD</center> ||<center>MSI DigiVox A/D</center>
|<center>0xeb1a:0xe310c</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xe310</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2880_BOARD_MSI_DIGIVOX_AD_II</center> ||<center>MSI DigiVox A/D II</center>
|<center>EM2880_BOARD_MSI_DIGIVOX_AD_II</center> ||<center>MSI DigiVox A/D II</center>
|<center>0xeb1a:0xe320</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xe320</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2880_BOARD_KWORLD_DVB_305U</center> ||<center>KWorld DVB-T 305U</center>
|<center>EM2880_BOARD_KWORLD_DVB_305U</center> ||<center>KWorld DVB-T 305U</center>
|<center>0xeb1a:0xe305</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xe305</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2880_BOARD_KWORLD_DVB_310U</center> ||<center>KWorld DVB-T 310U</center>
|<center>EM2880_BOARD_KWORLD_DVB_310U</center> ||<center>KWorld DVB-T 310U</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:e310</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2881_BOARD_DNT_DA2_HYBRID</center> ||<center>DNT DA2 Hybrid</center>
|<center>EM2881_BOARD_DNT_DA2_HYBRID</center> ||<center>DNT DA2 Hybrid</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2881_BOARD_PINNACLE_HYBRID_PRO</center> ||<center>Pinnacle Hybrid Pro</center>
|<center>EM2881_BOARD_PINNACLE_HYBRID_PRO</center> ||<center>Pinnacle Hybrid Pro</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>-</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2882_BOARD_PINNACLE_HYBRID_PRO</center> ||<center>Pinnacle Hybrid Pro (2)</center>
|<center>EM2882_BOARD_PINNACLE_HYBRID_PRO</center> ||<center>Pinnacle Hybrid Pro (2)</center>
|<center>0x2304:0x0226</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x2304:0x0226</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2882_BOARD_KWORLD_VS_DVBT</center> ||<center>Kworld VS-DVB-T 323UR</center>
|<center>EM2882_BOARD_KWORLD_VS_DVBT</center> ||<center>Kworld VS-DVB-T 323UR</center>
|<center>0xeb1a:0xe323</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xe323</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2882_BOARD_TERRATEC_HYBRID_XS</center> ||<center>Terratec Hybrid XS (em2882)</center>
|<center>EM2882_BOARD_TERRATEC_HYBRID_XS</center> ||<center>Terratec Hybrid XS (em2882)</center>
|<center>0x0ccd:0x005e</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0x0ccd:0x005e</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|<center>EM2883_BOARD_KWORLD_HYBRID_A316</center> ||<center>Kworld PlusTV HD Hybrid 330</center>
|<center>EM2883_BOARD_KWORLD_HYBRID_A316</center> ||<center>Kworld PlusTV HD Hybrid 330</center>
|<center>0xeb1a:0xa316</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate.3F change it])</center>
|<center>0xeb1a:0xa316</center> || <center>Not validated ([http://www.linuxtv.org/v4lwiki/index.php/Em28xx_devices#How_to_validate_my_vendor.2Fproduct_id_at_upstream_kernel.3F change it])</center>
|-
|-
|}
|}


=== How to validate? ===
==== How to validate my vendor/product id at upstream kernel?====
* Send your board name, lsusb output and tests made to [http://vger.kernel.org/vger-lists.html#linux-media linux-media mail-list]


* Example:
== Some features doesn't work (i.e: audio, dvb, s-video)==

From: foobar
'''To''': linux-media@...
'''Subject''': em28xx: new board id [0b1a:2821]<br>
Hi, <br>
I've made tests with my '''Pixelview''' board:<br>
'''Model''': Prolink PlayTV USB 2.0
'''Vendor/Product id''': [0b1a:2821].<br>
'''Tests made''': <br>
- Analog [Worked]
- DVB [this board doesn't support dvb mode]<br>
'''Tested-by''': foobar <foobar@foobar.com><br>
~foobar<br>
Otherwise, if you had any issue, please contact [http://vger.kernel.org/vger-lists.html#linux-media linux-media mail-list].

== If some features doesn't work (i.e: audio, dvb, s-video)==
===Should I call whom?===
Please contact [http://vger.kernel.org/vger-lists.html#linux-media linux-media mail-list].

===Usbsnoop===
If you were asked to sniff your device, use these [http://www.linuxtv.org/wiki/index.php/Bus_snooping/sniffing#Snooping_Procedures: instructions]


==About em28xx models==
==About em28xx models==
Line 142: Line 258:
* used on older analog only device designs. These chips have support for USB Audio Class; so, audio module is snd-usb-audio
* used on older analog only device designs. These chips have support for USB Audio Class; so, audio module is snd-usb-audio


===em2820/em2840 based devices===
====em2820/em2840 based devices====
* [[ADS Tech Instant TV (USBAV-704)]]
* [[Em2820/gadmei utv 310]]
** [[Em2820:Talk]]
* [[Gadmei utv 310]]
* [[Pinnacle_PCTV_USB2]]
* [[Pinnacle_PCTV_USB2]]
* [[Plextor ConvertX PX-AV100U]]
* [[Em2820/pinnacle]]
* [[USBGear USB2.0 Video Adapter With Audio (VD204)]]
* [[Em2820/vgear]]
* [[V-Gear PocketTV]]

===em2860===
EM2860 supports Video decoder Audio decoder and VBI
====em2860 based devices====
* [[Gadmei USB TVBox UTV380]]
* [[Honestech Vidbox NW03]]
* [[Ion Video 2 PC]]
* [[Kaiser Baas USB DVD Maker 2 (KBA0300300)]]
* [[TerraTec Grabby]]
* [[Geniatech/MyGica_iGrabber|MyGica iGrabber]]

====em2863 based devices====
* [[SilverCrest_USB_2.0_Video_Grabber_VG_2000|SilverCrest USB 2.0 Video Grabber VG 2000]]

===em2870/2871/2872/2873===
* supports DVB/ATSC (but with no analog support). This is targeted at digital only devices.
EM2870 devices include:
* [[Compro VideoMate U3]]

===em2874===
* next generation version of the em2870 design - they moved around a bunch of registers compared to em2870/2880 and the chip itself supports two transport streams (although most designs will probably only use one stream).
* [[KWorld UB435-Q USB ATSC TV Stick]]


===em2880/2881/2883===
===em2880/2881/2883===
* supports DVB/ATSC. Doesn't provide USB Audio Class. Instead, digital audio is provided via an USB Vendor Class; so, these chips require the em28xx-alsa module for digital audio to work.
* supports DVB/ATSC. Doesn't provide USB Audio Class. Instead, digital audio is provided via an USB Vendor Class; so, these chips require the em28xx-alsa module for digital audio to work.


===em2880 based devices===
====em2880 based devices====
* EVGA inDtube
* KWorld 350U DVB-T
* KWorld 350U DVB-T
* [[KWorld DVB-T 355U]]
* [[KWorld DVB-T 355U]]
* KWorld 310U
* KWorld 310U
* KWorld USB2800
* KWorld USB2800
* [[Pinnacle PCTV unidentified DVB-T USB device]]
* [[Em2880/PinnaclePCTV]]
* [http://videologyinc.com/cameras/ccd-board-camera-20K14XUSB.htm Videology 20K14XUSB webcam]
* [http://videologyinc.com/cameras/ccd-board-camera-20K14XUSB.htm Videology 20K14XUSB webcam]


===em2750===
===em2710/em2750 based devices===
* Seem to be used by some [[Webcams]].
* used by on some [[Webcam Devices]].

===em276x/em277x/em278x based devices===
* latest bridge generation for camera devices
* optional UVC (USB video class) support
* supports MPEG video format
* supports several advanced camera functionalities, such as autofocus, image statistics etc.
<br>
Known devices:<br>
[http://www.linuxtv.org/wiki/index.php/VAD_Laplace SpeedLink VAD Laplace webcam] (em2765 + OV2640)

===em25xx===
* seems to be the Chinese market versions of the em276x/7x/8x bridges

===em28284===
* [[Honestech Vidbox NW07]]
* [[USB_2828x]]


==Some Misc stuff==
==Some Misc stuff==
The following needs to be cleaned up and/or integrated into the article:
The following needs to be cleaned up and/or integrated into the article:
* [[Em2880/Eeproms]]
* [[Em2880/Todo]]
* [[Em2880/remote]]
* [[Em2880/remote]]

==Sample Kernel Output for Pinnacle PCTV nanoStick T2 on kernel 3.6r2 with latest drivers==
<pre>
[ 6.784732] media: Linux media interface: v0.10
[ 6.786876] Linux video capture interface: v2.00

... You may see the following section IF you are using the latest drivers:

[ 6.786879] WARNING: You are using an experimental version of the media stack.
As the driver is backported to an older kernel, it doesn't offer
enough quality for its usage in production.
Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
8f7e91a31fb95c50880c76505b416630c0326d93 [media] smiapp-pll: Constify limits argument to smiapp_pll_calculate()
6ec84a28f5f40e3ebef5d8186c4b11b10aa295d7 [media] smiapp-pll: Create a structure for OP and VT limits
f5984bbdf402b586581bc292a5449f17ce4b8209 [media] smiapp-pll: Parallel bus support
[ 6.793364] em28xx: New device PCTV Systems PCTV 290e @ 480 Mbps (2013:024f, interface 0, class 0)
[ 6.793366] em28xx: DVB interface 0 found
[ 6.793479] em28xx #0: chip ID is em28174

...

[ 7.087134] em28xx #0: Identified as PCTV nanoStick T2 290e (card=78)
[ 7.087137] em28xx #0: v4l2 driver version 0.1.3
[ 7.092015] em28xx #0: V4L2 video device registered as video0
[ 7.092408] usbcore: registered new interface driver em28xx
[ 7.192689] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.9 loaded

...

[ 7.219209] WARNING: You are using an experimental version of the media stack.
As the driver is backported to an older kernel, it doesn't offer
enough quality for its usage in production.
Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
8f7e91a31fb95c50880c76505b416630c0326d93 [media] smiapp-pll: Constify limits argument to smiapp_pll_calculate()
6ec84a28f5f40e3ebef5d8186c4b11b10aa295d7 [media] smiapp-pll: Create a structure for OP and VT limits
f5984bbdf402b586581bc292a5449f17ce4b8209 [media] smiapp-pll: Parallel bus support
[ 7.281849] tda18271 3-0060: creating new instance
[ 7.286351] TDA18271HD/C2 detected @ 3-0060
[ 7.415159] IR Sony protocol handler initialized
[ 7.454729] DVB: registering new adapter (em28xx #0)
[ 7.454737] usb 1-7: DVB: registering adapter 1 frontend 0 (Sony CXD2820R)...
[ 7.455024] em28xx #0: Successfully loaded em28xx-dvb
[ 7.455027] Em28xx: Initialized (Em28xx dvb Extension) extension

...

[ 7.514020] Registered IR keymap rc-pinnacle-pctv-hd
[ 7.514192] input: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:04.1/usb1/1-7/rc/rc1/input8
[ 7.514312] rc1: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:04.1/usb1/1-7/rc/rc1
[ 7.517100] Em28xx: Initialized (Em28xx Input Extension) extension
[ 7.529406] lirc_dev: IR Remote Control driver registered, major 241

</pre>


==Feature Support==
==Feature Support==
* No firmware is required for em28xx ICs ... note: though em28xx based devices paired with some tuners will need firmware for the tuner (i.e. there are em28xx based devices paired with a [http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028 XCeive XC3028 or XC2028] tuner, which require a generic firmware from Xceive).
* in-kernel em28xx driver: radio and analog TV (including broadcast audio) are working fine. Support for DVB/ATSC is not present yet.
* no firmware is required for em28xx ICs ... note: though em28xx based devices paired with some tuners will need firmware for the tuner (i.e. there are em28xx based devices paired with a [http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028 XCeive XC3028 or XC2028] tuner, which require a generic firmware from Xceive).


==About Driver==
==About Driver==
* Development -- originally by 4 Ludovico Cavedon, Markus Rechberger, Mauro Carvalho Chehab, Sascha Sommer.<br>
* Development -- originally by four: Ludovico Cavedon, Markus Rechberger, Mauro Carvalho Chehab, Sascha Sommer.<br>
* One of the authors, Markus Rechberger, forked the upstream project.
* One of the authors, Markus Rechberger, is now developing only closed source binary drivers.


==External Links==
==External Links==
* [http://www.supreme-hk.com/soft/EM2880_datasheet.pdf EMPIA EM2880 datasheet]
* [http://www.supreme-hk.com/soft/EM2870_datasheet.pdf EMPIA EM2870 datasheet]
* [http://www.empiatech.com.tw/pro_em2880.htm EMPIA EM2880 product page]
* [http://www.empiatech.com.tw/pro_em2880.htm EMPIA EM2880 product page]
* [http://www.empiatech.com.tw/pro_em2820.htm EMPIA EM2820/EM2840 product page]
* [http://www.empiatech.com.tw/pro_em2820.htm EMPIA EM2820/EM2840 product page]
* [http://www.empiatech.com.tw/pro_em2750.htm EMPIA EM2750 product page]
* [http://www.empiatech.com.tw/pro_em2750.htm EMPIA EM2750 product page]
* [http://mcentral.de/wiki/index.php5/Main_Page mcentral.de wiki] offers alternative, out of kernel, drivers for some em28xx based devices:
** [http://mcentral.de/wiki/index.php5/Em2880 mrec's page on the em2880] ... note: that the information seems heavily tied to devices which utilise a xceive xc3028 tuner ... hence you may also want to read his xc3028 page for related info
** [http://mcentral.de/wiki/index.php5/Em2820 mrec's page on the em2820]


== Additional Help ==
== Additional Help ==
Contact video4linux developers at [http://www.redhat.com/mailman/listinfo/video4linux-list vide4linux-maillist]
Contact developers at [http://vger.kernel.org/vger-lists.html#linux-media linux-media mail-list]
[[Category:Development]]

Latest revision as of 23:48, 19 April 2021

This article discusses some USB interface chipset families produced by EMPIA, and, in addition, addresses the driver that support these chips.

How to compile the latest em28xx driver?

See the How to Obtain, Build and Install V4L-DVB Device Drivers article


Boards

How to identify my USB vendor/product id?

 shell> lsusb
If you can't recognize the vendor/product id from your device contact linux-media mail-list

Validated boards

What's it?

 We use this term to advise that boards were tested by user or developer.

Table of validated boards

Define Name Vendor/Product ID Supported modes
EM2820_BOARD_KWORLD_PVRTV2800RF
Kworld PVR TV 2800 RF
-
Analog
EM2820_BOARD_TERRATEC_CINERGY_250
Terratec Cinergy 250 USB
0x0ccd:0x0036
Analog
EM2820_BOARD_PINNACLE_USB_2
Pinnacle PCTV USB 2
0x2304:0x0208
Analog
EM2820_BOARD_HAUPPAUGE_WINTV_USB_2
Hauppauge WinTV USB 2
0x2040, 0x4201
Analog
EM2820_BOARD_HAUPPAUGE_WINTV_USB_2
Hauppauge WinTV USB 2
0x2040:0x4200
Analog
EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900
Hauppauge WinTV HVR 900
0x2040:0x6500
Analog/DVB
EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2
Hauppauge WinTV HVR 900 (R2)
0x2040:0x6502
Analog/DVB
EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950
HCW HVR-980
0x2040:0x6513
Analog/DVB
EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950
HP HVR-950
0x2040:0x6517
Analog/DVB
EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950
RP HVR-950
0x2040:0x651b
Analog/DVB
EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950
HCW HVR-850
0x2040:0x651f
Analog/DVB
EM2880_BOARD_PINNACLE_PCTV_HD_PRO
Pinnacle PCTV HD Pro Stick
0x2304:0x0227
Analog/DVB
EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600
AMD ATI TV Wonder HD 600
0x0438:0xb002
Analog/DVB
EM2880_BOARD_TERRATEC_HYBRID_XS
Terratec Hybrid XS
0x0ccd:0x0042
Analog/DVB
EM2880_BOARD_TERRATEC_PRODIGY_XS
Terratec Prodigy XS
0x0ccd:0x0047
Analog
EM2820_BOARD_MSI_VOX_USB_2
MSI VOX USB 2.0
-
Analog
EM2800_BOARD_TERRATEC_CINERGY_200
Terratec Cinergy 200 USB
0xeb1a:0x2800
Analog
EM2800_BOARD_GRABBEEX_USB2800
eMPIA Technology, Inc. GrabBeeX+ Video Encoder
0xeb1a:0x2801
Analog
EM2800_BOARD_LEADTEK_WINFAST_USBII
Leadtek Winfast USB II
0x0413:0x6023
Analog
EM2800_BOARD_KWORLD_USB2800
Kworld USB2800
-
Analog
EM2820_BOARD_PINNACLE_DVC_90
Pinnacle Dazzle DVC 90/DVC 100
0x2304:0x0207
Analog
EM2884_BOARD_PCTV_520E
PCTVSystems QuatroStick-nano 520e
0x2013:0x0251
DVB
EM2800_BOARD_VGEAR_POCKETTV
V-Gear PocketTV
-
Analog
EM2820_BOARD_PROLINK_PLAYTV_USB2
Pixelview Prolink PlayTV USB 2.0
0xeb1a:0x2821
Analog
EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA
PointNix Intra-Oral Camera
-
Analog
EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU
Compro VideoMate ForYou/Stereo
0x185b:0x2041
Analog


Not Validated boards

What's it?

 Not validated means: that your device was added to kernel but
 no developer has the hardware to test. If you would like to help
 and inform that your hardware works (or not) please see the section
 How to validate my vendor/product id at upstream kernel

Table of NOT validated boards

Define Name Vendor/Product ID Status
EM2750_BOARD_DLCW_130
Huaqi DLCW-130
-
Not validated (change it)
EM2820_BOARD_DLINK_USB_TV
D-Link DUB-T210 TV Tuner
0x2001:0xf112
Not validated (change it)
EM2820_BOARD_HERCULES_SMART_TV_USB2
Hercules Smart TV USB 2.0
-
Not validated (change it)
EM2820_BOARD_PINNACLE_USB_2_FM1216ME
Pinnacle PCTV USB 2 (Philips FM1216ME)
-
Not validated (change it)
EM2820_BOARD_GADMEI_UTV310
Gadmei UTV310
-
Not validated (change it)
EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE
Leadtek Winfast USB II Deluxe
-
Not validated (change it)
EM2820_BOARD_PINNACLE_DVC_100
Pinnacle Dazzle DVC 100
-
Not validated (change it)
EM2820_BOARD_VIDEOLOGY_20K14XUSB
Videology 20K14XUSB USB2.0
-
Not validated (change it)
EM2821_BOARD_PROLINK_PLAYTV_USB2
SIIG AVTuner-PVR/Prolink PlayTV USB 2.0
-
Not validated (change it)
EM2821_BOARD_SUPERCOMP_USB_2
Supercomp USB 2.0 TV
-
Not validated (change it)
EM2821_BOARD_USBGEAR_VD204
Usbgear VD204v9
-
Not validated (change it)
EM2860_BOARD_NETGMBH_CAM
NetGMBH Cam
-
Not validated (change it)
EM2860_BOARD_TYPHOON_DVD_MAKER
Typhoon DVD Maker
-
Not validated (change it)
EM2860_BOARD_GADMEI_UTV330
Gadmei UTV330
-
Not validated (change it)
EM2860_BOARD_TERRATEC_HYBRID_XS
Terratec Cinergy A Hybrid XS
0x0ccd, 0x004f
Not validated (change it)
EM2861_BOARD_KWORLD_PVRTV_300U
KWorld PVRTV 300U
0xeb1a, 0xe300
Not validated (change it)
EM2861_BOARD_YAKUMO_MOVIE_MIXER
Yakumo MovieMixer
-
Not validated (change it)
EM2861_BOARD_PLEXTOR_PX_TV100U
Plextor ConvertX PX-TV100U
0x093b:0xa005
Not validated (change it)
EM2863_BOARD_SILVERCREST_VG2000
SilverCrest USB-Video-Grabber VG 2000
0xeb1a:0x2863
Validated (change it)
EM2870_BOARD_TERRATEC_XS
Terratec Cinergy T XS
0x0ccd:0x0043
Not validated (change it)
EM2870_BOARD_TERRATEC_XS_MT2060
Terratec Cinergy T XS (MT2060)
-
Not validated (change it)
EM2870_BOARD_KWORLD_350U
Kworld 350 U DVB-T
0xeb1a:0xe350
Not validated (change it)
EM2870_BOARD_KWORLD_355U
Kworld 355 U DVB-T
0xeb1a:0xe355
Not validated (change it)
EM2870_BOARD_PINNACLE_PCTV_DVB
Pinnacle PCTV DVB-T
-
Not validated (change it)
EM2870_BOARD_COMPRO_VIDEOMATE
Compro, VideoMate U3
0x185b:0x2870
Not validated (change it)
EM2880_BOARD_TERRATEC_HYBRID_XS_FR
Terratec Hybrid XS Secam
0x0ccd:0x004c
Not validated (change it)
EM2880_BOARD_MSI_DIGIVOX_AD
MSI DigiVox A/D
0xeb1a:0xe310
Not validated (change it)
EM2880_BOARD_MSI_DIGIVOX_AD_II
MSI DigiVox A/D II
0xeb1a:0xe320
Not validated (change it)
EM2880_BOARD_KWORLD_DVB_305U
KWorld DVB-T 305U
0xeb1a:0xe305
Not validated (change it)
EM2880_BOARD_KWORLD_DVB_310U
KWorld DVB-T 310U
0xeb1a:e310
Not validated (change it)
EM2881_BOARD_DNT_DA2_HYBRID
DNT DA2 Hybrid
-
Not validated (change it)
EM2881_BOARD_PINNACLE_HYBRID_PRO
Pinnacle Hybrid Pro
-
Not validated (change it)
EM2882_BOARD_PINNACLE_HYBRID_PRO
Pinnacle Hybrid Pro (2)
0x2304:0x0226
Not validated (change it)
EM2882_BOARD_KWORLD_VS_DVBT
Kworld VS-DVB-T 323UR
0xeb1a:0xe323
Not validated (change it)
EM2882_BOARD_TERRATEC_HYBRID_XS
Terratec Hybrid XS (em2882)
0x0ccd:0x005e
Not validated (change it)
EM2883_BOARD_KWORLD_HYBRID_A316
Kworld PlusTV HD Hybrid 330
0xeb1a:0xa316
Not validated (change it)

How to validate my vendor/product id at upstream kernel?

  • Example:
 From: foobar
 To: linux-media@...
 Subject: em28xx: new board id [0b1a:2821]
Hi,
I've made tests with my Pixelview board:
Model: Prolink PlayTV USB 2.0 Vendor/Product id: [0b1a:2821].
Tests made:
- Analog [Worked] - DVB [this board doesn't support dvb mode]
Tested-by: foobar <foobar@foobar.com>
~foobar

Otherwise, if you had any issue, please contact linux-media mail-list.

If some features doesn't work (i.e: audio, dvb, s-video)

Should I call whom?

 Please contact linux-media mail-list.

Usbsnoop

 If you were asked to sniff your device, use these instructions

About em28xx models

em2800/em2820/em2821/em2840

  • used on older analog only device designs. These chips have support for USB Audio Class; so, audio module is snd-usb-audio

em2820/em2840 based devices

em2860

EM2860 supports Video decoder Audio decoder and VBI

em2860 based devices

em2863 based devices

em2870/2871/2872/2873

  • supports DVB/ATSC (but with no analog support). This is targeted at digital only devices.

EM2870 devices include:

em2874

  • next generation version of the em2870 design - they moved around a bunch of registers compared to em2870/2880 and the chip itself supports two transport streams (although most designs will probably only use one stream).
  • KWorld UB435-Q USB ATSC TV Stick

em2880/2881/2883

  • supports DVB/ATSC. Doesn't provide USB Audio Class. Instead, digital audio is provided via an USB Vendor Class; so, these chips require the em28xx-alsa module for digital audio to work.

em2880 based devices

em2710/em2750 based devices

em276x/em277x/em278x based devices

  • latest bridge generation for camera devices
  • optional UVC (USB video class) support
  • supports MPEG video format
  • supports several advanced camera functionalities, such as autofocus, image statistics etc.


Known devices:
SpeedLink VAD Laplace webcam (em2765 + OV2640)

em25xx

  • seems to be the Chinese market versions of the em276x/7x/8x bridges

em28284

Some Misc stuff

The following needs to be cleaned up and/or integrated into the article:

Sample Kernel Output for Pinnacle PCTV nanoStick T2 on kernel 3.6r2 with latest drivers

[    6.784732] media: Linux media interface: v0.10
[    6.786876] Linux video capture interface: v2.00

... You may see the following section IF you are using the latest drivers:

[    6.786879] WARNING: You are using an experimental version of the media stack.
	As the driver is backported to an older kernel, it doesn't offer
	enough quality for its usage in production.
	Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
	8f7e91a31fb95c50880c76505b416630c0326d93 [media] smiapp-pll: Constify limits argument to smiapp_pll_calculate()
	6ec84a28f5f40e3ebef5d8186c4b11b10aa295d7 [media] smiapp-pll: Create a structure for OP and VT limits
	f5984bbdf402b586581bc292a5449f17ce4b8209 [media] smiapp-pll: Parallel bus support
[    6.793364] em28xx: New device PCTV Systems PCTV 290e @ 480 Mbps (2013:024f, interface 0, class 0)
[    6.793366] em28xx: DVB interface 0 found
[    6.793479] em28xx #0: chip ID is em28174

...

[    7.087134] em28xx #0: Identified as PCTV nanoStick T2 290e (card=78)
[    7.087137] em28xx #0: v4l2 driver version 0.1.3
[    7.092015] em28xx #0: V4L2 video device registered as video0
[    7.092408] usbcore: registered new interface driver em28xx
[    7.192689] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.9 loaded

... 

[    7.219209] WARNING: You are using an experimental version of the media stack.
	As the driver is backported to an older kernel, it doesn't offer
	enough quality for its usage in production.
	Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
	8f7e91a31fb95c50880c76505b416630c0326d93 [media] smiapp-pll: Constify limits argument to smiapp_pll_calculate()
	6ec84a28f5f40e3ebef5d8186c4b11b10aa295d7 [media] smiapp-pll: Create a structure for OP and VT limits
	f5984bbdf402b586581bc292a5449f17ce4b8209 [media] smiapp-pll: Parallel bus support
[    7.281849] tda18271 3-0060: creating new instance
[    7.286351] TDA18271HD/C2 detected @ 3-0060
[    7.415159] IR Sony protocol handler initialized
[    7.454729] DVB: registering new adapter (em28xx #0)
[    7.454737] usb 1-7: DVB: registering adapter 1 frontend 0 (Sony CXD2820R)...
[    7.455024] em28xx #0: Successfully loaded em28xx-dvb
[    7.455027] Em28xx: Initialized (Em28xx dvb Extension) extension

...

[    7.514020] Registered IR keymap rc-pinnacle-pctv-hd
[    7.514192] input: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:04.1/usb1/1-7/rc/rc1/input8
[    7.514312] rc1: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:04.1/usb1/1-7/rc/rc1
[    7.517100] Em28xx: Initialized (Em28xx Input Extension) extension
[    7.529406] lirc_dev: IR Remote Control driver registered, major 241 

Feature Support

  • No firmware is required for em28xx ICs ... note: though em28xx based devices paired with some tuners will need firmware for the tuner (i.e. there are em28xx based devices paired with a XCeive XC3028 or XC2028 tuner, which require a generic firmware from Xceive).

About Driver

  • Development -- originally by four: Ludovico Cavedon, Markus Rechberger, Mauro Carvalho Chehab, Sascha Sommer.
  • One of the authors, Markus Rechberger, is now developing only closed source binary drivers.

External Links

Additional Help

Contact developers at linux-media mail-list