On Wednesday 14 May 2008 20:13:16 Peter Brandt wrote:
> Hans Verkuil wrote:
> > On Tuesday 13 May 2008 13:50:18 [EMAIL PROTECTED] wrote:
> >> A few weeks ago, I bought a Video Encoder Card in Japan with the
> >> goal of using it there in a MythTV box.
> >>
> >> The card is branded "BUFFALO" and is called "PC-MV5L/PCI". The
> >> package says: "MPEG2 Hardware Encoder, TV tuner & VHS video
> >> capture board" (in Japanese).
>
> I am happy about all the different suggestions. When the first easy
> try with setting "tuner" and "cardtype" did not succeed, i decided to
> go the clean route which Hans showed in so much detail (thanks a
> lot!).
>
> Hans:
> > OK, a new card. There we go:
> >
> > 1) Get the new buffalo tree here:
> > http://linuxtv.org/hg/~hverkuil/buffalo/archive/tip.tar.bz2
>
> Worked :-)
>
> > 2) make, make install, and run modprobe ivtv.
>
> "make" had some problems although I worked against a recent 2.6.25.3
> kernel. Probably Hans' sources are for a more recent development
> version?
>
> In detail:
>
> CC [M] /usr/src/buffalo-35e513f58385/v4l/zoran_procfs.o
> /usr/src/buffalo-35e513f58385/v4l/zoran_procfs.c: In function
> 'zoran_proc_init':
> /usr/src/buffalo-35e513f58385/v4l/zoran_procfs.c:208: error: implicit
> declaration of function 'proc_create_data'
> /usr/src/buffalo-35e513f58385/v4l/zoran_procfs.c:208: warning:
> assignment makes pointer from integer without a cast
> make[3]: *** [/usr/src/buffalo-35e513f58385/v4l/zoran_procfs.o] Error
> 1
>
> I "fixed" that temporarily by copying the corresponding .c file from
> my stock kernel.
>
> CC [M] /usr/src/buffalo-35e513f58385/v4l/mt9m001.o
> /usr/src/buffalo-35e513f58385/v4l/mt9m001.c:697: error: array type
> has incomplete element type
> /usr/src/buffalo-35e513f58385/v4l/mt9m001.c:707: warning:
> initialization from incompatible pointer type
> /usr/src/buffalo-35e513f58385/v4l/mt9m001.c:709: error: unknown field
> 'id_table' specified in initializermake[3]: ***
> [/usr/src/buffalo-35e513f58385/v4l/mt9m001.o] Error 1
> make[2]: *** [_module_/usr/src/buffalo-35e513f58385/v4l] Error 2
>
> I "fixed" that temporarily by commenting the conflicting lines in
> mt9m001.c.
>
> Both .c files seemed to have nothing to do with my card, so I'm
> probably on the safe side here.
Correct. You can also run 'make menuconfig' and only configure the cx18
driver. I'm actually using a 2.6.23 kernel. I tried to go to 2.6.25,
but due to some regression I no longer have audio with that kernel :-(
>
> "make install" worked.
>
> "modprobe ivtv" complained about disagreeing about versions of
> symbols, as my kernel is compiled with CONFIG_MODVERSIONS=y.
> Workaround: "modprobe --force-modversion ivtv"
Yup.
>
> > 3) The card should be autodetected, now see if it works. Start with
> > the composite input (select using v4l2-ctl -i2).
>
> The card was detected correctly, but recorded input from the
> composite input (3) was just a blank white screen.
>
> dmesg:
> [50094.134889] ivtv: Start initialization, version 1.2.1
> [50094.140271] ivtv0: Initializing card #0
> [50094.140331] ivtv0: Autodetected Buffalo PC-MV5L/PCI card (cx23416
> based) [50094.156142] ACPI: PCI Interrupt 0000:00:14.0[A] -> Link
> [LNKB] -> GSI 10 (level, low) -> IRQ 10
> [50094.354316] cx25840 1-0044: cx25843-24 found @ 0x88 (ivtv i2c
> driver #0) [50094.379850] tuner 1-0061: chip found @ 0xc2 (ivtv i2c
> driver #0) [50094.391718] xc2028 1-0061: type set to XCeive
> xc2028/xc3028 tuner [50094.394990] xc2028 1-0061: xc2028/3028
> firmware name not set! [50098.330521] cx25840 1-0044: loaded
> v4l-cx25840.fw firmware (16382 bytes) [50098.436003] ivtv0:
> Registered device video0 for encoder MPG (4096 kB) [50099.421890]
> ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
> [50099.620894] ivtv0: Encoder revision: 0x02060039
> [50099.792570] xc2028 1-0061: Loading 80 firmware images from
> xc3028-v27.fw, type: xc2028 firmware, ver 2.7
> [50099.806164] xc2028 1-0061: Loading firmware for type=BASE (1), id
> 0000000000000000.
> [50101.660563] xc2028 1-0061: Loading firmware for type=(0), id
> 000000000000b700.
> [50101.694287] SCODE (20000000), id 000000000000b700:
> [50101.694317] xc2028 1-0061: Loading SCODE for type=SCODE
> HAS_IF_4500 (60000000), id 0000000000002000.
> [50101.734973] xc2028 1-0061: Device is Xceive 3028 version 1.0,
> firmware version 2.7
> [50101.911301] xc2028 1-0061: Loading firmware for type=(0), id
> 000000000000b700.
> [50101.953105] SCODE (20000000), id 000000000000b700:
> [50101.953156] xc2028 1-0061: Loading SCODE for type=SCODE
> HAS_IF_4500 (60000000), id 0000000000002000.
> [50101.994348] xc2028 1-0061: Device is Xceive 3028 version 1.0,
> firmware version 2.7
> [50102.151392] ivtv0: Registered device video32 for encoder YUV (2048
> kB) [50102.151552] ivtv0: Registered device vbi0 for encoder VBI
> (1024 kB) [50102.151700] ivtv0: Registered device video24 for encoder
> PCM (320 kB) [50102.151730] ivtv0: Initialized card #0: Buffalo
> PC-MV5L/PCI [50102.151858] ivtv: End initialization
> [50507.745749] xc2028 1-0061: Loading firmware for type=BASE F8MHZ
> (3), id 0000000000000000.
> [50509.617744] (0), id 00000000000000ff:
> [50509.617769] xc2028 1-0061: Loading firmware for type=(0), id
> 0000000100000007.
> [50509.653494] SCODE (20000000), id 0000000100000007:
> [50509.653526] xc2028 1-0061: Loading SCODE for type=SCODE
> HAS_IF_5640 (60000000), id 0000000200000007.
> [50509.692062] xc2028 1-0061: Device is Xceive 3028 version 1.0,
> firmware version 2.7
>
> > 4) If it does not work, then edit ivtv-cards.c: search for the
> > ivtv_card_buffalo struct, check out the line:
> >
> > { IVTV_CARD_INPUT_COMPOSITE1, 1, CX25840_COMPOSITE3 },
> >
> > in video_inputs. Replace CX25840_COMPOSITE3 with CX25840_COMPOSITE1
> > and try again. Then test with CX25840_COMPOSITE2, etc. etc. until
> > COMPOSITE8. One of these 8 possible inputs should work.
>
> Changing to CX25840_COMPOSITE1 gave me a faint picture with almost no
> color and lots of noise on top.
>
> Switching the video mode to PAL ("v4l2-ctl -s pal") did the job! (My
> encoder card is currently fed with the moving DVD title menu of a PAL
> version of "The Hitchhikers Guide to the Galaxy" in infinite loop --
> nice test picture :).
Ah yes, the default standard selected for these worldwide tuners is
NTSC. I didn't realize that you were in PAL country.
> At least I can already record composite video now, cool!
>
> Next step will be the S-Video input, like Hans suggested. This will
> take some time because I need to get pysically to the machine and
> unplug/replug the video source.
>
> > Next try S-Video input (v4l2-ctl -i1): edit the line
> >
> > { IVTV_CARD_INPUT_SVIDEO1, 1, CX25840_SVIDEO3 },
> >
> > and replace SVIDEO3 with SVIDEO1-4 and see which one works. If none
> > of these works, or you get only black & white then make a note of
> > which input gives B&W and let me know. We can get color to work
> > later.
> >
> > 5) Tuner: first get the firmware. See the file
> > linux/Documentation/video4linux/extract_xc3028.pl for instructions.
>
> (already installed the firmware while compiling; seems to be fine,
> see dmesg output above)
It can be misleading: if the fw still loads correctly after an
rmmod/modprobe then you know the correct pin is selected.
> > 6) Now modprobe ivtv. Then run rmmod ivtv and modprobe ivtv again.
> > If you get errors in the kernel log regarding the xceive tuner,
> > then you need to change the xceive_pin setting in the buffalo card
> > definition. It should be in the range 8-15. Try 10 first.
> >
> > 7) Congratulations, the tuner is now working. The final step is to
> > find the correct composite input for the tuner by editing the line:
> >
> > { IVTV_CARD_INPUT_VID_TUNER, 0, CX25840_COMPOSITE2 },
> >
> > Again, it can be any value from COMPOSITE1-8. For audio you may
> > have to change the line:
> >
> > { IVTV_CARD_INPUT_AUD_TUNER, CX25840_AUDIO5 },
> >
> > Possible values: AUDIO4-8.
> >
> > 8) Done!
> >
> > It's a bit annoying to go through all the combinations but it is
> > the only way to do it.
> >
> > BTW: check if your board has a WM8739 or MW8775 chip: that's a not
> > uncommon audio chip.
>
> At least the bigger chips on the card (> about 8 pins) have no such
> labeling. These are the chips:
>
> - XCEIVE XC2028ACQ
> - CONEXANT CX25843-24Z
> - hynix 625A
> - CONEXANT MPEG II A/V ENCODER CX23416-22
> - CIRRUS 5340CZZ
> - 74HC125D
> - ATML H726
OK, no special chips then. Good to know.
With a bit of luck it shouldn't be too hard to figure out the full card
definition.
Thanks for your help.
Regards,
Hans
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel