2009-03-20 19:14:28

by Mikhail Jiline

[permalink] [raw]
Subject: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers

From: Misha Zhilin <[email protected]>

Adds support for Digitus/Plextor PX-AV200U grabbers
Signed-off-by: Misha Zhilin <[email protected]>
---

diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c
--- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c 2009-03-04 16:18:03.000000000 -0500
@@ -1087,6 +1087,21 @@
.amux = EM28XX_AMUX_LINE_IN,
} },
},
+ [EM2820_BOARD_PLEXTOR_PX_AV200U] = {
+ .name = "Plextor PX-AV200U",
+ .valid = EM28XX_BOARD_NOT_VALIDATED,
+ .vchannels = 2,
+ .decoder = EM28XX_SAA7113,
+ .input = { {
+ .type = EM28XX_VMUX_COMPOSITE1,
+ .vmux = SAA7115_COMPOSITE0,
+ .amux = EM28XX_AMUX_AC97_LINE_IN,
+ }, {
+ .type = EM28XX_VMUX_SVIDEO,
+ .vmux = SAA7115_SVIDEO3,
+ .amux = EM28XX_AMUX_AC97_LINE_IN,
+ } },
+ },
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);

Binary files linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/.em28xx-cards.c.swp and linux-2.6.27.x86_64.new/drivers/media/video/em28xx/.em28xx-cards.c.swp differ
diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h
--- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h 2009-03-04 15:33:24.000000000 -0500
@@ -97,6 +97,8 @@
#define EM2882_BOARD_PINNACLE_HYBRID_PRO 56
#define EM2883_BOARD_KWORLD_HYBRID_A316 57
#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU 58
+#define EM2820_BOARD_PLEXTOR_PX_AV200U 59
+

/* Limits minimum and default number of buffers */
#define EM28XX_MIN_BUF 4
diff -urN linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx
--- linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx 2009-03-18 11:15:00.000000000 -0400
@@ -57,3 +57,4 @@
56 -> Pinnacle Hybrid Pro (2) (em2882) [2304:0226]
57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
+ 59 -> Plextor PX-AV200U (em2880)


2009-03-20 19:28:31

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers

On Fri, Mar 20, 2009 at 2:54 PM, Mikhail Jiline <[email protected]> wrote:
> From: Misha Zhilin <[email protected]>
>
> Adds support for Digitus/Plextor PX-AV200U grabbers
> Signed-off-by: Misha Zhilin <[email protected]>
> ---
>
> diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c
> --- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c ?2008-10-09 18:13:53.000000000 -0400
> +++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c ? 2009-03-04 16:18:03.000000000 -0500
> @@ -1087,6 +1087,21 @@
> ? ? ? ? ? ? ? ? ? ? ? ?.amux ? ? = EM28XX_AMUX_LINE_IN,
> ? ? ? ? ? ? ? ?} },
> ? ? ? ?},
> + ? ? ? [EM2820_BOARD_PLEXTOR_PX_AV200U] = {
> + ? ? ? ? ? ? ? .name ? ? ? ? = "Plextor PX-AV200U",
> + ? ? ? ? ? ? ? .valid ? ? ? ?= EM28XX_BOARD_NOT_VALIDATED,
> + ? ? ? ? ? ? ? .vchannels ? ?= 2,
> + ? ? ? ? ? ? ? .decoder ? ? ?= EM28XX_SAA7113,
> + ? ? ? ? ? ? ? .input ? ? ? ? ?= { {
> + ? ? ? ? ? ? ? ? ? ? ? .type ? ? = EM28XX_VMUX_COMPOSITE1,
> + ? ? ? ? ? ? ? ? ? ? ? .vmux ? ? = SAA7115_COMPOSITE0,
> + ? ? ? ? ? ? ? ? ? ? ? .amux ? ? = EM28XX_AMUX_AC97_LINE_IN,
> + ? ? ? ? ? ? ? }, {
> + ? ? ? ? ? ? ? ? ? ? ? .type ? ? = EM28XX_VMUX_SVIDEO,
> + ? ? ? ? ? ? ? ? ? ? ? .vmux ? ? = SAA7115_SVIDEO3,
> + ? ? ? ? ? ? ? ? ? ? ? .amux ? ? = EM28XX_AMUX_AC97_LINE_IN,
> + ? ? ? ? ? ? ? } },
> + ? ? ? },
> ?};
> ?const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
>
> Binary files linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/.em28xx-cards.c.swp and linux-2.6.27.x86_64.new/drivers/media/video/em28xx/.em28xx-cards.c.swp differ
> diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h
> --- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h ? ? ? ?2008-10-09 18:13:53.000000000 -0400
> +++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h 2009-03-04 15:33:24.000000000 -0500
> @@ -97,6 +97,8 @@
> ?#define EM2882_BOARD_PINNACLE_HYBRID_PRO ? ? ? ? 56
> ?#define EM2883_BOARD_KWORLD_HYBRID_A316 ? ? ? ? ? ? ? ? ?57
> ?#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU ? ? 58
> +#define EM2820_BOARD_PLEXTOR_PX_AV200U ? ? ? ? ? ?59
> +
>
> ?/* Limits minimum and default number of buffers */
> ?#define EM28XX_MIN_BUF 4
> diff -urN linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx
> --- linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx ?2008-10-09 18:13:53.000000000 -0400
> +++ linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx ? 2009-03-18 11:15:00.000000000 -0400
> @@ -57,3 +57,4 @@
> ?56 -> Pinnacle Hybrid Pro (2) ? ? ? ? ? ? ? ? ?(em2882) ? ? ? ?[2304:0226]
> ?57 -> Kworld PlusTV HD Hybrid 330 ? ? ? ? ? ? ?(em2883) ? ? ? ?[eb1a:a316]
> ?58 -> Compro VideoMate ForYou/Stereo ? ? ? ? ? (em2820/em2840) [185b:2041]
> + 59 -> Plextor PX-AV200U ? ? ? ? ? ? ? ? ? ? ? ?(em2880)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>

