Dear Chehab :
I have some problems to make the Avermedia M104 TV card to work correctly
on Ubuntu 7.10 Gusty.
I have modified the code ivtv-cards.h and ivtv-cards.c, and then the
driver can automatically recognize the mpeg encoder to be cx23416 type and the
tuner to be xc2028 type.
Use “mplayer /dev/video0” can get a perfect static black view.
After use “ivtv-tune �Cc 25” , it does no effect. The dmesg will be like
below:
-----------------------------------------------------------------
[ 32.805386] ivtv: Start initialization, version 1.2.0
[ 32.805576] ivtv0: Initializing card #0
[ 32.805590] ivtv0: Autodetected AVerMedia M104 card (cx23416 based)
[ 32.805665] ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
[ 33.047254] cx25840 1-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
[ 33.094866] tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
[ 36.906895] ivtv0: Registered device video0 for encoder MPG (4096 kB)
[ 36.907173] ivtv0: Registered device video32 for encoder YUV (2048 kB)
[ 36.907419] ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
[ 36.907671] ivtv0: Registered device video24 for encoder PCM (320 kB)
[ 36.907989] ivtv0: Registered device radio0 for encoder radio
[ 36.908013] ivtv0: Initialized card #0: AVerMedia M104
[ 36.908161] ivtv: End initialization
[ 42.352000] ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
[ 42.552000] ivtv0: Encoder revision: 0x02060039
[ 42.676000] xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw,
type: xc2028 firmware, ver 2.7
[ 42.684000] Seek ended!<6>xc2028 1-0061: Loading firmware for type=BASE (1),
id 0000000000000000.
[ 42.704000] xc2028 1-0061: i2c output error: rc = -121 (should be 64)
[ 42.704000] xc2028 1-0061: -121 returned from send
[ 42.704000] xc2028 1-0061: Error -22 while loading base firmware
[ 42.768000] Seek ended!<6>xc2028 1-0061: Loading firmware for type=BASE (1),
id 0000000000000000.
[ 42.776000] xc2028 1-0061: i2c output error: rc = -121 (should be 64)
[ 42.776000] xc2028 1-0061: -121 returned from send
The modify of ivtv-cards.h and ivtv-cards.c will be like this
ivtv-cards.h
+++
< #define IVTV_CARD_AVER_M104 24 /* AverMedia M104 mini pci card by
Alfred*/
< #define IVTV_CARD_LAST 24
---
> #define IVTV_CARD_LAST 23
------------------------------------------------------------------------------------
Ivtv-cards.c
< +++
< static const struct ivtv_card_pci_info ivtv_pci_aver_m104[] = {
< { PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_AVERMEDIA, 0xc136 },
< { 0, 0, 0 }
< };
<
< static const struct ivtv_card ivtv_card_aver_m104 = {
< .type = IVTV_CARD_AVER_M104,
< .name = "AVerMedia M104",
< .v4l2_capabilities = IVTV_CAP_ENCODER,
< .hw_video = IVTV_HW_CX25840,
< .hw_audio = IVTV_HW_CX25840,
< .hw_audio_ctrl = IVTV_HW_CX25840,
< //.hw_muxer = IVTV_HW_GPIO,
< .hw_all = IVTV_HW_CX25840 | IVTV_HW_TUNER | IVTV_HW_TVEEPROM,
< .video_inputs = {
< { IVTV_CARD_INPUT_VID_TUNER, 0, CX25840_COMPOSITE2 },
< { IVTV_CARD_INPUT_SVIDEO1, 1,
< CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4 },
< { IVTV_CARD_INPUT_COMPOSITE1, 1, CX25840_COMPOSITE1 },
< },
< .audio_inputs = {
< { IVTV_CARD_INPUT_AUD_TUNER, CX25840_AUDIO5, 0 },
< { IVTV_CARD_INPUT_LINE_IN1, CX25840_AUDIO_SERIAL, 1 },
< },
< .radio_input = { IVTV_CARD_INPUT_AUD_TUNER, CX25840_AUDIO_SERIAL, 2 },
< .gpio_init = { .direction = 0x00ff, .initial_value = 0x0002 },
< .gpio_audio_input = { .mask = 0x0800, .tuner = 0, .linein = 0, .radio =
0x0800 },
< .tuners = {
< /* This card has a Xciver xc2028 tuner */
< { .std = V4L2_STD_525_60, .tuner = TUNER_XC2028 },
< },
< .pci_list = ivtv_pci_aver_m104,
< .i2c = &ivtv_i2c_std,
< };
<
static const struct ivtv_card ivtv_card_list[]{
… …
&ivtv_card_aver_ezmaker,
+++
< &ivtv_card_aver_m104,
… …
----------------------------------------------------------------------------------
Would you please give me some help!
Alfred Zhu
2008-4-1
E-mail : [EMAIL PROTECTED]
Telephone : +8615850221981
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel