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. "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" > 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 :). 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) > 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 Kind regards, Peter _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