Is this patch incomplete? Where is the registration for the USB ID of
the device?

Devin

--
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

2009-03-20 19:55:30

by Mikhail Jiline

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers


On Fri, 2009-03-20 at 15:28 -0400, Devin Heitmueller wrote:
> On Fri, Mar 20, 2009 at 2:54 PM, Mikhail Jiline <[email protected]> wrote:
> > From: Misha Zhilin <[email protected]>
> >
> > Adds support for Digitus/Plextor PX-AV200U grabbers
> > Signed-off-by: Misha Zhilin <[email protected]>
> > ---
> >
> > diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c
> > --- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c 2008-10-09 18:13:53.000000000 -0400
> > +++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c 2009-03-04 16:18:03.000000000 -0500
> > @@ -1087,6 +1087,21 @@
> > .amux = EM28XX_AMUX_LINE_IN,
> > } },
> > },
> > + [EM2820_BOARD_PLEXTOR_PX_AV200U] = {
> > + .name = "Plextor PX-AV200U",
> > + .valid = EM28XX_BOARD_NOT_VALIDATED,
> > + .vchannels = 2,
> > + .decoder = EM28XX_SAA7113,
> > + .input = { {
> > + .type = EM28XX_VMUX_COMPOSITE1,
> > + .vmux = SAA7115_COMPOSITE0,
> > + .amux = EM28XX_AMUX_AC97_LINE_IN,
> > + }, {
> > + .type = EM28XX_VMUX_SVIDEO,
> > + .vmux = SAA7115_SVIDEO3,
> > + .amux = EM28XX_AMUX_AC97_LINE_IN,
> > + } },
> > + },
> > };
> > const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
> >
> > Binary files linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/.em28xx-cards.c.swp and linux-2.6.27.x86_64.new/drivers/media/video/em28xx/.em28xx-cards.c.swp differ
> > diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h
> > --- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h 2008-10-09 18:13:53.000000000 -0400
> > +++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h 2009-03-04 15:33:24.000000000 -0500
> > @@ -97,6 +97,8 @@
> > #define EM2882_BOARD_PINNACLE_HYBRID_PRO 56
> > #define EM2883_BOARD_KWORLD_HYBRID_A316 57
> > #define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU 58
> > +#define EM2820_BOARD_PLEXTOR_PX_AV200U 59
> > +
> >
> > /* Limits minimum and default number of buffers */
> > #define EM28XX_MIN_BUF 4
> > diff -urN linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx
> > --- linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx 2008-10-09 18:13:53.000000000 -0400
> > +++ linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx 2009-03-18 11:15:00.000000000 -0400
> > @@ -57,3 +57,4 @@
> > 56 -> Pinnacle Hybrid Pro (2) (em2882) [2304:0226]
> > 57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
> > 58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
> > + 59 -> Plextor PX-AV200U (em2880)
> >
> > --
>
> Is this patch incomplete? Where is the registration for the USB ID of
> the device?

The patch is complete. This device (as many others) doesn't have unique
VID/PID, it uses generic eb1a:2821, which is already associated with
ex28xx (see drivers/media/video/em28xx/em28xx-cards.c:1103)

Regards,
Misha.

2009-03-20 20:02:37

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers

On Fri, Mar 20, 2009 at 3:55 PM, Mikhail Jiline <[email protected]> wrote:
>> Is this patch incomplete? ?Where is the registration for the USB ID of
>> the device?
>
> The patch is complete. This device (as many others) doesn't have unique
> VID/PID, it uses generic eb1a:2821, which is already associated with
> ex28xx (see drivers/media/video/em28xx/em28xx-cards.c:1103)
>
> Regards,
> Misha.

Yeah, something still seems wrong here. In cases where the device
uses one of the Empia generic USB ids, you need to have either an i2c
hash entry of an eeprom hash entry. That's how it knows which device
to associate it with in those cases.

Did you try this patch? If so, can you send the full dmesg output
after connecting the device?

Devin

--
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

2009-03-20 20:09:19

by Mikhail Jiline

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers


>
> Yeah, something still seems wrong here. In cases where the device
> uses one of the Empia generic USB ids, you need to have either an i2c
> hash entry of an eeprom hash entry. That's how it knows which device
> to associate it with in those cases.
>
> Did you try this patch? If so, can you send the full dmesg output
> after connecting the device?

If I don't force card id via module params, I get the following

[ 19.699849] em28xx 1-1.2:1.0: usb_probe_interface
[ 19.699867] em28xx 1-1.2:1.0: usb_probe_interface - got id
[ 19.699883] em28xx new video device (1aeb:2128): interface 0, class 255
[ 19.706528] em28xx Has usb audio class
[ 19.710319] em28xx #0: Alternate settings: 8
[ 19.714604] em28xx #0: Alternate setting 0, max size= 0
[ 19.719826] em28xx #0: Alternate setting 1, max size= 1024
[ 19.725302] em28xx #0: Alternate setting 2, max size= 1448
[ 19.730778] em28xx #0: Alternate setting 3, max size= 2048
[ 19.736255] em28xx #0: Alternate setting 4, max size= 2304
[ 19.741734] em28xx #0: Alternate setting 5, max size= 2580
[ 19.747211] em28xx #0: Alternate setting 6, max size= 2892
[ 19.752688] em28xx #0: Alternate setting 7, max size= 3072
[ 19.758498] em28xx #0: em28xx chip ID = 18
[ 20.357669] saa7115' 0-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
[ 21.109479] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 21 28 90 00 11 03 6a 22 00 00
[ 21.117619] em28xx #0: i2c eeprom 10: 00 00 04 57 06 21 01 00 00 00 00 00 00 00 00 00
[ 21.125767] em28xx #0: i2c eeprom 20: 02 00 01 01 f0 10 00 00 00 00 00 00 5b 00 00 00
[ 21.133870] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 01 03 01 00 00 00 00
[ 21.141974] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.150071] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.158184] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
[ 21.166296] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 32 00 31 00 20 00 44 00
[ 21.174487] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
[ 21.182600] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.190714] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.198826] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.206939] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.215043] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.223139] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.231243] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 21.239348] EEPROM ID= 0x1aeb6795, hash = 0x00000000
[ 21.244305] Vendor/Product ID= 1aeb:2128
[ 21.248218] No audio on board.
[ 21.251269] 500mA max power
[ 21.254062] Table at 0x04, strings=0x6a22, 0x0000, 0x0000
[ 21.273860] em28xx #0: found i2c device @ 0x4a [saa7113h]
[ 21.295311] em28xx #0: found i2c device @ 0xa0 [eeprom]
[ 21.318136] em28xx #0: Your board has no unique USB ID and thus need a hint to be detected.
[ 21.326495] em28xx #0: You may try to use card=<n> insmod option to workaround that.
[ 21.334250] em28xx #0: Please send an email with this log to:
[ 21.339992] em28xx #0: V4L Mailing List <[email protected]>
[ 21.346500] em28xx #0: Board eeprom hash is 0x00000000
[ 21.351633] em28xx #0: Board i2c devicelist hash is 0x6ba50080
[ 21.357457] em28xx #0: Here is a list of valid choices for the card=<n> insmod option:
[ 21.365354] em28xx #0: card=0 -> Unknown EM2800 video grabber
[ 21.371435] em28xx #0: card=1 -> Unknown EM2750/28xx video grabber
[ 21.377951] em28xx #0: card=2 -> Terratec Cinergy 250 USB
[ 21.383686] em28xx #0: card=3 -> Pinnacle PCTV USB 2
[ 21.389094] em28xx #0: card=4 -> Hauppauge WinTV USB 2
[ 21.394565] em28xx #0: card=5 -> MSI VOX USB 2.0
[ 21.399524] em28xx #0: card=6 -> Terratec Cinergy 200 USB
[ 21.405264] em28xx #0: card=7 -> Leadtek Winfast USB II
[ 21.410824] em28xx #0: card=8 -> Kworld USB2800
[ 21.415689] em28xx #0: card=9 -> Pinnacle Dazzle DVC 90/DVC 100
[ 21.421945] em28xx #0: card=10 -> Hauppauge WinTV HVR 900
[ 21.427681] em28xx #0: card=11 -> Terratec Hybrid XS
[ 21.432977] em28xx #0: card=12 -> Kworld PVR TV 2800 RF
[ 21.438534] em28xx #0: card=13 -> Terratec Prodigy XS
[ 21.443925] em28xx #0: card=14 -> Pixelview Prolink PlayTV USB 2.0
[ 21.450440] em28xx #0: card=15 -> V-Gear PocketTV
[ 21.455485] em28xx #0: card=16 -> Hauppauge WinTV HVR 950
[ 21.461222] em28xx #0: card=17 -> Pinnacle PCTV HD Pro Stick
[ 21.467218] em28xx #0: card=18 -> Hauppauge WinTV HVR 900 (R2)
[ 21.473388] em28xx #0: card=19 -> PointNix Intra-Oral Camera
[ 21.479383] em28xx #0: card=20 -> AMD ATI TV Wonder HD 600
[ 21.485407] em28xx #0: card=21 -> eMPIA Technology, Inc. GrabBeeX+ Video Encoder
[ 21.493130] em28xx #0: card=22 -> Unknown EM2750/EM2751 webcam grabber
[ 21.499989] em28xx #0: card=23 -> Huaqi DLCW-130
[ 21.504940] em28xx #0: card=24 -> D-Link DUB-T210 TV Tuner
[ 21.510764] em28xx #0: card=25 -> Gadmei UTV310
[ 21.515636] em28xx #0: card=26 -> Hercules Smart TV USB 2.0
[ 21.521548] em28xx #0: card=27 -> Pinnacle PCTV USB 2 (Philips FM1216ME)
[ 21.528580] em28xx #0: card=28 -> Leadtek Winfast USB II Deluxe
[ 21.534835] em28xx #0: card=29 -> Pinnacle Dazzle DVC 100
[ 21.540572] em28xx #0: card=30 -> Videology 20K14XUSB USB2.0
[ 21.546569] em28xx #0: card=31 -> Usbgear VD204v9
[ 21.551613] em28xx #0: card=32 -> Supercomp USB 2.0 TV
[ 21.557083] em28xx #0: card=33 -> SIIG AVTuner-PVR/Prolink PlayTV USB 2.0
[ 21.564202] em28xx #0: card=34 -> Terratec Cinergy A Hybrid XS
[ 21.570371] em28xx #0: card=35 -> Typhoon DVD Maker
[ 21.575589] em28xx #0: card=36 -> NetGMBH Cam
[ 21.580280] em28xx #0: card=37 -> Gadmei UTV330
[ 21.585145] em28xx #0: card=38 -> Yakumo MovieMixer
[ 21.590547] em28xx #0: card=39 -> KWorld PVRTV 300U
[ 21.595763] em28xx #0: card=40 -> Plextor ConvertX PX-TV100U
[ 21.601760] em28xx #0: card=41 -> Kworld 350 U DVB-T
[ 21.607064] em28xx #0: card=42 -> Kworld 355 U DVB-T
[ 21.612361] em28xx #0: card=43 -> Terratec Cinergy T XS
[ 21.617926] em28xx #0: card=44 -> Terratec Cinergy T XS (MT2060)
[ 21.624267] em28xx #0: card=45 -> Pinnacle PCTV DVB-T
[ 21.629650] em28xx #0: card=46 -> Compro, VideoMate U3
[ 21.635128] em28xx #0: card=47 -> KWorld DVB-T 305U
[ 21.640346] em28xx #0: card=48 -> KWorld DVB-T 310U
[ 21.645566] em28xx #0: card=49 -> MSI DigiVox A/D
[ 21.650611] em28xx #0: card=50 -> MSI DigiVox A/D II
[ 21.655915] em28xx #0: card=51 -> Terratec Hybrid XS Secam
[ 21.661740] em28xx #0: card=52 -> DNT DA2 Hybrid
[ 21.666698] em28xx #0: card=53 -> Pinnacle Hybrid Pro
[ 21.672089] em28xx #0: card=54 -> Kworld VS-DVB-T 323UR
[ 21.677654] em28xx #0: card=55 -> Terratec Hybrid XS (em2882)
[ 21.683736] em28xx #0: card=56 -> Pinnacle Hybrid Pro (2)
[ 21.689655] em28xx #0: card=57 -> Kworld PlusTV HD Hybrid 330
[ 21.695737] em28xx #0: card=58 -> Compro VideoMate ForYou/Stereo
[ 21.702079] em28xx #0: card=59 -> Plextor PX-AV200U
[ 22.277385] em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
[ 22.284272] em28xx #0: Found Unknown EM2750/28xx video grabber

2009-03-20 20:15:14

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers

On Fri, Mar 20, 2009 at 4:08 PM, Mikhail Jiline <[email protected]> wrote:
>
>>
>> Yeah, something still seems wrong here. ?In cases where the device
>> uses one of the Empia generic USB ids, you need to have either an i2c
>> hash entry of an eeprom hash entry. ?That's how it knows which device
>> to associate it with in those cases.
>>
>> Did you try this patch? ?If so, can you send the full dmesg output
>> after connecting the device?
>
> If I don't force card id via module params, I get the following
>
> [ ? 19.699849] em28xx 1-1.2:1.0: usb_probe_interface
> [ ? 19.699867] em28xx 1-1.2:1.0: usb_probe_interface - got id
> [ ? 19.699883] em28xx new video device (1aeb:2128): interface 0, class 255
> [ ? 19.706528] em28xx Has usb audio class
> [ ? 19.710319] em28xx #0: Alternate settings: 8
> [ ? 19.714604] em28xx #0: Alternate setting 0, max size= 0
> [ ? 19.719826] em28xx #0: Alternate setting 1, max size= 1024
> [ ? 19.725302] em28xx #0: Alternate setting 2, max size= 1448
> [ ? 19.730778] em28xx #0: Alternate setting 3, max size= 2048
> [ ? 19.736255] em28xx #0: Alternate setting 4, max size= 2304
> [ ? 19.741734] em28xx #0: Alternate setting 5, max size= 2580
> [ ? 19.747211] em28xx #0: Alternate setting 6, max size= 2892
> [ ? 19.752688] em28xx #0: Alternate setting 7, max size= 3072
> [ ? 19.758498] em28xx #0: em28xx chip ID = 18
> [ ? 20.357669] saa7115' 0-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
> [ ? 21.109479] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 21 28 90 00 11 03 6a 22 00 00
> [ ? 21.117619] em28xx #0: i2c eeprom 10: 00 00 04 57 06 21 01 00 00 00 00 00 00 00 00 00
> [ ? 21.125767] em28xx #0: i2c eeprom 20: 02 00 01 01 f0 10 00 00 00 00 00 00 5b 00 00 00
> [ ? 21.133870] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 01 03 01 00 00 00 00
> [ ? 21.141974] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.150071] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.158184] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
> [ ? 21.166296] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 32 00 31 00 20 00 44 00
> [ ? 21.174487] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
> [ ? 21.182600] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.190714] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.198826] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.206939] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.215043] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.223139] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.231243] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [ ? 21.239348] EEPROM ID= 0x1aeb6795, hash = 0x00000000
> [ ? 21.244305] Vendor/Product ID= 1aeb:2128
> [ ? 21.248218] No audio on board.
> [ ? 21.251269] 500mA max power
> [ ? 21.254062] Table at 0x04, strings=0x6a22, 0x0000, 0x0000
> [ ? 21.273860] em28xx #0: found i2c device @ 0x4a [saa7113h]
> [ ? 21.295311] em28xx #0: found i2c device @ 0xa0 [eeprom]
> [ ? 21.318136] em28xx #0: Your board has no unique USB ID and thus need a hint to be detected.
> [ ? 21.326495] em28xx #0: You may try to use card=<n> insmod option to workaround that.
> [ ? 21.334250] em28xx #0: Please send an email with this log to:
> [ ? 21.339992] em28xx #0: ? ? ? V4L Mailing List <[email protected]>
> [ ? 21.346500] em28xx #0: Board eeprom hash is 0x00000000
> [ ? 21.351633] em28xx #0: Board i2c devicelist hash is 0x6ba50080
> [ ? 21.357457] em28xx #0: Here is a list of valid choices for the card=<n> insmod option:
> [ ? 21.365354] em28xx #0: ? ? card=0 -> Unknown EM2800 video grabber
> [ ? 21.371435] em28xx #0: ? ? card=1 -> Unknown EM2750/28xx video grabber
> [ ? 21.377951] em28xx #0: ? ? card=2 -> Terratec Cinergy 250 USB
> [ ? 21.383686] em28xx #0: ? ? card=3 -> Pinnacle PCTV USB 2
> [ ? 21.389094] em28xx #0: ? ? card=4 -> Hauppauge WinTV USB 2
> [ ? 21.394565] em28xx #0: ? ? card=5 -> MSI VOX USB 2.0
> [ ? 21.399524] em28xx #0: ? ? card=6 -> Terratec Cinergy 200 USB
> [ ? 21.405264] em28xx #0: ? ? card=7 -> Leadtek Winfast USB II
> [ ? 21.410824] em28xx #0: ? ? card=8 -> Kworld USB2800
> [ ? 21.415689] em28xx #0: ? ? card=9 -> Pinnacle Dazzle DVC 90/DVC 100
> [ ? 21.421945] em28xx #0: ? ? card=10 -> Hauppauge WinTV HVR 900
> [ ? 21.427681] em28xx #0: ? ? card=11 -> Terratec Hybrid XS
> [ ? 21.432977] em28xx #0: ? ? card=12 -> Kworld PVR TV 2800 RF
> [ ? 21.438534] em28xx #0: ? ? card=13 -> Terratec Prodigy XS
> [ ? 21.443925] em28xx #0: ? ? card=14 -> Pixelview Prolink PlayTV USB 2.0
> [ ? 21.450440] em28xx #0: ? ? card=15 -> V-Gear PocketTV
> [ ? 21.455485] em28xx #0: ? ? card=16 -> Hauppauge WinTV HVR 950
> [ ? 21.461222] em28xx #0: ? ? card=17 -> Pinnacle PCTV HD Pro Stick
> [ ? 21.467218] em28xx #0: ? ? card=18 -> Hauppauge WinTV HVR 900 (R2)
> [ ? 21.473388] em28xx #0: ? ? card=19 -> PointNix Intra-Oral Camera
> [ ? 21.479383] em28xx #0: ? ? card=20 -> AMD ATI TV Wonder HD 600
> [ ? 21.485407] em28xx #0: ? ? card=21 -> eMPIA Technology, Inc. GrabBeeX+ Video Encoder
> [ ? 21.493130] em28xx #0: ? ? card=22 -> Unknown EM2750/EM2751 webcam grabber
> [ ? 21.499989] em28xx #0: ? ? card=23 -> Huaqi DLCW-130
> [ ? 21.504940] em28xx #0: ? ? card=24 -> D-Link DUB-T210 TV Tuner
> [ ? 21.510764] em28xx #0: ? ? card=25 -> Gadmei UTV310
> [ ? 21.515636] em28xx #0: ? ? card=26 -> Hercules Smart TV USB 2.0
> [ ? 21.521548] em28xx #0: ? ? card=27 -> Pinnacle PCTV USB 2 (Philips FM1216ME)
> [ ? 21.528580] em28xx #0: ? ? card=28 -> Leadtek Winfast USB II Deluxe
> [ ? 21.534835] em28xx #0: ? ? card=29 -> Pinnacle Dazzle DVC 100
> [ ? 21.540572] em28xx #0: ? ? card=30 -> Videology 20K14XUSB USB2.0
> [ ? 21.546569] em28xx #0: ? ? card=31 -> Usbgear VD204v9
> [ ? 21.551613] em28xx #0: ? ? card=32 -> Supercomp USB 2.0 TV
> [ ? 21.557083] em28xx #0: ? ? card=33 -> SIIG AVTuner-PVR/Prolink PlayTV USB 2.0
> [ ? 21.564202] em28xx #0: ? ? card=34 -> Terratec Cinergy A Hybrid XS
> [ ? 21.570371] em28xx #0: ? ? card=35 -> Typhoon DVD Maker
> [ ? 21.575589] em28xx #0: ? ? card=36 -> NetGMBH Cam
> [ ? 21.580280] em28xx #0: ? ? card=37 -> Gadmei UTV330
> [ ? 21.585145] em28xx #0: ? ? card=38 -> Yakumo MovieMixer
> [ ? 21.590547] em28xx #0: ? ? card=39 -> KWorld PVRTV 300U
> [ ? 21.595763] em28xx #0: ? ? card=40 -> Plextor ConvertX PX-TV100U
> [ ? 21.601760] em28xx #0: ? ? card=41 -> Kworld 350 U DVB-T
> [ ? 21.607064] em28xx #0: ? ? card=42 -> Kworld 355 U DVB-T
> [ ? 21.612361] em28xx #0: ? ? card=43 -> Terratec Cinergy T XS
> [ ? 21.617926] em28xx #0: ? ? card=44 -> Terratec Cinergy T XS (MT2060)
> [ ? 21.624267] em28xx #0: ? ? card=45 -> Pinnacle PCTV DVB-T
> [ ? 21.629650] em28xx #0: ? ? card=46 -> Compro, VideoMate U3
> [ ? 21.635128] em28xx #0: ? ? card=47 -> KWorld DVB-T 305U
> [ ? 21.640346] em28xx #0: ? ? card=48 -> KWorld DVB-T 310U
> [ ? 21.645566] em28xx #0: ? ? card=49 -> MSI DigiVox A/D
> [ ? 21.650611] em28xx #0: ? ? card=50 -> MSI DigiVox A/D II
> [ ? 21.655915] em28xx #0: ? ? card=51 -> Terratec Hybrid XS Secam
> [ ? 21.661740] em28xx #0: ? ? card=52 -> DNT DA2 Hybrid
> [ ? 21.666698] em28xx #0: ? ? card=53 -> Pinnacle Hybrid Pro
> [ ? 21.672089] em28xx #0: ? ? card=54 -> Kworld VS-DVB-T 323UR
> [ ? 21.677654] em28xx #0: ? ? card=55 -> Terratec Hybrid XS (em2882)
> [ ? 21.683736] em28xx #0: ? ? card=56 -> Pinnacle Hybrid Pro (2)
> [ ? 21.689655] em28xx #0: ? ? card=57 -> Kworld PlusTV HD Hybrid 330
> [ ? 21.695737] em28xx #0: ? ? card=58 -> Compro VideoMate ForYou/Stereo
> [ ? 21.702079] em28xx #0: ? ? card=59 -> Plextor PX-AV200U
> [ ? 22.277385] em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
> [ ? 22.284272] em28xx #0: Found Unknown EM2750/28xx video grabber
>
>
>

Ok, here's the problem. Yeah, please do not submit profiles that
require a card= specification. Instead, please resubmit your patch
including an entry in the em28xx_i2c_hash[] table that includes your
device. It probably needs to look something like the following:

{0x6ba50080, EM2820_BOARD_PLEXTOR_PX_AV200U, TUNER_LG_PAL_NEW_TAPC},

I am curious though why your eeprom hash is blank even though it
successfully dumped out the eeprom.

Devin

--
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

2009-03-23 13:47:47

by Mikhail Jiline

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers

Devin,

> Ok, here's the problem. Yeah, please do not submit profiles that
> require a card= specification. Instead, please resubmit your patch
> including an entry in the em28xx_i2c_hash[] table that includes your
> device. It probably needs to look something like the following:

Here is the output from the version with em28xx_i2c_hash hint. Update patch is below.

Mar 23 09:13:57 T60p kernel: usb 1-5: new high speed USB device using ehci_hcd and address 9
Mar 23 09:13:57 T60p kernel: usb 1-5: configuration #1 chosen from 1 choice
Mar 23 09:13:57 T60p kernel: em28xx new video device (eb1a:2821): interface 0, class 255
Mar 23 09:13:57 T60p kernel: em28xx Has usb audio class
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate settings: 8
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 0, max size= 0
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 1, max size= 1024
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 2, max size= 1448
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 3, max size= 2048
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 4, max size= 2304
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 5, max size= 2580
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 6, max size= 2892
Mar 23 09:13:57 T60p kernel: em28xx #0: Alternate setting 7, max size= 3072
Mar 23 09:13:57 T60p kernel: em28xx #0: em28xx chip ID = 18
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 21 28 90 00 11 03 6a 22 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 10: 00 00 04 57 06 21 01 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 20: 02 00 01 01 f0 10 00 00 00 00 00 00 5b 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 01 03 01 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 32 00 31 00 20 00 44 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar 23 09:13:57 T60p kernel: EEPROM ID= 0x9567eb1a, hash = 0x37da7b8a
Mar 23 09:13:57 T60p kernel: Vendor/Product ID= eb1a:2821
Mar 23 09:13:57 T60p kernel: AC97 audio (5 sample rates)
Mar 23 09:13:57 T60p kernel: 500mA max power
Mar 23 09:13:57 T60p kernel: Table at 0x04, strings=0x226a, 0x0000, 0x0000
Mar 23 09:13:57 T60p kernel: em28xx #0: found i2c device @ 0x4a [saa7113h]
Mar 23 09:13:57 T60p kernel: em28xx #0: found i2c device @ 0xa0 [eeprom]
Mar 23 09:13:57 T60p kernel: em28xx #0: Your board has no unique USB ID.
Mar 23 09:13:57 T60p kernel: em28xx #0: A hint were successfully done, based on i2c devicelist hash.
Mar 23 09:13:57 T60p kernel: em28xx #0: This method is not 100% failproof.
Mar 23 09:13:57 T60p kernel: em28xx #0: If the board were missdetected, please email this log to:
Mar 23 09:13:57 T60p kernel: em28xx #0: V4L Mailing List <[email protected]>
Mar 23 09:13:57 T60p kernel: em28xx #0: Board detected as Plextor PX-AV200U
Mar 23 09:13:57 T60p kernel: em28xx #0:
Mar 23 09:13:57 T60p kernel:
Mar 23 09:13:57 T60p kernel: em28xx #0: The support for this board weren't valid yet.
Mar 23 09:13:57 T60p kernel: em28xx #0: Please send a report of having this working
Mar 23 09:13:57 T60p kernel: em28xx #0: not to V4L mailing list (and/or to other addresses)
Mar 23 09:13:57 T60p kernel:
Mar 23 09:13:58 T60p kernel: saa7115' 1-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
Mar 23 09:13:58 T60p kernel: em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
Mar 23 09:13:58 T60p kernel: em28xx #0: Found Plextor PX-AV200U
Mar 23 09:13:58 T60p kernel: usb 1-5: New USB device found, idVendor=eb1a, idProduct=2821
Mar 23 09:13:58 T60p kernel: usb 1-5: New USB device strings: Mfr=0, Product=1, SerialNumber=0
Mar 23 09:13:58 T60p kernel: usb 1-5: Product: USB 2821 Device




From: Misha Zhilin <[email protected]>

Adds support for Digitus/Plextor PX-AV200U grabbers
Signed-off-by: Misha Zhilin <[email protected]>
---

diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c
--- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c 2009-03-23 08:28:18.000000000 -0400
@@ -1087,6 +1087,21 @@
.amux = EM28XX_AMUX_LINE_IN,
} },
},
+ [EM2820_BOARD_PLEXTOR_PX_AV200U] = {
+ .name = "Plextor PX-AV200U",
+ .valid = EM28XX_BOARD_NOT_VALIDATED,
+ .vchannels = 2,
+ .decoder = EM28XX_SAA7113,
+ .input = { {
+ .type = EM28XX_VMUX_COMPOSITE1,
+ .vmux = SAA7115_COMPOSITE0,
+ .amux = EM28XX_AMUX_AC97_LINE_IN,
+ }, {
+ .type = EM28XX_VMUX_SVIDEO,
+ .vmux = SAA7115_SVIDEO3,
+ .amux = EM28XX_AMUX_AC97_LINE_IN,
+ } },
+ },
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);

@@ -1269,6 +1284,7 @@
{0xb06a32c3, EM2800_BOARD_TERRATEC_CINERGY_200, TUNER_LG_PAL_NEW_TAPC},
{0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC},
{0x1ba50080, EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA, TUNER_ABSENT},
+ {0x6ba50080, EM2820_BOARD_PLEXTOR_PX_AV200U, TUNER_ABSENT},
};

int em28xx_tuner_callback(void *ptr, int command, int arg)
diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h
--- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h 2009-03-04 15:33:24.000000000 -0500
@@ -97,6 +97,8 @@
#define EM2882_BOARD_PINNACLE_HYBRID_PRO 56
#define EM2883_BOARD_KWORLD_HYBRID_A316 57
#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU 58
+#define EM2820_BOARD_PLEXTOR_PX_AV200U 59
+

/* Limits minimum and default number of buffers */
#define EM28XX_MIN_BUF 4
diff -urN linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx
--- linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx 2009-03-18 11:15:00.000000000 -0400
@@ -57,3 +57,4 @@
56 -> Pinnacle Hybrid Pro (2) (em2882) [2304:0226]
57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
+ 59 -> Plextor PX-AV200U (em2880)









2009-03-23 14:47:36

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers

On Mon, Mar 23, 2009 at 9:47 AM, Mikhail Jiline <[email protected]> wrote:
> Here is the output from the version with em28xx_i2c_hash hint. Update patch is below.
<snip>

Ok, that looks better. You should no longer need the "card=" line
with that patch.

Did you verify that both video inputs were working as expected? Also,
did you confirm the audio support works? If so, please remove the
"valid = EM28XX_BOARD_NOT_VALIDATED", submit a final patch, and
I will check it in.

Thanks,

Devin

--
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

2009-03-23 16:08:22

by Mikhail Jiline

[permalink] [raw]
Subject: Re: [PATCH] V4L: em28xx: add support for Digitus/Plextor PX-AV200U grabbers


>
> Did you verify that both video inputs were working as expected? Also,
> did you confirm the audio support works?

Yes, audio, composite and s-video are functional.


From: Misha Zhilin <[email protected]>

Adds support for Digitus/Plextor PX-AV200U grabbers
Signed-off-by: Misha Zhilin <[email protected]>
---

diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c
--- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx-cards.c 2009-03-23 12:05:22.000000000 -0400
@@ -1087,6 +1087,21 @@
.amux = EM28XX_AMUX_LINE_IN,
} },
},
+ [EM2820_BOARD_PLEXTOR_PX_AV200U] = {
+ .name = "Plextor PX-AV200U",
+ .vchannels = 2,
+ .tuner_type = TUNER_ABSENT,
+ .decoder = EM28XX_SAA7113,
+ .input = { {
+ .type = EM28XX_VMUX_COMPOSITE1,
+ .vmux = SAA7115_COMPOSITE0,
+ .amux = EM28XX_AMUX_AC97_LINE_IN,
+ }, {
+ .type = EM28XX_VMUX_SVIDEO,
+ .vmux = SAA7115_SVIDEO3,
+ .amux = EM28XX_AMUX_AC97_LINE_IN,
+ } },
+ },
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);

@@ -1269,6 +1284,7 @@
{0xb06a32c3, EM2800_BOARD_TERRATEC_CINERGY_200, TUNER_LG_PAL_NEW_TAPC},
{0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC},
{0x1ba50080, EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA, TUNER_ABSENT},
+ {0x6ba50080, EM2820_BOARD_PLEXTOR_PX_AV200U, TUNER_ABSENT},
};

int em28xx_tuner_callback(void *ptr, int command, int arg)
diff -urN linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h
--- linux-2.6.27.x86_64.orig/drivers/media/video/em28xx/em28xx.h 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/drivers/media/video/em28xx/em28xx.h 2009-03-23 11:11:40.000000000 -0400
@@ -97,6 +97,7 @@
#define EM2882_BOARD_PINNACLE_HYBRID_PRO 56
#define EM2883_BOARD_KWORLD_HYBRID_A316 57
#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU 58
+#define EM2820_BOARD_PLEXTOR_PX_AV200U 59

/* Limits minimum and default number of buffers */
#define EM28XX_MIN_BUF 4
diff -urN linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx
--- linux-2.6.27.x86_64.orig/Documentation/video4linux/CARDLIST.em28xx 2008-10-09 18:13:53.000000000 -0400
+++ linux-2.6.27.x86_64.new/Documentation/video4linux/CARDLIST.em28xx 2009-03-18 11:15:00.000000000 -0400
@@ -57,3 +57,4 @@
56 -> Pinnacle Hybrid Pro (2) (em2882) [2304:0226]
57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
+ 59 -> Plextor PX-AV200U (em2880)