mb86a20s: last patches affect the card X8507
Hi After updating my operating system I notice that my Mygica X8507 board has stopped working the digital part. After bisecting the kernel: git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git I find that the patch: https://www.mail-archive.com/linux-media@vger.kernel.org/msg102082.html is the one that affects the operation. Reverting this patch I see that it tunes (FE_HAS_LOCK) but does not take any channel, so I try to also remove the patch https://www.mail-archive.com/linux-media@vger.kernel.org/msg102085.html, after doing this everything has worked perfectly again. I have tried removing these patches with the latest versions of media_build.git, as well as with the latest kernels and everything works fine. Can these patches be reversed? Mr. Mauro Carvalho Chehab: can you try it if you still have the card Leadership X8502 Regards Alfredo
Re: [PATCH 1/2] cx23885 Radio Support [was: cx23885: Add basic analog radio support]
Hi Hans El 20/12/13 06:54, Hans Verkuil escribió: Hi Alfredo, It's a rather late review for which I apologize. Anyway, this patch needs more work, see my comments below. Hans thank you very much for your comments. I'll have to wait until January to work with your suggestions, because I'm very busy right now. Thanks again, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/2] cx23885 Radio Support [was: cx23885: Add basic analog radio support]
Hi Mauro and all El 31/10/13 07:12, Mauro Carvalho Chehab escribió: Hi Alfredo, My understanding is that the patch you've enclosed is incomplete and depends on Miroslav's patch. As he have you his ack to rework on it, could you please prepare a patch series addressing the above comments for us to review? Than This patch supports only radio is for CX23885 I've only applied to current git version of V4L, and I've also removed the lines that support two cards in particular. The original patch is: https://linuxtv.org/patch/9498/ I found the following issue Details of the issue: Some warning when compiling ... CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.o /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: : initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_tuner') [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_audio') [enabled by default] CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-vbi.o ... static const struct v4l2_ioctl_ops radio_ioctl_ops = { .vidioc_s_tuner = radio_s_tuner, /* line 1910 */ .vidioc_s_audio = radio_s_audio, /* line 1911 */ Signed-off-by: Miroslav Slugen thunder@gmail.com Tested-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c index 7891f34..9eed6fe 100644 --- a/drivers/media/pci/cx23885/cx23885-video.c +++ b/drivers/media/pci/cx23885/cx23885-video.c @@ -889,6 +889,8 @@ static int video_open(struct file *file) fh-width= 320; fh-height = 240; fh-fmt = format_by_fourcc(V4L2_PIX_FMT_YUYV); + + mutex_lock(dev-lock); videobuf_queue_sg_init(fh-vidq, cx23885_video_qops, dev-pci-dev, dev-slock, @@ -904,6 +906,14 @@ static int video_open(struct file *file) sizeof(struct cx23885_buffer), fh, NULL); + if (fh-radio) { + dprintk(1,video_open: setting radio device\n); + cx_write(GPIO_0, cx23885_boards[dev-board].radio.gpio0); + call_all(dev, tuner, s_radio); + } + + dev-users++; + mutex_unlock(dev-lock); dprintk(1, post videobuf_queue_init()\n); @@ -1001,15 +1011,26 @@ static int video_release(struct file *file) videobuf_mmap_free(fh-vidq); videobuf_mmap_free(fh-vbiq); + + mutex_lock(dev-lock); file-private_data = NULL; kfree(fh); + + dev-users--; /* We are not putting the tuner to sleep here on exit, because * we want to use the mpeg encoder in another session to capture * tuner video. Closing this will result in no video to the encoder. */ +#if 0 + if (!dev-users) + call_all(dev, core, s_power, 0); + #endif + + mutex_unlock(dev-lock); + return 0; } @@ -1635,6 +1656,106 @@ static int vidioc_s_frequency(struct file *file, void *priv, /* --- */ +/* RADIO ESPECIFIC IOCTLS */ + +static int radio_querycap (struct file *file, void *priv, + struct v4l2_capability *cap) +{ + struct cx23885_dev *dev = ((struct cx23885_fh *)priv)-dev; + + strcpy(cap-driver, cx23885); + strlcpy(cap-card, cx23885_boards[dev-board].name, sizeof(cap-card)); + sprintf(cap-bus_info,PCIe:%s, pci_name(dev-pci)); + cap-capabilities = V4L2_CAP_TUNER; + return 0; +} + +static int radio_g_tuner (struct file *file, void *priv, + struct v4l2_tuner *t) +{ + struct cx23885_dev *dev = ((struct cx23885_fh *)priv)-dev; + + if (unlikely(t-index 0)) + return -EINVAL; + + strcpy(t-name, Radio); + t-type = V4L2_TUNER_RADIO; + + call_all(dev, tuner, g_tuner, t); + return 0; +} + +static int radio_enum_input (struct file *file, void *priv, + struct v4l2_input *i) +{ + if (i-index != 0) + return -EINVAL; + strcpy(i-name,Radio); + i-type = V4L2_INPUT_TYPE_TUNER; + + return 0; +} + +static int radio_g_audio (struct file *file, void *priv, struct v4l2_audio *a) +{ + if (unlikely(a-index)) + return -EINVAL; + + strcpy(a-name,Radio); + return 0; +} + +/* FIXME: Should add a standard for radio */ + +static int radio_s_tuner (struct file *file, void *priv, +
[PATCH 2/2] X8502/8507 Radio Support [was: cx23885: Add basic analog radio support]
Hi Mauro and all El 31/10/13 07:12, Mauro Carvalho Chehab escribió: Hi Alfredo, My understanding is that the patch you've enclosed is incomplete and depends on Miroslav's patch. As he have you his ack to rework on it, could you please prepare a patch series addressing the above comments for us to review? Than I tested this patch with the latest versions of git. I found some issue, although it may be through a bad implementation of mine. Details of them: 1) No reports signal strength or stereo signal with KRadio. XC5000 neither reported (modprobe xc5000 debug=1). Maybe a feature XC5000. To listen in stereo, sometimes, you have to turn on the Digital TV then Analog TV and then radio. 2) To listen Analog TV I need changed to NTSC standard and then PAL-Nc (the norm in my country is PAL-Nc). If I leave the tune in NTSC no problem with sound. The patch (https://linuxtv.org/patch/9505/) corrects the latter, but not always. 3) If I see-Digital TV (ISDB-T), then so as to listen the radio I have first put the TV-Analog, because I hear very low and a strong white noise. The latter is likely to be corrected by resetting the tuner, but I have not been able to do. Thank you, Alfredo Signed-off-by: Alfredo J. Delaitialfredodela...@netscape.net diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index 79f20c8..f97002a 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -574,6 +574,8 @@ struct cx23885_board cx23885_boards[] = { .name = Mygica X8502/X8507 ISDB-T, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, + .radio_type = TUNER_XC5000, + .radio_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .portb = CX23885_MPEG_DVB, @@ -603,6 +605,10 @@ struct cx23885_board cx23885_boards[] = { .amux = CX25840_AUDIO7, }, }, + .radio = { +.type= CX23885_RADIO, +.amux= CX25840_AUDIO8, + }, }, [CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL] = { .name = TerraTec Cinergy T PCIe Dual, diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c index 0549205..b09d97f 100644 --- a/drivers/media/pci/cx23885/cx23885-dvb.c +++ b/drivers/media/pci/cx23885/cx23885-dvb.c @@ -505,6 +505,7 @@ static struct mb86a20s_config mygica_x8507_mb86a20s_config = { static struct xc5000_config mygica_x8507_xc5000_config = { .i2c_address = 0x61, .if_khz = 4000, + .radio_input = XC5000_RADIO_FM1, }; static struct stv090x_config prof_8000_stv090x_config = {
Re: cx23885: Add basic analog radio support
Hi all El 31/10/13 07:12, Mauro Carvalho Chehab escribió: Em Fri, 04 Oct 2013 15:56:23 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi all El 14/01/12 15:25, Miroslav Slugeň escribió: New version of patch, fixed video modes for DVR3200 tuners and working audio mux. I tested this patch (https://linuxtv.org/patch/9498/) with the latest versions of git (September 28, 2013) with my TV card (Mygica X8507) and it works. I found some issue, although it may be through a bad implementation of mine. Details of them: 1) Some warning when compiling ... CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.o /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: : initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_tuner') [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_audio') [enabled by default] CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-vbi.o ... static const struct v4l2_ioctl_ops radio_ioctl_ops = { .vidioc_s_tuner = radio_s_tuner, /* line 1910 */ .vidioc_s_audio = radio_s_audio, /* line 1911 */ 2) No reports signal strength or stereo signal with KRadio. XC5000 neither reported (modprobe xc5000 debug=1). Maybe a feature XC5000. To listen in stereo, sometimes, you have to turn on the Digital TV then Analog TV and then radio. 3) To listen Analog TV I need changed to NTSC standard and then PAL-Nc (the norm in my country is PAL-Nc). If I leave the tune in NTSC no problem with sound. The patch (https://linuxtv.org/patch/9505/) corrects the latter, if used tvtime with xawtv not always. If I see-Digital TV (ISDB-T), then so as to listen the radio I have first put the TV-Analog, because I hear very low and a strong white noise. The latter is likely to be corrected by resetting the tuner, I have to study it more. I put below attached the patch applied to the plate: X8507. Have you done any update of this patch? Hi Alfredo, My understanding is that the patch you've enclosed is incomplete and depends on Miroslav's patch. If so. My intention was to support the work of Miroslav, indicating that it could be used in another plate, with the problems I encountered with the implementation I did. Unfortunately, Mirslav no longer working on it. See the last message sent by him. As he have you his ack to rework on it, could you please prepare a patch series addressing the above comments for us to review? Than I can put back the patch from Miroslav, general support radio (but no for any card particular) and adapted to the latest versions of the drivers that are in git, and in a second patch, again, put the particular patch Mygica X8507. I did not put in the subject Patch because as I said, has some bugs. Is it right to put in the subject Patch when is something incomplete? Regards, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: Add basic analog radio support
Hi Miroslav El 19/10/13 12:58, Miroslav Slugeň escribió: Hi, i am not using those devices anymore for analog, we do change our devices to SDR and SW demodulation, but i am sending my latest patches all for kernel 3.2.XX Feel free to resubmit any kind of my code by your name ;) Miroslav Slugeň +420 724 825 885 Thanks you Miroslav, but is your code. Regards, Alfredo Alfredo Jesús Delaiti napsal(a): Hi all El 14/01/12 15:25, Miroslav Slugeň escribió: New version of patch, fixed video modes for DVR3200 tuners and working audio mux. I tested this patch (https://linuxtv.org/patch/9498/) with the latest versions of git (September 28, 2013) with my TV card (Mygica X8507) and it works. I found some issue, although it may be through a bad implementation of mine. Details of them: 1) Some warning when compiling ... CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.o /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: : initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_tuner') [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_audio') [enabled by default] CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-vbi.o ... static const struct v4l2_ioctl_ops radio_ioctl_ops = { .vidioc_s_tuner = radio_s_tuner, /* line 1910 */ .vidioc_s_audio = radio_s_audio, /* line 1911 */ 2) No reports signal strength or stereo signal with KRadio. XC5000 neither reported (modprobe xc5000 debug=1). Maybe a feature XC5000. To listen in stereo, sometimes, you have to turn on the Digital TV then Analog TV and then radio. 3) To listen Analog TV I need changed to NTSC standard and then PAL-Nc (the norm in my country is PAL-Nc). If I leave the tune in NTSC no problem with sound. The patch (https://linuxtv.org/patch/9505/) corrects the latter, if used tvtime with xawtv not always. If I see-Digital TV (ISDB-T), then so as to listen the radio I have first put the TV-Analog, because I hear very low and a strong white noise. The latter is likely to be corrected by resetting the tuner, I have to study it more. I put below attached the patch applied to the plate: X8507. Have you done any update of this patch? Thanks -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] cx23885: Add radio support for MyGica x8507
Hi Nicolás El 18/10/13 17:47, Nicolás Sugino escribió: From: Sugino Nicolas Date: Fri, 18 Oct 2013 17:37:00 -0300 Subject: [PATCH] cx23885: Add radio support for MyGica x8507 This patch allows radio capture for the cx23885 driver with the MyGica x8507 card diff -rcNP a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c *** a/drivers/media/pci/cx23885/cx23885-cards.c 2013-10-18 17:17:43.257083061 -0300 --- b/drivers/media/pci/cx23885/cx23885-cards.c 2013-10-18 16:10:04.124085546 -0300 *** *** 531,536 --- 541,548 .name = Mygica X8502/X8507 ISDB-T, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, + .radio_type = TUNER_XC5000, + .radio_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .portb = CX23885_MPEG_DVB, *** *** 559,564 --- 571,580 CX25840_VIN7_CH3, .amux = CX25840_AUDIO7, }, + { + .type = CX23885_RADIO, + .amux= CX25840_AUDIO8, + }, }, }, [CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL] = { diff -rcNP a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c *** a/drivers/media/pci/cx23885/cx23885-dvb.c 2013-10-18 17:17:43.281083064 -0300 --- b/drivers/media/pci/cx23885/cx23885-dvb.c 2013-10-18 16:01:10.171036171 -0300 *** *** 500,505 --- 505,511 static struct xc5000_config mygica_x8507_xc5000_config = { .i2c_address = 0x61, .if_khz = 4000, + .radio_input = XC5000_RADIO_FM1, }; static struct stv090x_config prof_8000_stv090x_config = { diff -rcNP a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c *** a/drivers/media/pci/cx23885/cx23885-video.c 2013-10-18 17:17:43.288083064 -0300 --- b/drivers/media/pci/cx23885/cx23885-video.c 2013-10-18 17:01:53.787051023 -0300 *** *** 904,909 --- 904,916 sizeof(struct cx23885_buffer), fh, NULL); + if(dev-board == CX23885_BOARD_MYGICA_X8507) { + if (fh-radio) { + dprintk(1,video_open: setting radio device\n); + call_all(dev, tuner, s_radio); + } + } dprintk(1, post videobuf_queue_init()\n); *** *** 1634,1639 --- 1641,1746 } + static int radio_querycap (struct file *file, void *priv, + struct v4l2_capability *cap) + { + struct cx23885_dev *dev = ((struct cx23885_fh *)priv)-dev; + + strcpy(cap-driver, cx23885); + strlcpy(cap-card, cx23885_boards[dev-board].name, sizeof(cap-card)); + sprintf(cap-bus_info,PCIe:%s, pci_name(dev-pci)); + cap-capabilities = V4L2_CAP_TUNER; + return 0; + } + + static int radio_g_tuner (struct file *file, void *priv, + struct v4l2_tuner *t) + { + struct cx23885_dev *dev = ((struct cx23885_fh *)priv)-dev; + + if (unlikely(t-index 0)) + return -EINVAL; + + strcpy(t-name, Radio); + t-type = V4L2_TUNER_RADIO; + + call_all(dev, tuner, g_tuner, t); + return 0; + } + + static int radio_enum_input (struct file *file, void *priv, + struct v4l2_input *i) + { + if (i-index != 0) + return -EINVAL; + strcpy(i-name,Radio); + i-type = V4L2_INPUT_TYPE_TUNER; + + return 0; + } + + static int radio_g_audio (struct file *file, void *priv, struct v4l2_audio *a) + { + if (unlikely(a-index)) + return -EINVAL; + + strcpy(a-name,Radio); + return 0; + } + + /* FIXME: Should add a standard for radio */ + static int radio_s_tuner (struct file *file, void *priv, + struct v4l2_tuner *t) + { + struct cx23885_dev *dev = ((struct cx23885_fh *)priv)-dev; + + if (0 != t-index) + return -EINVAL; + + call_all(dev, tuner, s_tuner, t); + + return 0; + } + + static int radio_s_audio (struct file *file, void *fh, + struct v4l2_audio *a) + { + return 0; + } + + static int radio_s_input (struct file *file, void *fh, unsigned int i) + { + return 0; + } + + static int radio_queryctrl (struct file *file, void *priv, +struct v4l2_queryctrl *c) + { + int i; + + if (c-id V4L2_CID_BASE || + c-id = V4L2_CID_LASTP1) + return -EINVAL; + if (c-id == V4L2_CID_AUDIO_MUTE || + c-id == V4L2_CID_AUDIO_VOLUME || + c-id == V4L2_CID_AUDIO_BALANCE) { + for (i = 0; i CX23885_CTLS; i++) { + if (cx23885_ctls[i].v.id == c-id) + break; + } + if (i == CX23885_CTLS) { + *c = no_ctl; + return 0; + } + *c = cx23885_ctls[i].v; + } else + *c = no_ctl; + return 0; + } + + /* --- */ static void cx23885_vid_timeout(unsigned long data) { *** *** 1774,1779 --- 1881,1906 .tvnorms = CX23885_NORMS, }; + static const struct v4l2_ioctl_ops radio_ioctl_ops = { + .vidioc_querycap = radio_querycap, + .vidioc_g_tuner = radio_g_tuner, + .vidioc_enum_input= radio_enum_input, + .vidioc_g_audio = radio_g_audio, + .vidioc_s_tuner = radio_s_tuner, + .vidioc_s_audio = radio_s_audio, + .vidioc_s_input = radio_s_input, + .vidioc_queryctrl = radio_queryctrl, + .vidioc_g_ctrl= vidioc_g_ctrl, + .vidioc_s_ctrl= vidioc_s_ctrl, + .vidioc_g_frequency = vidioc_g_frequency, +
Re: cx23885: Add basic analog radio support
Hi all El 14/01/12 15:25, Miroslav Slugeň escribió: New version of patch, fixed video modes for DVR3200 tuners and working audio mux. I tested this patch (https://linuxtv.org/patch/9498/) with the latest versions of git (September 28, 2013) with my TV card (Mygica X8507) and it works. I found some issue, although it may be through a bad implementation of mine. Details of them: 1) Some warning when compiling ... CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.o /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: : initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1910:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_tuner') [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: initialization from incompatible pointer type [enabled by default] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-video.c:1911:8: warning: (near initialization for 'radio_ioctl_ops.vidioc_s_audio') [enabled by default] CC [M] /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/cx23885-vbi.o ... static const struct v4l2_ioctl_ops radio_ioctl_ops = { .vidioc_s_tuner = radio_s_tuner, /* line 1910 */ .vidioc_s_audio = radio_s_audio, /* line 1911 */ 2) No reports signal strength or stereo signal with KRadio. XC5000 neither reported (modprobe xc5000 debug=1). Maybe a feature XC5000. To listen in stereo, sometimes, you have to turn on the Digital TV then Analog TV and then radio. 3) To listen Analog TV I need changed to NTSC standard and then PAL-Nc (the norm in my country is PAL-Nc). If I leave the tune in NTSC no problem with sound. The patch (https://linuxtv.org/patch/9505/) corrects the latter, if used tvtime with xawtv not always. If I see-Digital TV (ISDB-T), then so as to listen the radio I have first put the TV-Analog, because I hear very low and a strong white noise. The latter is likely to be corrected by resetting the tuner, I have to study it more. I put below attached the patch applied to the plate: X8507. Have you done any update of this patch? Thanks .../media/pci/cx23885/{ = }/media/pci/cx23885/cx23885-cards.c |6 ++ drivers/media/pci/cx23885/{ = }/media/pci/cx23885/cx23885-dvb.c |1 + 2 files changed, 7 insertions(+) diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index 6a71a96..324809a 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -526,16 +526,18 @@ struct cx23885_board cx23885_boards[] = { .amux = CX25840_AUDIO7, .gpio0 = 0, } }, }, [CX23885_BOARD_MYGICA_X8507] = { .name = Mygica X8502/X8507 ISDB-T, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, + .radio_type = TUNER_XC5000, + .radio_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .portb = CX23885_MPEG_DVB, .input = { { .type = CX23885_VMUX_TELEVISION, .vmux = CX25840_COMPOSITE2, .amux = CX25840_AUDIO8, @@ -555,16 +557,20 @@ struct cx23885_board cx23885_boards[] = { .type = CX23885_VMUX_COMPONENT, .vmux = CX25840_COMPONENT_ON | CX25840_VIN1_CH1 | CX25840_VIN6_CH2 | CX25840_VIN7_CH3, .amux = CX25840_AUDIO7, }, }, + .radio = { +.type= CX23885_RADIO, +.amux= CX25840_AUDIO8, + }, }, [CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL] = { .name = TerraTec Cinergy T PCIe Dual, .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, [CX23885_BOARD_TEVII_S471] = { .name = TeVii S471, diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c index 971e4ff..4e946b2 100644 --- a/drivers/media/pci/cx23885/cx23885-dvb.c +++ b/drivers/media/pci/cx23885/cx23885-dvb.c @@ -495,16 +495,17 @@ static struct xc5000_config mygica_x8506_xc5000_config = { static struct mb86a20s_config mygica_x8507_mb86a20s_config = { .demod_address = 0x10, }; static struct xc5000_config mygica_x8507_xc5000_config = { .i2c_address = 0x61, .if_khz = 4000, + .radio_input = XC5000_RADIO_FM1, }; static struct stv090x_config prof_8000_stv090x_config = { .device = STV0903, .demod_mode = STV090x_SINGLE, .clk_mode = STV090x_CLK_EXT, .xtal = 2700, .address= 0x6A,
Re: [PATCH RFC 0/3] Experimental patches for ISDB-T on Mygica X8502/X8507
El 09/08/13 10:24, Mauro Carvalho Chehab escribió: Em Thu, 08 Aug 2013 21:00:30 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi El 08/08/13 13:51, Mauro Carvalho Chehab escribió: This is a first set of experimental patches for Mygica X8502/X8507. The last patch is just a very dirty hack, for testing purposes. I intend to get rid of it, but it is there to replace exactly the same changes that Alfredo reported to work on Kernel 3.2. I intend to remove it on a final series, eventually replacing by some other changes at mb86a20s. Alfredo, Please test, and send your tested-by, if this works for you. tested-by: Alfredo Delaiti alfredodela...@netscape.net two comments: two breaks: @@ -1106,6 +1112,8 @@ static int dvb_register(struct cx23885_tsport *port) i2c_bus2-i2c_adap, mygica_x8506_xc5000_config); } + cx23885_set_frontend_hook(port, fe0-dvb.frontend); + break; break; and I would add this on cx23885-cards.c (is not a patch): case CX23885_BOARD_MYGICA_X8506: case CX23885_BOARD_MAGICPRO_PROHDTVE2: case CX23885_BOARD_MYGICA_X8507: /* GPIO-0 (0)Analog / (1)Digital TV */ /* GPIO-1 reset XC5000 */ -/* GPIO-2 reset LGS8GL5 / LGS8G75 */ +/* GPIO-2 reset LGS8GL5 / LGS8G75 / MB86A20S */ cx23885_gpio_enable(dev, GPIO_0 | GPIO_1 | GPIO_2, 1); cx23885_gpio_clear(dev, GPIO_1 | GPIO_2); mdelay(100); cx23885_gpio_set(dev, GPIO_0 | GPIO_1 | GPIO_2); mdelay(100); break; Thanks again Mauro, Thank you for your tests. I just pushed a new patch series addressing the above, and getting rid of the horrible mb86a20s hack. Please test it again, to see if the mb86a20s fixes also worked for you. Thanks! Mauro Thanks, it works, and now more faster, and I only tested with last driver that have on git://linuxtv.org/media_build.git I hope with happiness see those patch on new kernels. Again,Thannks Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH RFC 0/3] Experimental patches for ISDB-T on Mygica X8502/X8507
Hi El 08/08/13 13:51, Mauro Carvalho Chehab escribió: This is a first set of experimental patches for Mygica X8502/X8507. The last patch is just a very dirty hack, for testing purposes. I intend to get rid of it, but it is there to replace exactly the same changes that Alfredo reported to work on Kernel 3.2. I intend to remove it on a final series, eventually replacing by some other changes at mb86a20s. Alfredo, Please test, and send your tested-by, if this works for you. tested-by: Alfredo Delaiti alfredodela...@netscape.net two comments: two breaks: @@ -1106,6 +1112,8 @@ static int dvb_register(struct cx23885_tsport *port) i2c_bus2-i2c_adap, mygica_x8506_xc5000_config); } + cx23885_set_frontend_hook(port, fe0-dvb.frontend); + break; break; and I would add this on cx23885-cards.c (is not a patch): case CX23885_BOARD_MYGICA_X8506: case CX23885_BOARD_MAGICPRO_PROHDTVE2: case CX23885_BOARD_MYGICA_X8507: /* GPIO-0 (0)Analog / (1)Digital TV */ /* GPIO-1 reset XC5000 */ -/* GPIO-2 reset LGS8GL5 / LGS8G75 */ +/* GPIO-2 reset LGS8GL5 / LGS8G75 / MB86A20S */ cx23885_gpio_enable(dev, GPIO_0 | GPIO_1 | GPIO_2, 1); cx23885_gpio_clear(dev, GPIO_1 | GPIO_2); mdelay(100); cx23885_gpio_set(dev, GPIO_0 | GPIO_1 | GPIO_2); mdelay(100); break; Thanks again Mauro, Alfredo Thanks! Mauro Mauro Carvalho Chehab (3): cx23885-dvb: use a better approach to hook set_frontend cx23885: Add DTV support for Mygica X8502/X8507 boards mb86a20s: hack it to emulate what x8502 driver does drivers/media/dvb-frontends/mb86a20s.c| 100 ++ drivers/media/pci/cx23885/Kconfig | 1 + drivers/media/pci/cx23885/cx23885-cards.c | 4 +- drivers/media/pci/cx23885/cx23885-dvb.c | 49 --- drivers/media/pci/cx23885/cx23885.h | 2 + 5 files changed, 147 insertions(+), 9 deletions(-) -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi El 01/08/13 09:04, Mauro Carvalho Chehab escribió: I found the patch that affects the X8507 board is: commit a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): c6f56e7 [media] dvb: don't use DVBv3 bandwidth macros HEAD is now at c6f56e7 [media] dvb: don't use DVBv3 bandwidth macros alfredo@linux-puon:/usr/src/git/linux git bisect good a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb is the first bad commit commit a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb Author: Mauro Carvalho Chehab mchehab redhat.com Date: Mon Dec 26 20:48:54 2011 -0300 [media] cx23885-dvb: Remove a dirty hack that would require DVBv3 The cx23885-dvb driver has a dirty hack: 1) it hooks the DVBv3 legacy call to FE_SET_FRONTEND; 2) it uses internally the DVBv3 struct to decide some configs. Replace it by a change during the gate control. This will likely work, but requires testing. Anyway, the current way will break, as soon as we stop copying data for DVBv3 for pure DVBv5 calls. Compile-tested only. Cc: Michael Krufky mkrufky linuxtv.org Signed-off-by: Mauro Carvalho Chehab mchehab redhat.com :04 04 6d0695eb9e59b837425ed64d4e2be6625864b609 89700b867069ec0ad2713367e607763e91798e98 M drivers I manually removed the patch, then the TV card works. Unfortunately my lack of knowledge prevents me fix it. I test new code with pleasure :) ! Hi Alfredo, Please send me the patches you've made to make isdb-t work on it, and I'll try to address this issue. Regards, Mauro Mauro thank you very much for your interest. I send the patch. 3.2 is on a kernel. --- .../{ = }/media/dvb/frontends/mb86a20s.c | 332 ++-- .../{ = }/media/video/cx23885/cx23885-cards.c | 38 +++ .../{ = }/media/video/cx23885/cx23885-dvb.c | 26 ++ .../{ = }/media/video/cx23885/cx23885-video.c |1 + .../cx23885/{ = }/media/video/cx23885/cx23885.h |1 + 5 files changed, 163 insertions(+), 235 deletions(-) diff --git a/drivers/media/dvb/frontends/mb86a20s.c b/drivers/media/dvb/frontends/mb86a20s.c index 0f867a5..26e06b4 100644 --- a/drivers/media/dvb/frontends/mb86a20s.c +++ b/drivers/media/dvb/frontends/mb86a20s.c @@ -47,271 +47,133 @@ struct mb86a20s_state { bool need_init; }; struct regdata { u8 reg; u8 data; }; /* * Initialization sequence: Use whatevere default values that PV SBTVD * does on its initialisation, obtained via USB snoop */ static struct regdata mb86a20s_init[] = { { 0x70, 0x0f }, { 0x70, 0xff }, -{ 0x08, 0x01 }, -{ 0x09, 0x3e }, -{ 0x50, 0xd1 }, -{ 0x51, 0x22 }, -{ 0x39, 0x01 }, -{ 0x71, 0x00 }, -{ 0x28, 0x2a }, -{ 0x29, 0x00 }, -{ 0x2a, 0xff }, -{ 0x2b, 0x80 }, -{ 0x28, 0x20 }, -{ 0x29, 0x33 }, -{ 0x2a, 0xdf }, -{ 0x2b, 0xa9 }, +{ 0x09, 0x3a }, +{ 0x50, 0xd1 }, { 0x51, 0x22 }, +{ 0x39, 0x00 }, +{ 0x28, 0x2a }, { 0x29, 0x00 }, { 0x2a, 0xfd }, { 0x2b, 0xc8 }, { 0x3b, 0x21 }, -{ 0x3c, 0x3a }, +{ 0x3c, 0x38 }, +{ 0x28, 0x20 }, { 0x29, 0x3e }, { 0x2a, 0xde }, { 0x2b, 0x4d }, +{ 0x28, 0x22 }, { 0x29, 0x00 }, { 0x2a, 0x1f }, { 0x2b, 0xf0 }, { 0x01, 0x0d }, -{ 0x04, 0x08 }, -{ 0x05, 0x05 }, -{ 0x04, 0x0e }, -{ 0x05, 0x00 }, -{ 0x04, 0x0f }, -{ 0x05, 0x14 }, -{ 0x04, 0x0b }, -{ 0x05, 0x8c }, -{ 0x04, 0x00 }, -{ 0x05, 0x00 }, -{ 0x04, 0x01 }, -{ 0x05, 0x07 }, -{ 0x04, 0x02 }, -{ 0x05, 0x0f }, -{ 0x04, 0x03 }, -{ 0x05, 0xa0 }, -{ 0x04, 0x09 }, -{ 0x05, 0x00 }, -{ 0x04, 0x0a }, -{ 0x05, 0xff }, -{ 0x04, 0x27 }, -{ 0x05, 0x64 }, -{ 0x04, 0x28 }, -{ 0x05, 0x00 }, -{ 0x04, 0x1e }, -{ 0x05, 0xff }, -{ 0x04, 0x29 }, -{ 0x05, 0x0a }, -{ 0x04, 0x32 }, -{ 0x05, 0x0a }, -{ 0x04, 0x14 }, -{ 0x05, 0x02 }, -{ 0x04, 0x04 }, -{ 0x05, 0x00 }, -{ 0x04, 0x05 }, -{ 0x05, 0x22 }, -{ 0x04, 0x06 }, -{ 0x05, 0x0e }, -{ 0x04, 0x07 }, -{ 0x05, 0xd8 }, -{ 0x04, 0x12 }, -{ 0x05, 0x00 }, -{ 0x04, 0x13 }, -{ 0x05, 0xff }, +{ 0x04, 0x08 }, { 0x05, 0x03 }, +{ 0x04, 0x0e }, { 0x05, 0x00 }, +{ 0x04, 0x0f }, { 0x05, 0x32 }, +{ 0x04, 0x0b }, { 0x05, 0x78 }, +{ 0x04, 0x00 }, { 0x05, 0x00 }, +{ 0x04, 0x01 }, { 0x05, 0x1e }, +{ 0x04, 0x02 }, { 0x05, 0x07 }, +{ 0x04, 0x03 }, { 0x05, 0xd0 }, +{ 0x04, 0x09 }, { 0x05, 0x00 }, +{ 0x04, 0x0a }, { 0x05, 0xff }, +{ 0x04, 0x27 }, { 0x05, 0x00 }, +{ 0x04, 0x28 }, { 0x05, 0x00 }, +{ 0x04, 0x1e }, { 0x05, 0x00 }, +{ 0x04, 0x29 }, { 0x05, 0x64 }, +{ 0x04, 0x32 }, { 0x05, 0x64 }, +{ 0x04, 0x14 }, { 0x05, 0x02 }, +{ 0x04, 0x04 }, { 0x05, 0x00
Re: mb86a20s and cx23885
Hi El 01/08/13 14:37, Mauro Carvalho Chehab escribió: Em Thu, 01 Aug 2013 14:16:32 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi El 01/08/13 09:04, Mauro Carvalho Chehab escribió: I found the patch that affects the X8507 board is: commit a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): c6f56e7 [media] dvb: don't use DVBv3 bandwidth macros HEAD is now at c6f56e7 [media] dvb: don't use DVBv3 bandwidth macros alfredo@linux-puon:/usr/src/git/linux git bisect good a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb is the first bad commit commit a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb Author: Mauro Carvalho Chehab mchehab redhat.com Date: Mon Dec 26 20:48:54 2011 -0300 [media] cx23885-dvb: Remove a dirty hack that would require DVBv3 The cx23885-dvb driver has a dirty hack: 1) it hooks the DVBv3 legacy call to FE_SET_FRONTEND; 2) it uses internally the DVBv3 struct to decide some configs. Replace it by a change during the gate control. This will likely work, but requires testing. Anyway, the current way will break, as soon as we stop copying data for DVBv3 for pure DVBv5 calls. Compile-tested only. Cc: Michael Krufky mkrufky linuxtv.org Signed-off-by: Mauro Carvalho Chehab mchehab redhat.com :04 04 6d0695eb9e59b837425ed64d4e2be6625864b609 89700b867069ec0ad2713367e607763e91798e98 M drivers I manually removed the patch, then the TV card works. Unfortunately my lack of knowledge prevents me fix it. I test new code with pleasure :) ! Hi Alfredo, Please send me the patches you've made to make isdb-t work on it, and I'll try to address this issue. Regards, Mauro Mauro thank you very much for your interest. I send the patch. 3.2 is on a kernel. --- .../{ = }/media/dvb/frontends/mb86a20s.c | 332 ++-- Hmm... unfortunately, your emailer broke the patch. It made a total mess with whitespaces. Could you please resend it in a way that whitespaces won't be damaged? Otherwise, patch tool won't apply it. Cheers, Mauro GR I send attached, I hope it will not break this time. Again, Thanks Alfredo .../{ = }/media/dvb/frontends/mb86a20s.c | 332 ++-- .../{ = }/media/video/cx23885/cx23885-cards.c | 38 +++ .../{ = }/media/video/cx23885/cx23885-dvb.c | 26 ++ .../{ = }/media/video/cx23885/cx23885-video.c |1 + .../cx23885/{ = }/media/video/cx23885/cx23885.h |1 + 5 files changed, 163 insertions(+), 235 deletions(-) diff --git a/drivers/media/dvb/frontends/mb86a20s.c b/drivers/media/dvb/frontends/mb86a20s.c index 0f867a5..26e06b4 100644 --- a/drivers/media/dvb/frontends/mb86a20s.c +++ b/drivers/media/dvb/frontends/mb86a20s.c @@ -47,271 +47,133 @@ struct mb86a20s_state { bool need_init; }; struct regdata { u8 reg; u8 data; }; /* * Initialization sequence: Use whatevere default values that PV SBTVD * does on its initialisation, obtained via USB snoop */ static struct regdata mb86a20s_init[] = { { 0x70, 0x0f }, { 0x70, 0xff }, - { 0x08, 0x01 }, - { 0x09, 0x3e }, - { 0x50, 0xd1 }, - { 0x51, 0x22 }, - { 0x39, 0x01 }, - { 0x71, 0x00 }, - { 0x28, 0x2a }, - { 0x29, 0x00 }, - { 0x2a, 0xff }, - { 0x2b, 0x80 }, - { 0x28, 0x20 }, - { 0x29, 0x33 }, - { 0x2a, 0xdf }, - { 0x2b, 0xa9 }, + { 0x09, 0x3a }, + { 0x50, 0xd1 }, { 0x51, 0x22 }, + { 0x39, 0x00 }, + { 0x28, 0x2a }, { 0x29, 0x00 }, { 0x2a, 0xfd }, { 0x2b, 0xc8 }, { 0x3b, 0x21 }, - { 0x3c, 0x3a }, + { 0x3c, 0x38 }, + { 0x28, 0x20 }, { 0x29, 0x3e }, { 0x2a, 0xde }, { 0x2b, 0x4d }, + { 0x28, 0x22 }, { 0x29, 0x00 }, { 0x2a, 0x1f }, { 0x2b, 0xf0 }, { 0x01, 0x0d }, - { 0x04, 0x08 }, - { 0x05, 0x05 }, - { 0x04, 0x0e }, - { 0x05, 0x00 }, - { 0x04, 0x0f }, - { 0x05, 0x14 }, - { 0x04, 0x0b }, - { 0x05, 0x8c }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x04, 0x01 }, - { 0x05, 0x07 }, - { 0x04, 0x02 }, - { 0x05, 0x0f }, - { 0x04, 0x03 }, - { 0x05, 0xa0 }, - { 0x04, 0x09 }, - { 0x05, 0x00 }, - { 0x04, 0x0a }, - { 0x05, 0xff }, - { 0x04, 0x27 }, - { 0x05, 0x64 }, - { 0x04, 0x28 }, - { 0x05, 0x00 }, - { 0x04, 0x1e }, - { 0x05, 0xff }, - { 0x04, 0x29 }, - { 0x05, 0x0a }, - { 0x04, 0x32 }, - { 0x05, 0x0a }, - { 0x04, 0x14 }, - { 0x05, 0x02 }, - { 0x04, 0x04 }, - { 0x05, 0x00 }, - { 0x04, 0x05 }, - { 0x05, 0x22 }, - { 0x04, 0x06 }, - { 0x05, 0x0e }, - { 0x04, 0x07 }, - { 0x05, 0xd8 }, - { 0x04, 0x12 }, - { 0x05, 0x00 }, - { 0x04, 0x13 }, - { 0x05, 0xff }, + { 0x04, 0x08 }, { 0x05, 0x03 }, + { 0x04, 0x0e }, { 0x05, 0x00 }, + { 0x04, 0x0f }, { 0x05, 0x32 }, + { 0x04, 0x0b }, { 0x05, 0x78 }, + { 0x04, 0x00 }, { 0x05, 0x00 }, + { 0x04, 0x01 }, { 0x05, 0x1e }, + { 0x04, 0x02 }, { 0x05, 0x07 }, + { 0x04, 0x03 }, { 0x05, 0xd0 }, + { 0x04, 0x09
Re: mb86a20s and cx23885
Hi El 01/08/13 15:48, Mauro Carvalho Chehab escribió: This time it arrived fine, thanks! Btw, those changes at mb86a20s are required for it to work, or just alters somewhat the tuning? Regards, Mauro Without these changes do not work. With the original controller I get: mb86a20s: mb86a20s_read_status: val = 9, status = 0x1f but not video, not sound. That is the reason why I tested with kernel 3.2. Those changes I got to sniff the i2c traffic under windows. I have all traffic from i2c until obtaining image(I did it as the more repetitive than 10 samples). If it helps something I put on the list. Also I use modprobe cx23885 debug = 3, but I saw nothing significant Thanks, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi El 17/07/13 16:23, Mauro Carvalho Chehab escribió: No. You'll need to clone the entire kernel tree (either Linus one or mine). The build system at the Kernel will rebuild an entire Kernel image. You'll then need to boot that new image. That takes some machine time, but, after the first compilation, the subsequent compilations are faster. I recommend you to use a minimal .config file for the compilation, as this speeds up a lot the time to compile the Kernel. Here, I use this small script to produce such mini-kernel: http://ftp.suse.com/pub/people/tiwai/misc/diet-kconfig After running it (and using the default for whatever question it asks me), I do a make menuconfig, to be sure that the media drivers and options I want are there. In summary, what I suggest is: $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ git checkout v3.2 $ git bisect good $ diet-kconfig $ make menuconfig select what is missed at media stuff $ make make modules install make install reboot after reboot check if everything is ok $ git bisect bad v3.4 repeat: $ make make modules install make install reboot it will likely ask you about some new drivers = it is generally safe to just let the default - just be more careful with the media menuconfig items test the kernel: if OK: $ git bisect good if BAD: $ git bisect bad if git bisect answers that there are xxx bisects left, then goto repeat After running the above, git bisect will put its fingers on the broken patch. Cheers, Mauro -- I found the patch that affects the X8507 board is: commit a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): c6f56e7 [media] dvb: don't use DVBv3 bandwidth macros HEAD is now at c6f56e7 [media] dvb: don't use DVBv3 bandwidth macros alfredo@linux-puon:/usr/src/git/linux git bisect good a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb is the first bad commit commit a7d44baaed0a8c7d4c4fb47938455cb3fc2bb1eb Author: Mauro Carvalho Chehab mche...@redhat.com Date: Mon Dec 26 20:48:54 2011 -0300 [media] cx23885-dvb: Remove a dirty hack that would require DVBv3 The cx23885-dvb driver has a dirty hack: 1) it hooks the DVBv3 legacy call to FE_SET_FRONTEND; 2) it uses internally the DVBv3 struct to decide some configs. Replace it by a change during the gate control. This will likely work, but requires testing. Anyway, the current way will break, as soon as we stop copying data for DVBv3 for pure DVBv5 calls. Compile-tested only. Cc: Michael Krufky mkru...@linuxtv.org Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com :04 04 6d0695eb9e59b837425ed64d4e2be6625864b609 89700b867069ec0ad2713367e607763e91798e98 M drivers I manually removed the patch, then the TV card works. Unfortunately my lack of knowledge prevents me fix it. I test new code with pleasure :) ! Thanks, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi As was a compilation error, I used git bisect skip. From what I've come up with something that I think is not what I'm looking for. Is it advisable to do it again? and where you get an error trying to git bisect bad and see where it arrived and then git bisec good again. what I got was: ... alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): a08d2c7 [media] pwc: Remove driver specific ioctls HEAD is now at a08d2c7 [media] pwc: Remove driver specific ioctls alfredo@linux-puon:/usr/src/git/linux git bisect bad Bisecting: 92 revisions left to test after this (roughly 7 steps) [38e3d7ce41cff58bacebb2bcecf7d386c60b954b] [media] cx23885: Ensure the MPEG encoder height is configured from the norm alfredo@linux-puon:/usr/src/git/linux ... alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): 38e3d7c [media] cx23885: Ensure the MPEG encoder height is configured from the norm HEAD is now at 38e3d7c [media] cx23885: Ensure the MPEG encoder height is configured from the norm alfredo@linux-puon:/usr/src/git/linux git bisect bad Bisecting: 45 revisions left to test after this (roughly 6 steps) [f9e54512fd16379812bcff86d95d0a7d78028b20] [media] af9005-fe: convert set_fontend to use DVBv5 parameters alfredo@linux-puon:/usr/src/git/linux ... alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): f9e5451 [media] af9005-fe: convert set_fontend to use DVBv5 parameters HEAD is now at f9e5451 [media] af9005-fe: convert set_fontend to use DVBv5 parameters alfredo@linux-puon:/usr/src/git/linux git bisect good Bisecting: 22 revisions left to test after this (roughly 5 steps) [8de8594a79ae43b08d115c94f09373f6c673f202] [media] dvb-core: be sure that drivers won't use DVBv3 internally alfredo@linux-puon:/usr/src/git/linux ... alfredo@linux-puon:/usr/src/git/linux make CHK include/linux/version.h CHK include/generated/utsrelease.h CALLscripts/checksyscalls.sh CHK include/generated/compile.h CHK kernel/config_data.h CC fs/compat_ioctl.o fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: array type has incomplete element type fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: array type has incomplete element type fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: array type has incomplete element type fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: array type has incomplete element type fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: array type has incomplete element type fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: array type has incomplete element type fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: array type has incomplete element type fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct
Re: mb86a20s and cx23885
Hi I forgot, in this section I put BAD because not have picture or sound, but if signal. alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): 2827e1f [media] tlg2300: convert set_fontend to use DVBv5 parameters HEAD is now at 2827e1f [media] tlg2300: convert set_fontend to use DVBv5 parameters alfredo@linux-puon:/usr/src/git/linux git bisect bad /*apear tunner, but not tunner*/ Bisecting: 4 revisions left to test after this (roughly 3 steps) [4fa102d5cc5b412fa3bc7cc8c24e4d9052e4f693] [media] vp702x-fe: convert set_fontend to use DVBv5 parameters Is there a way to return to after with bisect without compile all? Thanks, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi Mauro It has given me the following error: alfredo@linux-puon:/usr/src/git/linux git stash Saved working directory and index state WIP on (no branch): f9e5451 [media] af9005-fe: convert set_fontend to use DVBv5 parameters HEAD is now at f9e5451 [media] af9005-fe: convert set_fontend to use DVBv5 parameters alfredo@linux-puon:/usr/src/git/linux git bisect good Bisecting: 22 revisions left to test after this (roughly 5 steps) [8de8594a79ae43b08d115c94f09373f6c673f202] [media] dvb-core: be sure that drivers won't use DVBv3 internally alfredo@linux-puon:/usr/src/git/linux make CHK include/linux/version.h CHK include/generated/utsrelease.h CALLscripts/checksyscalls.sh CHK include/generated/compile.h CHK kernel/config_data.h CC fs/compat_ioctl.o fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: array type has incomplete element type fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: array type has incomplete element type fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: array type has incomplete element type fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1345:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: array type has incomplete element type fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: array type has incomplete element type fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: array type has incomplete element type fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1346:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_parameters’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: array type has incomplete element type fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: array type has incomplete element type fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: array type has incomplete element type fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ fs/compat_ioctl.c:1347:1: error: invalid application of ‘sizeof’ to incomplete type ‘struct dvb_frontend_event’ make[1]: *** [fs/compat_ioctl.o] Error 1 make: *** [fs] Error 2 alfredo@linux-puon:/usr/src/git/linux --- What should I do now? I do not want experiment, since bisect is a very long process. Thank you, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a
Re: mb86a20s and cx23885
Hi all El 17/07/13 16:23, Mauro Carvalho Chehab escribió: No. You'll need to clone the entire kernel tree (either Linus one or mine). The build system at the Kernel will rebuild an entire Kernel image. You'll then need to boot that new image. That takes some machine time, but, after the first compilation, the subsequent compilations are faster. I recommend you to use a minimal .config file for the compilation, as this speeds up a lot the time to compile the Kernel. Here, I use this small script to produce such mini-kernel: http://ftp.suse.com/pub/people/tiwai/misc/diet-kconfig After running it (and using the default for whatever question it asks me), I do a make menuconfig, to be sure that the media drivers and options I want are there. In summary, what I suggest is: $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ git checkout v3.2 $ git bisect good $ diet-kconfig $ make menuconfig select what is missed at media stuff $ make make modules install make install reboot after reboot check if everything is ok $ git bisect bad v3.4 repeat: $ make make modules install make install reboot it will likely ask you about some new drivers = it is generally safe to just let the default - just be more careful with the media menuconfig items test the kernel: if OK: $ git bisect good if BAD: $ git bisect bad if git bisect answers that there are xxx bisects left, then goto repeat After running the above, git bisect will put its fingers on the broken patch. Thank you very much Mauro. A very clear explanation. Without it I do not think I could do well. When finished, I report back what I found Again, thank you very much, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi all El 15/07/13 17:30, Mauro Carvalho Chehab escribió: Em Mon, 15 Jul 2013 16:30:18 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi all After some time trying to see what the problem is, I have found it is not come the RF signal. I've gone back using a 3.2 kernel, after doing a couple of tests, the board works :-) When I try to apply these changes to a 3.4 or later kernel does not tune plate. Between 3.2 and 3.4 kernel there are several changes to the drivers: CX23885, xc5000 and mb86a20s. I tried to cancel several of them on a 3.4 kernel, but I can not make the card tune. If you know already that the breakage happened between 3.2 and 3.4, the better is to use git bisect to discover what patch broke it. Mauro Thanks for the suggestion. This weekend I have some time and I'll study how to implement it. I guess it's do something similar to: ~ $ git clone git://linuxtv.org/media_build.git ~ $ cd media_build ~/media_build $./build --main-git ~/media_build $ cd media ~/media $ gedit drivers/media/video/foo.c ~/media $ make -C ../v4l ~/media $ make -C ../ install ~/media $ make -C .. rmmod ~/media $ modprobe foo You can do (using Linus git tree): git checkout v3.4 git bisect bad git checkout good v3.2 Where is the git tree of Linus in git://git.kernel.org/ or git://linuxtv.org/? Thanks again, Alfredo git bisect will then do a binary search between those two kernels. All you have to do is to recompile the Kernel and test it. Then you'll tag the changeset as bad or good, until the end of the search. In general, you'll discover the changeset responsible for the breakage after a few (8-10) interactions. For more reference, you can take a look, for example, at: http://git-scm.com/book/en/Git-Tools-Debugging-with-Git Regards, Mauro PS.: Someone should fix our wiki, as it is still pointing to hg bisect, instead of pointing to git bisect. The changes I have applied to kernel 3.2 are: -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi all After some time trying to see what the problem is, I have found it is not come the RF signal. I've gone back using a 3.2 kernel, after doing a couple of tests, the board works :-) When I try to apply these changes to a 3.4 or later kernel does not tune plate. Between 3.2 and 3.4 kernel there are several changes to the drivers: CX23885, xc5000 and mb86a20s. I tried to cancel several of them on a 3.4 kernel, but I can not make the card tune. The changes I have applied to kernel 3.2 are: In mb86a20s.c, I replaced the table mb86a20s_init for which I got from windows and linux last. With the two works, although it seems better that I got from Windows, I have to experiment a bit more. Also in Does a binary search to get RF strength I replaced 0x04 for 0x05. On cx23885-card.c .name = Mygica X8507, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, +.portb= CX23885_MPEG_DVB, .input = { case CX23885_BOARD_MYGICA_X8506: case CX23885_BOARD_MAGICPRO_PROHDTVE2: +case CX23885_BOARD_MYGICA_X8507: ts1-gen_ctrl_val = 0x5; /* Parallel */ ts1-ts_clk_en_val = 0x1; /* Enable TS_CLK */ ts1-src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; break; On cx23885-dvb.c #include stv0367.h +#include mb86a20s.h +static struct mb86a20s_config mygica_x8507_mb86a20s_config = { +.demod_address = 0x10, +}; + +static struct xc5000_config mygica_x8507_xc5000_config = { +.i2c_address = 0x61, +.if_khz = 4000, +}; case CX23885_BOARD_MYGICA_X8506: case CX23885_BOARD_MAGICPRO_PROHDTVE2: +case CX23885_BOARD_MYGICA_X8507: /* Select Digital TV */ cx23885_gpio_set(dev, GPIO_0); break; +case CX23885_BOARD_MYGICA_X8507: +i2c_bus = dev-i2c_bus[0]; +i2c_bus2 = dev-i2c_bus[1]; +fe0-dvb.frontend = dvb_attach(mb86a20s_attach, +mygica_x8507_mb86a20s_config, +i2c_bus-i2c_adap); +if (fe0-dvb.frontend != NULL) { +dvb_attach(xc5000_attach, +fe0-dvb.frontend, +i2c_bus2-i2c_adap, +mygica_x8507_xc5000_config); +} +break; With kernel 3.4 or greater (I also tried with the latest drivers from git) looking i2c bus traffic of mb86a20s I get: 0x20 0x0a 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x07 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x03 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x01 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x7f 0x20 0x04 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x3f 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x1f 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x0f 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x07 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x03 0x20 0x02 0x21 0x0a 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x05 0x20 0x02 0x21 0x0a 0x20 0x0a 0x21 0x02 and the kernel 3.2 and windows 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x03 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x01 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0xff 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x7f 0x20 0x02 0x21 0x0a 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0xbf 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x9f 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x3c 0x40 0x04 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x87 0x20 0x02 0x21 0x02 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x83 0x20 0x02 0x21 0x0a 0x20 0x04 0x1f 0x20 0x05 0x00 0x20 0x04 0x20 0x20 0x05 0x85 0x20 0x02 0x21 0x02 Appear not arrived RF signal. From my limited knowledge I can not understand which of the changes between 3.2 and 3.4 kernel affect this. As with kernel 3.2 works, discard configuration problems of: GPIO, signal strength, direction i2c bus and demodulator and intermediate frequency. I am right? Any suggestions or help is very welcome. Thanks in advance, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi all After analyzing 15 samples (took me many days),I obtained the table underneath. { 0x70, 0x0f }, { 0x70, 0xff }, { 0x09, 0x3a }, { 0x50, 0xd1 }, { 0x51, 0x22 }, { 0x39, 0x00 }, { 0x28, 0x2a }, { 0x29, 0x00 }, { 0x2a, 0xfd }, { 0x2b, 0xc8 }, { 0x3b, 0x21 }, { 0x3c, 0x38 }, { 0x28, 0x20 }, { 0x29, 0x3e }, { 0x2a, 0xde }, { 0x2b, 0x4d }, { 0x28, 0x22 }, { 0x29, 0x00 }, { 0x2a, 0x1f }, { 0x2b, 0xf0 }, { 0x01, 0x0d }, { 0x04, 0x08 }, { 0x05, 0x03 }, { 0x04, 0x0e }, { 0x05, 0x00 }, { 0x04, 0x0f }, { 0x05, 0x32 }, { 0x04, 0x0b }, { 0x05, 0x78 }, { 0x04, 0x00 }, { 0x05, 0x00 }, { 0x04, 0x01 }, { 0x05, 0x1e }, { 0x04, 0x02 }, { 0x05, 0x07 }, { 0x04, 0x03 }, { 0x05, 0xd0 }, { 0x04, 0x09 }, { 0x05, 0x00 }, { 0x04, 0x0a }, { 0x05, 0xff }, { 0x04, 0x27 }, { 0x05, 0x00 }, { 0x04, 0x28 }, { 0x05, 0x00 }, { 0x04, 0x1e }, { 0x05, 0x00 }, { 0x04, 0x29 }, { 0x05, 0x64 }, { 0x04, 0x32 }, { 0x05, 0x64 }, { 0x04, 0x14 }, { 0x05, 0x02 }, { 0x04, 0x04 }, { 0x05, 0x00 }, { 0x04, 0x05 }, { 0x05, 0x22 }, { 0x04, 0x06 }, { 0x05, 0x0e }, { 0x04, 0x07 }, { 0x05, 0xd8 }, { 0x04, 0x12 }, { 0x05, 0x00 }, { 0x04, 0x13 }, { 0x05, 0xff }, { 0x52, 0x01 }, { 0x50, 0xa7 }, { 0x51, 0x00 }, { 0x50, 0xa8 }, { 0x51, 0xff }, { 0x50, 0xa9 }, { 0x51, 0xff }, { 0x50, 0xaa }, { 0x51, 0x00 }, { 0x50, 0xab }, { 0x51, 0xff }, { 0x50, 0xac }, { 0x51, 0xff }, { 0x50, 0xad }, { 0x51, 0x00 }, { 0x50, 0xae }, { 0x51, 0xff }, { 0x50, 0xaf }, { 0x51, 0xff }, { 0x5e, 0x07 }, { 0x50, 0xdc }, { 0x51, 0x3f }, { 0x50, 0xdd }, { 0x51, 0xff }, { 0x50, 0xde }, { 0x51, 0x3f }, { 0x50, 0xdf }, { 0x51, 0xff }, { 0x50, 0xe0 }, { 0x51, 0x3f }, { 0x50, 0xe1 }, { 0x51, 0xff }, { 0x50, 0xb0 }, { 0x51, 0x07 }, { 0x50, 0xb2 }, { 0x51, 0x3f }, { 0x50, 0xb3 }, { 0x51, 0xff }, { 0x50, 0xb4 }, { 0x51, 0x3f }, { 0x50, 0xb5 }, { 0x51, 0xff }, { 0x50, 0xb6 }, { 0x51, 0x3f }, { 0x50, 0xb7 }, { 0x51, 0xff }, { 0x50, 0x51 }, { 0x51, 0x04 }, { 0x50, 0x50 }, { 0x51, 0x02 }, { 0x45, 0x04 }, { 0x48, 0x04 }, { 0x50, 0xd5 }, { 0x51, 0x00 }, { 0x50, 0xd6 }, { 0x51, 0x1f }, { 0x50, 0xd2 }, { 0x51, 0x03 }, { 0x50, 0xd7 }, { 0x51, 0x3f }, { 0x28, 0x74 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0xff }, { 0x28, 0x46 }, { 0x29, 0x00 }, { 0x2a, 0x1a }, { 0x2b, 0x0c }, { 0x04, 0x40 }, { 0x05, 0x00 }, { 0x28, 0x00 }, { 0x2b, 0x08 }, { 0x28, 0x05 }, { 0x2b, 0x00 }, { 0x1c, 0x01 }, { 0x28, 0x06 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x1f }, { 0x28, 0x07 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x18 }, { 0x28, 0x08 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x12 }, { 0x28, 0x09 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x30 }, { 0x28, 0x0a }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x37 }, { 0x28, 0x0b }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x02 }, { 0x28, 0x0c }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x09 }, { 0x28, 0x0d }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x06 }, { 0x28, 0x0e }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x7b }, { 0x28, 0x0f }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x76 }, { 0x28, 0x10 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x7d }, { 0x28, 0x11 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x08 }, { 0x28, 0x12 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x0b }, { 0x28, 0x13 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x00 }, { 0x28, 0x14 }, { 0x29, 0x00 }, { 0x2a, 0x01 }, { 0x2b, 0xf2 }, { 0x28, 0x15 }, { 0x29, 0x00 }, { 0x2a, 0x01 }, { 0x2b, 0xf3 }, { 0x28, 0x16 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x05 }, { 0x28, 0x17 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x16 }, { 0x28, 0x18 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x0f }, { 0x28, 0x19 }, { 0x29, 0x00 }, { 0x2a, 0x07 }, { 0x2b, 0xef }, { 0x28, 0x1a }, { 0x29, 0x00 }, { 0x2a, 0x07 }, { 0x2b, 0xd8 }, { 0x28, 0x1b }, { 0x29, 0x00 }, { 0x2a, 0x07 }, { 0x2b, 0xf1 }, { 0x28, 0x1c }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x3d }, { 0x28, 0x1d }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x94 }, { 0x28, 0x1e }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0xba }, { 0x50, 0x1e }, { 0x51, 0x5d }, { 0x50, 0x22 }, { 0x51, 0x00 }, { 0x50, 0x23 }, { 0x51, 0xc8 }, { 0x50, 0x24 }, { 0x51, 0x00 }, { 0x50, 0x25 }, { 0x51, 0xf0 }, { 0x50, 0x26 }, { 0x51, 0x00 }, { 0x50, 0x27 }, { 0x51, 0xc3 }, { 0x50, 0x39 }, { 0x51, 0x02 }, It has very few changes from the one that comes with the controller, but when trying to use it I get the following: { 0x70, 0x0f }, { 0x70, 0xff }, { 0x09, 0x3a }, { 0x50, 0xd1 }, { 0x51, 0x22 }, { 0x09, 0x3e }, /* This line is inserted alone. Initialize the frontend? */ { 0x39, 0x01 }, /* This line is inserted alone. Initialize the frontend? */ { 0x71,
Re: mb86a20s and cx23885
Hi all Sorry for late reply, it's because only I can do during my free time. El 04/03/13 23:30, Mauro Carvalho Chehab escribió: I test, but not work. Before the latest patches, obtained as follows, for example: dmesg [ 397.076641] mb86a20s: mb86a20s_read_status: [ 397.077129] mb86a20s: mb86a20s_read_status: val = X, status = 0xXX I did a cleanup at the printk messages. Also, the debug ones now use dynamic_printk. That means that they're disabled by default. They can be enabled in runtime (and per-line). If you want to enable all messages, you can do: To enable all debug messages on mb86a20s: echo file drivers/media/dvb-frontends/mb86a20s.c +p /sys/kernel/debug/dynamic_debug/control To clean all debug messages echo -p /sys/kernel/debug/dynamic_debug/control I think I made something wrong, because I only get this: /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:2089 [mb86a20s]mb86a20s_attach =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:2117 [mb86a20s]mb86a20s_attach =_ Frontend revision %d is unknown - aborting.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1970 [mb86a20s]mb86a20s_read_status_and_stats =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:327 [mb86a20s]mb86a20s_read_status =_ %s: Status = 0x%02x (state = %d)\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:381 [mb86a20s]mb86a20s_read_signal_strength =_ %s: signal strength = %d (%d RF=%d %d)\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:526 [mb86a20s]mb86a20s_reset_frontend_cache =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:653 [mb86a20s]mb86a20s_get_frontend =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:671 [mb86a20s]mb86a20s_get_frontend =_ %s: getting data for layer %c.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:688 [mb86a20s]mb86a20s_get_frontend =_ %s: modulation %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:694 [mb86a20s]mb86a20s_get_frontend =_ %s: FEC %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:700 [mb86a20s]mb86a20s_get_frontend =_ %s: interleaving %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:503 [mb86a20s]mb86a20s_get_segment_count =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:516 [mb86a20s]mb86a20s_get_segment_count =_ %s: segments: %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:641 [mb86a20s]mb86a20s_layer_bitrate =_ %s: layer %c bitrate: %d kbps; counter = %d (0x%06x)\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1605 [mb86a20s]mb86a20s_get_stats =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1419 [mb86a20s]mb86a20s_get_main_CNR =_ %s: CNR is not available yet.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1441 [mb86a20s]mb86a20s_get_main_CNR =_ %s: CNR is %d.%03d dB (%d)\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1461 [mb86a20s]mb86a20s_get_blk_error_layer_CNR =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1474 [mb86a20s]mb86a20s_get_blk_error_layer_CNR =_ %s: MER measures aren't available yet.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1530 [mb86a20s]mb86a20s_get_blk_error_layer_CNR =_ %s: CNR for layer %c is %d.%03d dB (MER = %d).\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:829 [mb86a20s]mb86a20s_get_pre_ber =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:843 [mb86a20s]mb86a20s_get_pre_ber =_ %s: preBER for layer %c is not available yet.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:863 [mb86a20s]mb86a20s_get_pre_ber =_ %s: bit error before Viterbi for layer %c: %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:890 [mb86a20s]mb86a20s_get_pre_ber =_ %s: bit count before Viterbi for layer %c: %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:904 [mb86a20s]mb86a20s_get_pre_ber =_ %s: updating layer %c preBER counter to %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:963 [mb86a20s]mb86a20s_get_post_ber =_ %s called.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:977 [mb86a20s]mb86a20s_get_post_ber =_ %s: post BER for layer %c is not available yet.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:997 [mb86a20s]mb86a20s_get_post_ber =_ %s: post bit error for layer %c: %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1018 [mb86a20s]mb86a20s_get_post_ber =_ %s: post bit count for layer %c: %d.\012 /home/alfredo/ISDB/Nuevo_Driver/git/media_build/v4l/mb86a20s.c:1038 [mb86a20s]mb86a20s_get_post_ber =_ %s: updating postBER counter on layer %c
Re: mb86a20s and cx23885
Hi Mauro and others El 03/03/13 13:15, Mauro Carvalho Chehab escribió: Em Sun, 03 Mar 2013 11:50:25 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi Mauro and others from the list I searched for a plan B to get the data bus and after several alternative plans that were available to me was to do a logic analyzer (http://tfla-01.berlios.de). Yeah, that should work too. With the logic analyzer I could get the data transmitted by the I2C bus under Windows, but when I put this data in replacement of originals in mb86a20s.c and I try to run the Linux TV board, do not get the logic analyzer with the same sequence. Well, there are other I2C devices on the bus, Yes, logic analyzer said: Write to PCF8574 at address 0 and IC that not have name on TV card have the form and number of pin that pcf8574 also EEPROM FM24C02 and the order that they're initialized in Linux are different than on the original driver. The new data replacement in mb86a20s I just posted today a series of patches improving several things on mb86a20s and replacing its initialization table to one found on a newer driver. It also allows using different IF frequencies on the tuner side. Perhaps this is enough to fix. I tested all patches (those of yesterday and today), but it did not work. I have not yet seen the changes with the logic analyzer. /* * Initialization sequence: Use whatevere default values that PV SBTVD * does on its initialisation, obtained via USB snoop */ static struct regdata mb86a20s_init[] = { { 0x70, 0x0f }, { 0x70, 0xff }, { 0x09, 0x3a }, { 0x50, 0xd1 }, { 0x51, 0x22 }, { 0x39, 0x00 }, { 0x28, 0x2a }, { 0x29, 0x00 }, { 0x2a, 0xfd }, { 0x2b, 0xc8 }, { 0x3b, 0x21 }, { 0x3c, 0x38 }, { 0x28, 0x20 }, { 0x29, 0x3e }, { 0x2a, 0xde }, { 0x2b, 0x4d }, { 0x28, 0x22 }, { 0x29, 0x00 }, { 0x2a, 0x1f }, { 0x2b, 0xf0 }, { 0x01, 0x0d }, { 0x04, 0x08 }, { 0x05, 0x03 }, { 0x04, 0x0e }, { 0x05, 0x00 }, { 0x08, 0x1e }, { 0x05, 0x32 }, { 0x04, 0x0b }, { 0x05, 0x78 }, { 0x04, 0x00 }, { 0x05, 0x00 }, { 0x04, 0x01 }, { 0x05, 0x1e }, { 0x04, 0x02 }, { 0x05, 0x07 }, { 0x04, 0x03 }, { 0x0a, 0xa0 }, { 0x04, 0x09 }, { 0x05, 0x00 }, { 0x04, 0x0a }, { 0x05, 0xff }, { 0x04, 0x27 }, { 0x05, 0x00 }, { 0x08, 0x50 }, { 0x05, 0x00 }, { 0x04, 0x28 }, { 0x05, 0x00 }, { 0x04, 0x1e }, { 0x05, 0x00 }, { 0x04, 0x29 }, { 0x05, 0x64 }, { 0x04, 0x32 }, { 0x05, 0x68 }, { 0x04, 0x14 }, { 0x05, 0x02 }, { 0x04, 0x04 }, { 0x05, 0x00 }, { 0x08, 0x0a }, { 0x05, 0x22 }, { 0x04, 0x06 }, { 0x05, 0x0e }, { 0x04, 0x07 }, { 0x05, 0xd8 }, { 0x04, 0x12 }, { 0x05, 0x00 }, { 0x04, 0x13 }, { 0x05, 0xff }, { 0x52, 0x01 }, { 0x50, 0xa7 }, { 0x51, 0x00 }, { 0x50, 0xa8 }, { 0x51, 0xfe }, { 0x50, 0xa9 }, { 0x51, 0xff }, { 0x50, 0xaa }, { 0x51, 0x00 }, { 0x50, 0xab }, { 0x51, 0xff }, { 0x50, 0xac }, { 0x51, 0xff }, { 0x50, 0xad }, { 0x51, 0x00 }, { 0x50, 0xae }, { 0x51, 0xff }, { 0x50, 0xaf }, { 0x51, 0xff }, { 0x5e, 0x07 }, { 0x50, 0xdc }, { 0x51, 0x3f }, { 0x50, 0xdd }, { 0x51, 0xff }, { 0x50, 0xde }, { 0x51, 0x3f }, { 0x80, 0xdf }, So I conclude that there must be some logic that I'm not understanding. Could you indicate the meaning of the data in the table if there are any? or if I'm doing something wrong, what do I do wrong? I'll take a look on it, and see what it is doing differently. I have also observed that the data passing through the I2C bus are not always the same under Windows, there are some differences between them in parts. Hmm... that's interesting. Did you map the changes? Not yet. Below I put two different early (on Windows 7) - 0.178147 - Start 0.262532 - b0011 - 0x21 - 33 0.271909 - ACK 0.356294 - b00010011 - 0x13 - 19 0.367545 - NACK 0.517564 - b - 0x00 - 0 0.528815 - ACK 0.613201 - b1110 - 0xe0 - 224 0.622577 - ACK 0.703212 - b0000 - 0x1e - 30 0.718214 - Stop 0.84573 - b0010 - 0x20 - 32 0.856981 - ACK 0.941366 - b0111 - 0x70 - 112 0.950743 - ACK 1.03888 - b - 0xff - 255 1.04825 - ACK 1.16077 - b0010 - 0x20 - 32 1.17202 - ACK 1.25828 - b1001 - 0x09 - 9 1.26766 - ACK 1.35017 - b00111010 - 0x3a - 58 1.36142 - ACK 1.50206 - b0010 - 0x20 - 32 1.51331 - ACK 1.59957 - b0101 - 0x50 - 80 1.61082 - ACK 1.79085 - Write to PCF8574 at address 0 1.79085 - b0100 - 0x40 - 64 1.80022 - ACK 1.88461 - b10100010 - 0xa2 - 162 1.89398 - ACK 1.98024 - b01000100 - 0x44 - 68 1.99525 - Error 2.029 - Start 2.12089
Re: mb86a20s and cx23885
Hi all El 04/03/13 16:42, Mauro Carvalho Chehab escribió: Em Sun, 3 Mar 2013 13:40:51 -0300 Mauro Carvalho Chehab mche...@redhat.com escreveu: Em Sun, 03 Mar 2013 11:50:25 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: The new data replacement in mb86a20s /* * Initialization sequence: Use whatevere default values that PV SBTVD * does on its initialisation, obtained via USB snoop */ static struct regdata mb86a20s_init[] = { Please test first my mb86a20s patchset. If it doesn't work, we'll need to dig into the differences. The better is to group these and reorder them to look like what's there at the driver, and send it like a diff. That would make a way easier to see what's different there. Anyway, it follows my comments about a few things that came into my eyes. { 0x09, 0x3a }, No idea what's here, but it seems a worth trial to change it. It controls inversion. I just pushed a patch that will let it handle both normal and inverted spectrum. The DVB core will automatically switch inversion during device tuning. I test, but not work. Before the latest patches, obtained as follows, for example: dmesg [ 397.076641] mb86a20s: mb86a20s_read_status: [ 397.077129] mb86a20s: mb86a20s_read_status: val = X, status = 0xXX and now, I don't get anything. But if I use VLC I get this: dtvdebug: frontend status: 0x00 dtvdebug: frontend status: 0x03 dtvdebug: frontend status: 0x07 dtvdebug: frontend status: 0x01 Before only got: dtvdebug: frontend status: 0x00 dtvdebug: frontend status: 0x01 { 0x28, 0x2a }, { 0x29, 0x00 }, { 0x2a, 0xfd }, { 0x2b, 0xc8 }, Hmm... the above may explain why it is not working. This is calculated from the XTAL frequency, and IF (if different than 4MHz). Just changing it could fix the issue. I also added a patch that allows using a different XTAL frequency. You can use the calculus there to convert from 0x00fdc8 into the XTAL frequency, if you have the IF set by xc5000. I don't have the IF. How I can know the intermediate frequency? Xtal near of xc5000 is 32.000MHz. Perhaps 32/8=4 --IF There are other 2 xtal of 16.000MHz and other of 28.636MHz. Xtal of mb86a20s is 32.571MHz. In total there are 4 xtal. With mb86a20s changes made, the logs (i2c traffic) obtained are different from those obtained with Windows I have yet to thoroughly analyze 24 samples I took with the logic analyzer and try to see your logic. This is going to take some time. Again thank you very much, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mb86a20s and cx23885
Hi Mauro and others from the list El 06/02/13 11:12, Alfredo Jesús Delaiti escribió: Hi El 28/01/13 17:47, Alfredo Jesús Delaiti escribió: Hi El 28/01/13 07:23, Mauro Carvalho Chehab escribió: Em Sun, 27 Jan 2013 18:48:57 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi El 27/01/13 13:16, Mauro Carvalho Chehab escribió: Em Sun, 27 Jan 2013 12:27:21 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi all I'm trying to run the digital part of the card MyGica X8507 and I need help on some issues. Need data sheet of IC MB86A20S and no where to get it. Fujitsu People of Germany told me: This is a very old product and not supported any more. Does anyone know where to get it? I never found any public datasheet for this device. Congratulations for driver you have made Thanks! linux-puon:/home/alfredo # modprobe cx23885 i2c_scan=1 ... [ 7011.618381] cx23885[0]: scan bus 0: [ 7011.620759] cx23885[0]: i2c scan: found device @ 0x20 [???] [ 7011.625653] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 7011.629702] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [ 7011.629983] cx23885[0]: i2c scan: found device @ 0xa4 [???] [ 7011.630267] cx23885[0]: i2c scan: found device @ 0xa8 [???] [ 7011.630548] cx23885[0]: i2c scan: found device @ 0xac [???] [ 7011.636438] cx23885[0]: scan bus 1: [ 7011.650108] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 7011.654460] cx23885[0]: scan bus 2: [ 7011.656434] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 7011.657087] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [ 7011.657393] cx23885[0]: i2c scan: found device @ 0x98 [flatiron] ... In the bus 0 is demodulator mb86a20s 0x20 (0x10) and in the bus 1 the tuner (xc5000). I understand that would have to be cancel the mb86a20s i2c_gate_ctrl similarly as in the IC zl10353. If this is possible, is not yet implemented in the controller of mb86a20s. The IC cx23885 is always who controls the tuner i2c bus. Well, if you don't add an i2c_gate_ctrl() callback, the mb86a20s won't be calling it. So, IMO, the cleanest approach would simply to do: fe-dvb.frontend-ops.i2c_gate_ctrl = NULL; after tuner attach, if the tuner or the bridge driver implements an i2c gate. I don't think xc5000 does. The mb86a20s also has its own i2c gate and gpio ports that might be used to control an external gate, but support for it is currently not implemented, as no known device uses it. If in this way, it does not work: case CX23885_BOARD_MYGICA_X8507: i2c_bus = dev-i2c_bus[0]; i2c_bus2 = dev-i2c_bus[1]; fe0-dvb.frontend = dvb_attach(mb86a20s_attach, mygica_x8507_mb86a20s_config, i2c_bus-i2c_adap); if (fe0-dvb.frontend != NULL) { dvb_attach(xc5000_attach, fe0-dvb.frontend, i2c_bus2-i2c_adap, mygica_x8507_xc5000_config); fe0-dvb.frontend-ops.i2c_gate_ctrl = NULL; fe0-dvb.frontend-ops.tuner_ops.init(fe0-dvb.frontend); I get: ...dmesg ... [ 964.105688] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 964.105696] mb86a20s: mb86a20s_set_frontend: [ 964.105700] mb86a20s: mb86a20s_set_frontend: Calling tuner set parameters It seems that the driver is able to talk with mb86a20s and read the status and version registers. If the xc5000 firmware got loaded, that means that there's no issue with I2C. So, the issue is likely something else. From this: ;Demod Comm mode : 0x00 = Serial, 0x01 = Parallel HKR,DriverData,DemodTransferMode,0x00010001, 0x01, 0x00, 0x00, 0x00 mb86a20s_config.is_serial should be false (default). static struct mb86a20s_config mygica_x8507_mb86a20s_config = { .demod_address = 0x10, }; nothing of .is_serial Can you confirm if the XTAL at the side of mb86a20s is 32.57MHz? The exact value is 32.571MHz If the XTAL is the same and the device driver is set to parallel mode, then we'll need to investigate other setups that happen during init time. There are a few places at the driver that you could play with. For example, on this register set: { 0x09, 0x3e }, You could try, instead of 0x3e, 0x1e, 0x1a or 0x3a. I tested with the three new values and get nothing different However, I recommend you to sniff the PCI traffic, in order to be sure about what this specific device does. For this I need a little more time to study and apply. In a few days it I obtained commented When I was writing the driver for mb86a20s, I used this technique to be sure about what it was needed to make one PCI card to work with it. What I did then was to patch kvm to force it to emulate all DMA transfers, writing a dump of all such transfers at the host kernel. Then, I ran some parsing scripts to get the mb86a20s and tuner initialization. I made the patches available at: http://git.linuxtv.org/v4l-utils.git/tree/HEAD:/contrib
Re: mb86a20s and cx23885
Hi El 28/01/13 17:47, Alfredo Jesús Delaiti escribió: Hi El 28/01/13 07:23, Mauro Carvalho Chehab escribió: Em Sun, 27 Jan 2013 18:48:57 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi El 27/01/13 13:16, Mauro Carvalho Chehab escribió: Em Sun, 27 Jan 2013 12:27:21 -0300 Alfredo Jesús Delaiti alfredodela...@netscape.net escreveu: Hi all I'm trying to run the digital part of the card MyGica X8507 and I need help on some issues. Need data sheet of IC MB86A20S and no where to get it. Fujitsu People of Germany told me: This is a very old product and not supported any more. Does anyone know where to get it? I never found any public datasheet for this device. Congratulations for driver you have made Thanks! linux-puon:/home/alfredo # modprobe cx23885 i2c_scan=1 ... [ 7011.618381] cx23885[0]: scan bus 0: [ 7011.620759] cx23885[0]: i2c scan: found device @ 0x20 [???] [ 7011.625653] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 7011.629702] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [ 7011.629983] cx23885[0]: i2c scan: found device @ 0xa4 [???] [ 7011.630267] cx23885[0]: i2c scan: found device @ 0xa8 [???] [ 7011.630548] cx23885[0]: i2c scan: found device @ 0xac [???] [ 7011.636438] cx23885[0]: scan bus 1: [ 7011.650108] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 7011.654460] cx23885[0]: scan bus 2: [ 7011.656434] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 7011.657087] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [ 7011.657393] cx23885[0]: i2c scan: found device @ 0x98 [flatiron] ... In the bus 0 is demodulator mb86a20s 0x20 (0x10) and in the bus 1 the tuner (xc5000). I understand that would have to be cancel the mb86a20s i2c_gate_ctrl similarly as in the IC zl10353. If this is possible, is not yet implemented in the controller of mb86a20s. The IC cx23885 is always who controls the tuner i2c bus. Well, if you don't add an i2c_gate_ctrl() callback, the mb86a20s won't be calling it. So, IMO, the cleanest approach would simply to do: fe-dvb.frontend-ops.i2c_gate_ctrl = NULL; after tuner attach, if the tuner or the bridge driver implements an i2c gate. I don't think xc5000 does. The mb86a20s also has its own i2c gate and gpio ports that might be used to control an external gate, but support for it is currently not implemented, as no known device uses it. If in this way, it does not work: case CX23885_BOARD_MYGICA_X8507: i2c_bus = dev-i2c_bus[0]; i2c_bus2 = dev-i2c_bus[1]; fe0-dvb.frontend = dvb_attach(mb86a20s_attach, mygica_x8507_mb86a20s_config, i2c_bus-i2c_adap); if (fe0-dvb.frontend != NULL) { dvb_attach(xc5000_attach, fe0-dvb.frontend, i2c_bus2-i2c_adap, mygica_x8507_xc5000_config); fe0-dvb.frontend-ops.i2c_gate_ctrl = NULL; fe0-dvb.frontend-ops.tuner_ops.init(fe0-dvb.frontend); I get: ...dmesg ... [ 964.105688] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 964.105696] mb86a20s: mb86a20s_set_frontend: [ 964.105700] mb86a20s: mb86a20s_set_frontend: Calling tuner set parameters It seems that the driver is able to talk with mb86a20s and read the status and version registers. If the xc5000 firmware got loaded, that means that there's no issue with I2C. So, the issue is likely something else. From this: ;Demod Comm mode : 0x00 = Serial, 0x01 = Parallel HKR,DriverData,DemodTransferMode,0x00010001, 0x01, 0x00, 0x00, 0x00 mb86a20s_config.is_serial should be false (default). static struct mb86a20s_config mygica_x8507_mb86a20s_config = { .demod_address = 0x10, }; nothing of .is_serial Can you confirm if the XTAL at the side of mb86a20s is 32.57MHz? The exact value is 32.571MHz If the XTAL is the same and the device driver is set to parallel mode, then we'll need to investigate other setups that happen during init time. There are a few places at the driver that you could play with. For example, on this register set: { 0x09, 0x3e }, You could try, instead of 0x3e, 0x1e, 0x1a or 0x3a. I tested with the three new values and get nothing different However, I recommend you to sniff the PCI traffic, in order to be sure about what this specific device does. For this I need a little more time to study and apply. In a few days it I obtained commented When I was writing the driver for mb86a20s, I used this technique to be sure about what it was needed to make one PCI card to work with it. What I did then was to patch kvm to force it to emulate all DMA transfers, writing a dump of all such transfers at the host kernel. Then, I ran some parsing scripts to get the mb86a20s and tuner initialization. I made the patches available at: http://git.linuxtv.org/v4l-utils.git/tree/HEAD:/contrib/pci_traffic I documented what it was needed to sniff the traffic at: http://git.linuxtv.org
Re: [git:v4l-dvb/for_v3.9] [media] rc/keymaps: add RC keytable for MyGica X8507
Hi all El 23/12/12 18:42, Mauro Carvalho Chehab escribió: This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] rc/keymaps: add RC keytable for MyGica X8507 Author: Alfredo Jesús Delaiti alfredodela...@netscape.net Date:Thu Nov 8 16:14:50 2012 -0300 Add RC-5 remote keytable definition for MyGica X8507. [mche...@redhat.com: fixed whitespacing - it seems that Alfredo's emailer mangled it] Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com Thank you very much for the help and corrections. Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Kworld PCI Analog TV Card Lite PVR-7134SE
Hi El 12/12/12 02:49, Saad Bin Javed escribió: Dear Alfredo, Thank you for helping me. Is the same card: Board indentification : 713XTV VRE: J Yes, I have the same board. 713XTV VRE:J Please try: modprobe saa7134 card=63 tuner=43 or modprobe saa7134 card=59 tuner=56 please tell me which program you use to watch TV. Use xawtvand set it well,run from a terminal Sorry is xawtv I'm using tv-time and scantv. I've also tried VLC and Mplayer. I will try xawtvand. What is your country and TV standard?, Do the channels are correctly set? Country: Pakistan, TV Standard: PAL-B Since the proper tuner is not getting detected, I can't scan for channels. BTW I tried the card in a windows box borrowed from my cousin. The card works fine. I had a similar problem and what I did was try all tuners example: modprobe saa7134 card=63 tuner=1 modprobe saa7134 card=63 tuner=2 ... modprobe saa7134 card=63 tuner=63 modprobe saa7134 card=59 tuner=1 modprobe saa7134 card=59 tuner=2 ... modprobe saa7134 card=59 tuner=56 I will try different card/tuner combinations but since there are 50+ cards and 50+ tuners, you can imagine the number of combinations :) Plus I can't seem to unload the saa7134 module using modprobe -r or rmmod...It gives a FATAL module in use error. So I have to reboot the machine every time to set new card/tuner which SUCKS. I think that your card isn't 153.There are many cards with the same name but different electronic. The tuner is what is below the sticker that says kworld. Perhaps you can see the name of the tuner. In the jpeg link I posted in the earlier message, I have labelled all the onboard chips. Have a look again: http://tinypic.com/view.php?pic=2lwnmucs=6 I can't seem to find which chip is the tuner. I emailed Kworld support, they say its a TENA TNF9533BDF/BK tuner. I can't find any chip onbaord with this name! Ok, see /usr/src/linux/Documentation/video4linux/CARDLIST.tuner -- tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF try: modprobe saa7134 card=63 tuner=61 or modprobe saa7134 card=59 tuner=61 good luck, Alfredo -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Kworld PCI Analog TV Card Lite PVR-7134SE
Hi Read: http://www.linuxtv.org/wiki/index.php/Kworld_PCI_Analog_TV_Card_Lite Alfredo El 10/12/12 15:06, Saad Bin Javed escribió: Can anybody help setting up this card? I posted details in an earlier message but got no response. This list is my last hope to get this thing working. Regards, Saad -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 0/2] Add RC support for MyGica X8507
Hi All This series add remote control support for MyGica X8507. I test for 2 month under OpenSuse(X64) 11.4 and 12.2 with kernel 3.4, 3.5, 3.6 also 3.7-rc2 and rc3. Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net Patch 1 add remote keytable definition Patch 2 add support card /drivers/media/pci/cx23885/cx23885-cards.c |3 + /drivers/media/pci/cx23885/cx23885-input.c |9 ++ /drivers/media/rc/keymaps/Makefile |1 + /drivers/media/rc/keymaps/rc-total-media-in-hand-02.c | 86 /include/media/rc-map.h |1 + 5 files changed, 100 insertions(+) create mode 100644 drivers/media/rc/keymaps/rc-total-media-in-hand-02.c To do: Radio FM {If apply the patch made for Miroslav Slugen work, with some objection; ([PATCH] Add support for radio tuners to cx23885 driver, and add example of radio support for Leadtek DVR3200 H tuners)}. ISDB {I am too far, I need more information and knowledge} Thanks, Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/2] Add RC support for MyGica X8507 - add support card
add support card Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index 6277e14..91eddc2 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -1366,30 +1366,31 @@ int cx23885_ir_init(struct cx23885_dev *dev) ir_rxtx_pin_cfg_count, ir_rxtx_pin_cfg); /* * For these boards we need to invert the Tx output via the * IR controller to have the LED off while idle */ v4l2_subdev_call(dev-sd_ir, ir, tx_g_parameters, params); params.enable = false; params.shutdown = false; params.invert_level = true; v4l2_subdev_call(dev-sd_ir, ir, tx_s_parameters, params); params.shutdown = true; v4l2_subdev_call(dev-sd_ir, ir, tx_s_parameters, params); break; case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: case CX23885_BOARD_TEVII_S470: + case CX23885_BOARD_MYGICA_X8507: if (!enable_885_ir) break; dev-sd_ir = cx23885_find_hw(dev, CX23885_HW_AV_CORE); if (dev-sd_ir == NULL) { ret = -ENODEV; break; } v4l2_subdev_call(dev-sd_cx25840, core, s_io_pin_config, ir_rx_pin_cfg_count, ir_rx_pin_cfg); break; case CX23885_BOARD_HAUPPAUGE_HVR1250: if (!enable_885_ir) break; dev-sd_ir = cx23885_find_hw(dev, CX23885_HW_AV_CORE); if (dev-sd_ir == NULL) { @@ -1408,30 +1409,31 @@ int cx23885_ir_init(struct cx23885_dev *dev) } void cx23885_ir_fini(struct cx23885_dev *dev) { switch (dev-board) { case CX23885_BOARD_HAUPPAUGE_HVR1270: case CX23885_BOARD_HAUPPAUGE_HVR1850: case CX23885_BOARD_HAUPPAUGE_HVR1290: cx23885_irq_remove(dev, PCI_MSK_IR); cx23888_ir_remove(dev); dev-sd_ir = NULL; break; case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: case CX23885_BOARD_TEVII_S470: case CX23885_BOARD_HAUPPAUGE_HVR1250: + case CX23885_BOARD_MYGICA_X8507: cx23885_irq_remove(dev, PCI_MSK_AV_CORE); /* sd_ir is a duplicate pointer to the AV Core, just clear it */ dev-sd_ir = NULL; break; } } static int netup_jtag_io(void *device, int tms, int tdi, int read_tdo) { int data; int tdo = 0; struct cx23885_dev *dev = (struct cx23885_dev *)device; /*TMS*/ data = ((cx_read(GP0_IO)) (~0x0002)); data |= (tms ? 0x00020002 : 0x0002); @@ -1452,30 +1454,31 @@ static int netup_jtag_io(void *device, int tms, int tdi, int read_tdo) return tdo; } void cx23885_ir_pci_int_enable(struct cx23885_dev *dev) { switch (dev-board) { case CX23885_BOARD_HAUPPAUGE_HVR1270: case CX23885_BOARD_HAUPPAUGE_HVR1850: case CX23885_BOARD_HAUPPAUGE_HVR1290: if (dev-sd_ir) cx23885_irq_add_enable(dev, PCI_MSK_IR); break; case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: case CX23885_BOARD_TEVII_S470: case CX23885_BOARD_HAUPPAUGE_HVR1250: + case CX23885_BOARD_MYGICA_X8507: if (dev-sd_ir) cx23885_irq_add_enable(dev, PCI_MSK_AV_CORE); break; } } void cx23885_card_setup(struct cx23885_dev *dev) { struct cx23885_tsport *ts1 = dev-ts1; struct cx23885_tsport *ts2 = dev-ts2; static u8 eeprom[256]; if (dev-i2c_bus[0].i2c_rc == 0) { dev-i2c_bus[0].i2c_client.addr = 0xa0 1; diff --git a/drivers/media/pci/cx23885/cx23885-input.c b/drivers/media/pci/cx23885/cx23885-input.c index 4f1055a..7875dfb 100644 --- a/drivers/media/pci/cx23885/cx23885-input.c +++ b/drivers/media/pci/cx23885/cx23885-input.c @@ -77,30 +77,31 @@ static void cx23885_input_process_measurements(struct cx23885_dev *dev, void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events) { struct v4l2_subdev_ir_parameters params; int overrun, data_available; if (dev-sd_ir == NULL || events == 0) return; switch (dev-board) { case CX23885_BOARD_HAUPPAUGE_HVR1270: case CX23885_BOARD_HAUPPAUGE_HVR1850: case CX23885_BOARD_HAUPPAUGE_HVR1290: case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: case CX23885_BOARD_TEVII_S470: case CX23885_BOARD_HAUPPAUGE_HVR1250: + case CX23885_BOARD_MYGICA_X8507: /* * The only boards we handle
[PATCH 1/2] Add RC support for MyGica X8507 - remote keytable definition
Add remote keytable definition Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile index ab84d66..c6a6ef0 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile @@ -76,23 +76,24 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ rc-purpletv.o \ rc-pv951.o \ rc-hauppauge.o \ rc-rc6-mce.o \ rc-real-audio-220-32-keys.o \ rc-snapstream-firefly.o \ rc-streamzap.o \ rc-tbs-nec.o \ rc-technisat-usb2.o \ rc-terratec-cinergy-xs.o \ rc-terratec-slim.o \ rc-terratec-slim-2.o \ rc-tevii-nec.o \ rc-tivo.o \ rc-total-media-in-hand.o \ + rc-total-media-in-hand-02.o \ rc-trekstor.o \ rc-tt-1500.o \ rc-twinhan1027.o \ rc-videomate-m1f.o \ rc-videomate-s350.o \ rc-videomate-tv-pvr.o \ rc-winfast.o \ rc-winfast-usbii-deluxe.o diff --git a/drivers/media/rc/keymaps/rc-total-media-in-hand-02.c b/drivers/media/rc/keymaps/rc-total-media-in-hand-02.c new file mode 100644 index 000..b109eff --- /dev/null +++ b/drivers/media/rc/keymaps/rc-total-media-in-hand-02.c @@ -0,0 +1,86 @@ +/* + * Total Media In Hand_02 remote controller keytable for Mygica X8507 + * + * Copyright (C) 2012 Alfredo J. Delaiti alfredodela...@netscape.net + * + *This program is free software; you can redistribute it and/or modify + *it under the terms of the GNU General Public License as published by + *the Free Software Foundation; either version 2 of the License, or + *(at your option) any later version. + * + *This program is distributed in the hope that it will be useful, + *but WITHOUT ANY WARRANTY; without even the implied warranty of + *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + *GNU General Public License for more details. + * + *You should have received a copy of the GNU General Public License along + *with this program; if not, write to the Free Software Foundation, Inc., + *51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include media/rc-map.h +#include linux/module.h + + +static struct rc_map_table total_media_in_hand_02[] = { + { 0x, KEY_0 }, + { 0x0001, KEY_1 }, + { 0x0002, KEY_2 }, + { 0x0003, KEY_3 }, + { 0x0004, KEY_4 }, + { 0x0005, KEY_5 }, + { 0x0006, KEY_6 }, + { 0x0007, KEY_7 }, + { 0x0008, KEY_8 }, + { 0x0009, KEY_9 }, + { 0x000a, KEY_MUTE }, + { 0x000b, KEY_STOP }, /* Stop */ + { 0x000c, KEY_POWER2 }, /* Turn on/off application */ + { 0x000d, KEY_OK }, /* OK */ + { 0x000e, KEY_CAMERA }, /* Snapshot */ + { 0x000f, KEY_ZOOM }, /* Full Screen/Restore */ + { 0x0010, KEY_RIGHT }, /* Right arrow */ + { 0x0011, KEY_LEFT }, /* Left arrow */ + { 0x0012, KEY_CHANNELUP }, + { 0x0013, KEY_CHANNELDOWN }, + { 0x0014, KEY_SHUFFLE }, + { 0x0016, KEY_PAUSE }, + { 0x0017, KEY_PLAY }, /* Play */ + { 0x001e, KEY_TIME }, /* Time Shift */ + { 0x001f, KEY_RECORD }, + { 0x0020, KEY_UP }, + { 0x0021, KEY_DOWN }, + { 0x0025, KEY_POWER }, /* Turn off computer */ + { 0x0026, KEY_REWIND }, /* FR */ + { 0x0027, KEY_FASTFORWARD },/* FF */ + { 0x0029, KEY_ESC }, + { 0x002b, KEY_VOLUMEUP }, + { 0x002c, KEY_VOLUMEDOWN }, + { 0x002d, KEY_CHANNEL },/* CH Surfing */ + { 0x0038, KEY_VIDEO }, /* TV/AV/S-Video/YPbPr */ +}; + +static struct rc_map_list total_media_in_hand_02_map = { + .map = { + .scan= total_media_in_hand_02, + .size= ARRAY_SIZE(total_media_in_hand_02), + .rc_type = RC_TYPE_RC5, + .name= RC_MAP_TOTAL_MEDIA_IN_HAND_02, + } +}; + +static int __init init_rc_map_total_media_in_hand_02(void) +{ + return rc_map_register(total_media_in_hand_02_map); +} + +static void __exit exit_rc_map_total_media_in_hand_02(void) +{ + rc_map_unregister(total_media_in_hand_02_map); +} + +module_init(init_rc_map_total_media_in_hand_02) +module_exit(exit_rc_map_total_media_in_hand_02) + +MODULE_LICENSE(GPL); +MODULE_AUTHOR( Alfredo J. Delaiti alfredodela...@netscape.net);
Re: [PATCH] Mygica X8507 audio for YPbPr, AV and S-Video
Hi El 19/09/12 13:28, Mauro Carvalho Chehab escribió: Em 19-09-2012 10:31, Alfredo Jesús Delaiti escreveu: El 18/09/12 13:16, Mauro Carvalho Chehab escribió: Em 03-09-2012 17:14, Alfredo Jesús Delaiti escreveu: Hi This patch add audio support for input YPbPr, AV and S-Video for Mygica X8507 card. I tried it with the 3.4 and 3.5 kernel Remains to be done: IR, FM and ISDBT Sorry if I sent the patch improperly. Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net I resubmit the patch with the advice given. I apologize, but git and diff, still aren't my friends Thanks Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index d889bd2..cb5f847 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -530,42 +530,45 @@ struct cx23885_board cx23885_boards[] = { [CX23885_BOARD_MYGICA_X8507] = { .name = Mygica X8507, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .input = { { .type = CX23885_VMUX_TELEVISION, .vmux = CX25840_COMPOSITE2, .amux = CX25840_AUDIO8, }, { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_SVIDEO, .vmux = CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4, It seems that your emailer is not your friend too - it broke your patch ;) Grrr. You are right, mail setup is wron I applied this change:/usr/src/linux/Documentation/email-clients.txt., again I proved before send email and is ok. Please, be sure to not let your email break long lines like that, or the patch won't apply. IMO, the better is to submit patches with git send-email. There are some examples at git-send-email manpage on how to use it with an smart host, if your sendmail is not configured for that. Regards, Mauro. diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index d889bd2..cb5f847 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -530,42 +530,45 @@ struct cx23885_board cx23885_boards[] = { [CX23885_BOARD_MYGICA_X8507] = { .name = Mygica X8507, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .input = { { .type = CX23885_VMUX_TELEVISION, .vmux = CX25840_COMPOSITE2, .amux = CX25840_AUDIO8, }, { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_SVIDEO, .vmux = CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_COMPONENT, .vmux = CX25840_COMPONENT_ON | CX25840_VIN1_CH1 | CX25840_VIN6_CH2 | CX25840_VIN7_CH3, + .amux = CX25840_AUDIO7, }, }, }, [CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL] = { .name = TerraTec Cinergy T PCIe Dual, .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, [CX23885_BOARD_TEVII_S471] = { .name = TeVii S471, .portb = CX23885_MPEG_DVB, } }; const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c index 22f8e7f..fcb3f22 100644 --- a/drivers/media/pci/cx23885/cx23885-video.c +++ b/drivers/media/pci/cx23885
Re: [PATCH] Mygica X8507 audio for YPbPr, AV and S-Video
El 18/09/12 13:16, Mauro Carvalho Chehab escribió: Em 03-09-2012 17:14, Alfredo Jesús Delaiti escreveu: Hi This patch add audio support for input YPbPr, AV and S-Video for Mygica X8507 card. I tried it with the 3.4 and 3.5 kernel Remains to be done: IR, FM and ISDBT Sorry if I sent the patch improperly. Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/media/video/cx23885/cx23885-cards.c b/media/video/cx23885/cx23885-cards.c index 080e111..17e2576 100644 --- a/media/video/cx23885/cx23885-cards.c +++ b/media/video/cx23885/cx23885-cards.c Wrong format... the drivers/ is missing. Well, the location also changed to drivers/media/pci, but my scripts can fix it. @@ -541,11 +541,13 @@ struct cx23885_board cx23885_boards[] = { { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, + .amux = CX25840_AUDIO7, Didn't apply well. It seems it conflicted with some other patch. Please, re-generate it against the very latest tree. Also, when doing diffs for the boards entries, it is wise to have more context lines, in order that a patch made for one driver would be badly applied at some other board entry. The easiest way to do that is to do: $ git diff -U10 or $ git show -U10 (if you've merged the patch at your local copy) (if you're generating the patch against the main media-tree.git) Where 10 is just an arbitrary large number that will allow to see the board name that will be modified, like: --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -531,20 +531,21 @@ struct cx23885_board cx23885_boards[] = { .name = Mygica X8507, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .input = { { .type = CX23885_VMUX_TELEVISION, .vmux = CX25840_COMPOSITE2, .amux = CX25840_AUDIO8, + /* Some foo addition - just for testing */ }, { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, }, { .type = CX23885_VMUX_SVIDEO, .vmux = CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4, }, Thanks, Mauro Hi Thanks for the advice. I resubmit the patch with the advice given. I apologize, but git and diff, still aren't my friends Thanks Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index d889bd2..cb5f847 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -530,42 +530,45 @@ struct cx23885_board cx23885_boards[] = { [CX23885_BOARD_MYGICA_X8507] = { .name = Mygica X8507, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, .tuner_bus = 1, .porta = CX23885_ANALOG_VIDEO, .input = { { .type = CX23885_VMUX_TELEVISION, .vmux = CX25840_COMPOSITE2, .amux = CX25840_AUDIO8, }, { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_SVIDEO, .vmux = CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_COMPONENT, .vmux = CX25840_COMPONENT_ON | CX25840_VIN1_CH1 | CX25840_VIN6_CH2 | CX25840_VIN7_CH3, + .amux = CX25840_AUDIO7, }, }, }, [CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL] = { .name = TerraTec Cinergy T PCIe Dual, .portb = CX23885_MPEG_DVB, .portc
[PATCH] Mygica X8507 audio for YPbPr, AV and S-Video
Hi This patch add audio support for input YPbPr, AV and S-Video for Mygica X8507 card. I tried it with the 3.4 and 3.5 kernel Remains to be done: IR, FM and ISDBT Sorry if I sent the patch improperly. Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net diff --git a/media/video/cx23885/cx23885-cards.c b/media/video/cx23885/cx23885-cards.c index 080e111..17e2576 100644 --- a/media/video/cx23885/cx23885-cards.c +++ b/media/video/cx23885/cx23885-cards.c @@ -541,11 +541,13 @@ struct cx23885_board cx23885_boards[] = { { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_SVIDEO, .vmux = CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4, + .amux = CX25840_AUDIO7, }, { .type = CX23885_VMUX_COMPONENT, @@ -553,6 +555,7 @@ struct cx23885_board cx23885_boards[] = { CX25840_VIN1_CH1 | CX25840_VIN6_CH2 | CX25840_VIN7_CH3, + .amux = CX25840_AUDIO7, }, }, }, diff --git a/media/video/cx23885/cx23885-video.c b/media/video/cx23885/cx23885-video.c index 22f8e7f..fcb3f22 100644 --- a/media/video/cx23885/cx23885-video.c +++ b/media/video/cx23885/cx23885-video.c @@ -508,7 +508,8 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1250) || (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1255) || (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) || - (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1850)) { + (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1850) || + (dev-board == CX23885_BOARD_MYGICA_X8507)) { /* Configure audio routing */ v4l2_subdev_call(dev-sd_cx25840, audio, s_routing, INPUT(input)-amux, 0, 0); -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: dheitmueller/cx23885_fixes.git and mygica x8507
Hi El 27/06/12 01:52, Devin Heitmueller escribió: On Tue, Jun 26, 2012 at 11:40 PM, Alfredo Jesús Delaiti alfredodela...@netscape.net wrote: The problem was that tvtime was set to 768, by passing a resolution to 720 was solved. Sorry for not having tried before. With a resolution of 720 pixels the image looks good. My sincere apologies and thanks. I'll have to check if that's a driver bug or not. The way the logic is supposed to work is the application is supposed to propose a size, and if the driver concludes the size is unacceptable it should return the size that it intends to actually operate at. The application is expected to read the resulting size from the driver and adjust accordingly. Hence, either: 1. the driver is saying ok to 768 and then tvtime receives green video from the driver. 2. the driver properly returns 720 when asked for 768, but tvtime doesn't check for the adjusted size. Scenario #1 is a driver bug, and scenario #2 is a tvtime bug. Devin What I can I do to know what is the problem? I tried the following: I have two cards, one FlyVideo 3000 that has no problems with TVTime to change the resolution (no green line on the right side) and over the X8507 has the problem. With the X8507 card with the resolution set at 768 pixels, if I change the TV standards NTSC, PAL-M, PAL-N, NTSC-JP no green line(Of course the image is distorted). If change to Pal, Pal-Nc and Pal-60 shows the green line. Always using TVTime. Output of TVTime at 768 first and 720 below alfredo@dhcppc1:/usr/share/man/es tvtime -v --device=/dev/video1 Ejecutando tvtime 1.0.2. Leyendo la configuración de /etc/tvtime/tvtime.xml Leyendo la configuración de /home/alfredo/.tvtime/tvtime.xml cpuinfo: CPU AMD Phenom(tm) 8450 Triple-Core Processor, family 15, model 2, stepping 3. cpuinfo: CPU measured at 2104,519MHz. tvtime: Cannot set priority to -10: Permiso denegado. xcommon: Display :0, vendor The X.Org Foundation, vendor release 10903000 xfullscreen: Using XINERAMA for dual-head information. xfullscreen: Pixels are square. xfullscreen: Number of displays is 1. xfullscreen: Head 0 at 0,0 with size 1920x1080. xcommon: Have XTest, will use it to ping the screensaver. xcommon: Pixel aspect ratio 1:1. xcommon: Pixel aspect ratio 1:1. xcommon: Window manager is KWin and is EWMH compliant. xcommon: Using EWMH state fullscreen property. xcommon: Using EWMH state above property. xcommon: Using EWMH state below property. xcommon: Pixel aspect ratio 1:1. xcommon: Displaying in a 768x576 window inside 768x576 space. xvoutput: Using XVIDEO adaptor 63: Radeon Textured Video. speedycode: Using MMXEXT optimized functions. station: Reading stationlist from /home/alfredo/.tvtime/stationlist.xml videoinput: Using video4linux2 driver 'cx23885', card 'Mygica X8507' (bus PCIe::02:00.0). videoinput: Version is 197635, capabilities 5010011. videoinput: Maximum input width: 768 pixels. tvtime: Sampling input at 768 pixels per scanline. xcommon: Pixel aspect ratio 1:1. xcommon: Displaying in a 768x576 window inside 768x576 space. xcommon: Received a map, marking window as visible (58). tvtime: Cleaning up. Gracias por usar tvtime. alfredo@dhcppc1:/usr/share/man/es tvtime -v --device=/dev/video1 Ejecutando tvtime 1.0.2. Leyendo la configuración de /etc/tvtime/tvtime.xml Leyendo la configuración de /home/alfredo/.tvtime/tvtime.xml cpuinfo: CPU AMD Phenom(tm) 8450 Triple-Core Processor, family 15, model 2, stepping 3. cpuinfo: CPU measured at 2104,500MHz. tvtime: Cannot set priority to -10: Permiso denegado. xcommon: Display :0, vendor The X.Org Foundation, vendor release 10903000 xfullscreen: Using XINERAMA for dual-head information. xfullscreen: Pixels are square. xfullscreen: Number of displays is 1. xfullscreen: Head 0 at 0,0 with size 1920x1080. xcommon: Have XTest, will use it to ping the screensaver. xcommon: Pixel aspect ratio 1:1. xcommon: Pixel aspect ratio 1:1. xcommon: Window manager is KWin and is EWMH compliant. xcommon: Using EWMH state fullscreen property. xcommon: Using EWMH state above property. xcommon: Using EWMH state below property. xcommon: Pixel aspect ratio 1:1. xcommon: Displaying in a 768x576 window inside 768x576 space. xvoutput: Using XVIDEO adaptor 63: Radeon Textured Video. speedycode: Using MMXEXT optimized functions. station: Reading stationlist from /home/alfredo/.tvtime/stationlist.xml videoinput: Using video4linux2 driver 'cx23885', card 'Mygica X8507' (bus PCIe::02:00.0). videoinput: Version is 197635, capabilities 5010011. videoinput: Maximum input width: 768 pixels. tvtime: Sampling input at 720 pixels per scanline. xcommon: Pixel aspect ratio 1:1. xcommon: Displaying in a 768x576 window inside 768x576 space. xcommon: Received a map, marking window as visible (60). tvtime: Cleaning up. Gracias por usar tvtime. Thank you very much for your help and time. Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe
dheitmueller/cx23885_fixes.git and mygica x8507
Hi all I tried the patches made by Devin Heitmueller, and returned soundto the plate mygica X8507. Has not corrected the green band that appears on the left side and shrinks the image by changing a little the aspect ratio, compresses a bit horizontally. With kernel versions 3.0, 3.1 and 3.2 that did not happen. Thanks Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: dheitmueller/cx23885_fixes.git and mygica x8507
Hika Devin El 26/06/12 15:13, Devin Heitmueller escribió: On Tue, Jun 26, 2012 at 2:07 PM, Alfredo Jesús Delaiti alfredodela...@netscape.net wrote: Hi all I tried the patches made by Devin Heitmueller, and returned soundto the plate mygica X8507. Has not corrected the green band that appears on the left side and shrinks the image by changing a little the aspect ratio, compresses a bit horizontally. With kernel versions 3.0, 3.1 and 3.2 that did not happen. Hello Alfredo, Thanks for testing. Glad to hear you're having some success with those patches. A few questions about your specific board (since I don't have the actual hardware): 1. Which cx2388x based chip does it have? cx23885? cx23887? cx23888? CX23885 2. Specifically which video standard are you using? NTSC? PAL-BG? PAL-DK? PAL-Nc and NTSC (ntsc is fine at 765 pixels) 3. What input are you capturing on? Tuner? Composite? S-video? Tuner 4. Can you provide a screenshot showing the problem? Yes, but read below 5. Are you capturing raw video, or using MPEG encoder (assuming your board has a cx23417)? Raw video, not have a cx23417 My guess is this is some sort of problem with the video standard selection. All of my testing thus far has been with NTSC-M, so I would guess there is probably some general regression in PAL or SECAM support (which should be pretty easy to fix once I have the answers to the above questions). Devin The problem was that tvtime was set to 768, by passing a resolution to 720 was solved. Sorry for not having tried before. With a resolution of 720 pixels the image looks good. My sincere apologies and thanks. Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: How I must report that a driver has been broken?
Hi Thank you all for your responses. Devin, I appreciate the time and labor you do to revise the code. My previous letters maybe I can help you see where the problem and the date you began. I thought of a patch of this type: if (card != mycard) { bad code for my card} but unfortunately not so easy for me. I will be patient. Thank you. Alfredo El 14/05/12 01:51, Devin Heitmueller escribió: On Sun, May 13, 2012 at 1:50 AM, Hans de Goedehdego...@redhat.com wrote: Hi, On 05/12/2012 09:26 PM, Alfredo Jesús Delaiti wrote: Hi Thanks for your response Hans and Patrick Maybe I doing wrong this, because it reports twice: http://www.mail-archive.com/linux-media@vger.kernel.org/msg45199.html http://www.mail-archive.com/linux-media@vger.kernel.org/msg44846.html In your last message you indicate that you've found the patch causing it, and that you were looking into figuring which bit of the patch actually breaks things, so I guess people reading the thread were / are waiting for you to follow up on it with the results of your attempts to further isolate the cause. What I were do if I were you is send a mail directly to the author of the patch causing the problems, with what you've discovered about the problem sofar in there, and put the list in the CC. Regards, Hans Steven loaned me his HVR-1850 board last week, and I'm hoping to debug the regression this week (I have an HVR-1800 that is also effected). I suspect the problem is related to a codepath for the cx23888's onboard DIF being executed for 885 based boards. Steven did a whole series of patches to make the cx23888 work properly and I think a regression snuck in there. Simply backing out the change isn't the correct fix. I've got all the boards and the datasheets - I just need to find a bit of time to get the current tree installed onto a machine and plug in the various boards... In short, it's in my queue so please be patient. Devin -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: How I must report that a driver has been broken?
Hi Thanks for your response Hans and Patrick Maybe I doing wrong this, because it reports twice: http://www.mail-archive.com/linux-media@vger.kernel.org/msg45199.html http://www.mail-archive.com/linux-media@vger.kernel.org/msg44846.html and I have not had any response. Thanks again, Alfredo El 12/05/12 05:17, Hans de Goede escribió: Hi On 05/12/2012 06:26 AM, Alfredo Jesús Delaiti wrote: Hi New features of the driver has left a card does not work. How I must report that a driver has been broken? Well this list would be a good place for starters, please send a *detailed* bug report to this list, including things like what is the last (kernel) version it worked with, what is the first version it is broken. What did it do before breaking what know now longer works, etc. Regards, Hans -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
How I must report that a driver has been broken?
Hi New features of the driver has left a card does not work. How I must report that a driver has been broken? Thanks -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch Broken driver cx23885 mygica x8507
Hi all I found that this is the patch that makes no sound and deformation image on mygica x8507: http://git.kernellabs.com/?p=stoth/cx23885-hvr1850-fixups.git;a=commit;h=e187d0d51bcd0659eeac1d608284644ec8404239 I will try to find that lines are responsible. Please refer to the patch mentioned above. lines that leave without sound to the card are these: @@ -1086,6 +1232,23 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp cx25840_write4(client, 0x8d0, 0x1f063870); } + if (is_cx2388x(state)) { + /* HVR1850 */ + /* AUD_IO_CTRL - I2S Input, Parallel1*/ + /* - Channel 1 src - Parallel1 (Merlin out) */ + /* - Channel 2 src - Parallel2 (Merlin out) */ + /* - Channel 3 src - Parallel3 (Merlin AC97 out) */ + /* - I2S source and dir - Merlin, output */ + cx25840_write4(client, 0x124, 0x100); + -+ if (!is_dif) { -+ /* Stop microcontroller if we don't need it -+* to avoid audio popping on svideo/compositeuse. -+*/ -+ cx25840_and_or(client, 0x803, ~0x10, 0x00); -+ } + } + return 0; } Without these lines, have sound. And the following line produces a vertical green bar on the right and the image is a bit narrow (maybe taken as an image of 702 pixel). If I cancel that line, the image is colored with alternating bars and color distorted. @@ -631,6 +654,37 @@ static void cx23885_initialize(struct i2c_client *client) /* Disable and clear audio interrupts - we don't use them */ cx25840_write(client, CX25840_AUD_INT_CTRL_REG, 0xff); cx25840_write(client, CX25840_AUD_INT_STAT_REG, 0xff); + + /* CC raw enable */ + /* - VIP 1.1 control codes - 10bit, blue field enable. +* - enable raw data during vertical blanking. +* - enable ancillary Data insertion for 656 or VIP. +*/ -+ cx25840_write4(client, 0x404, 0x0010253e); With kernel 3.0, 3.1 and 3.2 the card worked fine. Thanks, Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Broken driver cx23885 mygica x8507
Hi all I found that this is the patch that makes no sound: http://git.kernellabs.com/?p=stoth/cx23885-hvr1850-fixups.git;a=commit;h=e187d0d51bcd0659eeac1d608284644ec8404239 I will try to find that lines are responsible. Thanks, Alfredo El 31/03/12 22:34, Alfredo Jesús Delaiti escribió: Hi Some of the changes between 3.2 and 3.3 kernel have left without sound, the card Mygica X8507. With kernel 3.0, 3.1 and 3.2 this worked fine. I tested with OpenSuSE, with two kernel that provides by distribution and Kubunto with the kernel download from http://www.kernel.org/. In both cases the same problem occurs. -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Broken driver cx23885 mygica x8507
Hi all El 01/04/12 16:10, Alfredo Jesús Delaiti escribió: Hi all I found that this is the patch that makes no sound: http://git.kernellabs.com/?p=stoth/cx23885-hvr1850-fixups.git;a=commit;h=e187d0d51bcd0659eeac1d608284644ec8404239 I will try to find that lines are responsible. Please refer to the patch mentioned above. lines that leave without sound to the plate are these: @@ -1086,6 +1232,23 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp cx25840_write4(client, 0x8d0, 0x1f063870); } + if (is_cx2388x(state)) { + /* HVR1850 */ + /* AUD_IO_CTRL - I2S Input, Parallel1*/ + /* - Channel 1 src - Parallel1 (Merlin out) */ + /* - Channel 2 src - Parallel2 (Merlin out) */ + /* - Channel 3 src - Parallel3 (Merlin AC97 out) */ + /* - I2S source and dir - Merlin, output */ + cx25840_write4(client, 0x124, 0x100); + -+ if (!is_dif) { -+ /* Stop microcontroller if we don't need it -+* to avoid audio popping on svideo/composite use. -+*/ -+ cx25840_and_or(client, 0x803, ~0x10, 0x00); -+ } + } + return 0; } Without these lines, have sound. And the following line produces a vertical green bar on the right and the image is a bit narrow. If I cancel that line, the image is colored with alternating bars and color distorted. @@ -631,6 +654,37 @@ static void cx23885_initialize(struct i2c_client *client) /* Disable and clear audio interrupts - we don't use them */ cx25840_write(client, CX25840_AUD_INT_CTRL_REG, 0xff); cx25840_write(client, CX25840_AUD_INT_STAT_REG, 0xff); + + /* CC raw enable */ + /* - VIP 1.1 control codes - 10bit, blue field enable. +* - enable raw data during vertical blanking. +* - enable ancillary Data insertion for 656 or VIP. +*/ -+ cx25840_write4(client, 0x404, 0x0010253e); Thanks, Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Broken driver cx23885 mygica x8507
Hi Some of the changes between 3.2 and 3.3 kernel have left without sound, the card Mygica X8507. With kernel 3.0, 3.1 and 3.2 this worked fine. I tested with OpenSuSE, with two kernel that provides by distribution and Kubunto with the kernel download from http://www.kernel.org/. In both cases the same problem occurs. Then leave extra information: dhcppc0:/home/alfredo # modprobe cx23885 dhcppc0:/home/alfredo # dmesg ... [ 1127.074871] cx23885 driver version 0.0.3 loaded [ 1127.076014] cx23885[0]: cx23885_dev_setup() Memory configured for PCIe bridge type 885 [ 1127.076416] CORE cx23885[0]: subsystem: 14f1:8502, board: Mygica X8507 [card=33,autodetected] [ 1127.076421] cx23885[0]: cx23885_pci_quirks() [ 1127.076428] cx23885[0]: cx23885_dev_setup() tuner_type = 0x4c tuner_addr = 0x61 tuner_bus = 1 [ 1127.076433] cx23885[0]: cx23885_dev_setup() radio_type = 0x0 radio_addr = 0x0 [ 1127.076438] cx23885[0]: cx23885_reset() [ 1127.176467] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [VID A] [ 1127.176470] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch2] [ 1127.176473] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TS1 B] [ 1127.176475] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch4] [ 1127.176478] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch5] [ 1127.176480] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TS2 C] [ 1127.176493] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TV Audio] [ 1127.176510] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch8] [ 1127.176512] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch9] [ 1127.428328] cx25840 8-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [ 1128.101966] cx25840 8-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 1128.135245] cx23885[0]: cx23885_video_register() [ 1128.138062] tuner 7-0061: Tuner -1 found with type(s) Radio TV. [ 1128.138095] xc5000 7-0061: creating new instance [ 1128.138790] xc5000: Successfully identified at address 0x61 [ 1128.138792] xc5000: Firmware has not been loaded previously [ 1128.138795] cx23885[0]: cx23885_vdev_init() [ 1128.138891] cx23885[0]: registered device video1 [v4l2] [ 1128.138893] cx23885[0]: cx23885_vdev_init() [ 1128.138949] cx23885[0]: registered device vbi1 [ 1128.140495] cx23885[0]: registered ALSA audio device [ 1128.140500] cx23885[0]: cx23885_set_tvnorm(norm = 0x1000) name: [NTSC-M] [ 1128.155056] cx23885[0]: open dev=video1 radio=0 type=vid-cap [ 1128.155061] cx23885[0]: post videobuf_queue_init() [ 1128.155092] cx23885[0]: open dev=vbi1 radio=0 type=vbi-cap [ 1128.155097] cx23885[0]: post videobuf_queue_init() [ 1128.165628] xc5000: waiting for firmware upload (dvb-fe-xc5000-1.6.114.fw)... [ 1128.282090] xc5000: firmware read 12401 bytes. [ 1128.282097] xc5000: firmware uploading... [ 1129.657015] xc5000: firmware upload complete... [ 1130.256026] cx23885[0]: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) [ 1130.256151] cx23885[0]: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) [ 1130.256267] cx23885[0]: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) [ 1130.256272] cx23885[0]: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) [ 1130.256495] cx23885[0]: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) [ 1130.256609] cx23885[0]: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) [ 1130.256726] cx23885[0]: cx23885_video_mux() video_mux: 0 [vmux=2, gpio=0x0,0x0,0x0,0x0] [ 1130.288096] cx23885[0]: cx23885_audio_mux(input=0) [ 1130.288099] cx23885[0]: cx23885_flatiron_mux(input = 1) [ 1130.288318] cx23885[0]: Flatiron dump [ 1130.288394] cx23885[0]: FI[00] = d2 [ 1130.288470] cx23885[0]: FI[01] = 03 [ 1130.288545] cx23885[0]: FI[02] = 1b [ 1130.288620] cx23885[0]: FI[03] = 00 [ 1130.288695] cx23885[0]: FI[04] = 08 [ 1130.288770] cx23885[0]: FI[05] = 08 [ 1130.288846] cx23885[0]: FI[06] = 03 [ 1130.288921] cx23885[0]: FI[07] = 00 [ 1130.288996] cx23885[0]: FI[08] = 13 [ 1130.289078] cx23885[0]: FI[09] = 13 [ 1130.289154] cx23885[0]: FI[0a] = 0a [ 1130.289233] cx23885[0]: FI[0b] = 00 [ 1130.289308] cx23885[0]: FI[0c] = 05 [ 1130.289383] cx23885[0]: FI[0d] = 00 [ 1130.289458] cx23885[0]: FI[0e] = 20 [ 1130.289534] cx23885[0]: FI[0f] = 00 [ 1130.289609] cx23885[0]: FI[10] = 0c [ 1130.289684] cx23885[0]: FI[11] = 88 [ 1130.289759] cx23885[0]: FI[12] = 71 [ 1130.289835] cx23885[0]: FI[13] = 08 [ 1130.289910] cx23885[0]: FI[14] = 80 [ 1130.289987] cx23885[0]: FI[15] = 00 [ 1130.290065] cx23885[0]: FI[16] = ff [ 1130.290140] cx23885[0]: FI[17] = ff [ 1130.290216] cx23885[0]: FI[18] = ff [ 1130.290291] cx23885[0]: FI[19] = 00 [ 1130.290366] cx23885[0]: FI[1a] = 02 [ 1130.290441] cx23885[0]: FI[1b] = 00 [ 1130.290517] cx23885[0]: FI[1c] = 00 [ 1130.290592] cx23885[0]: FI[1d] = 00 [ 1130.290667] cx23885[0]: FI[1e] = 00 [ 1130.290743] cx23885[0]: FI[1f] = 00 [ 1130.290819] cx23885[0]: FI[20] = 00 [ 1130.290895] cx23885[0]:
[PATCH] Mygica X8507
Hi This patch supports card Mygica X8507 (analog part) This controller is a copy of driver card Mygica X8506 This patch depends on patch cx23885-alsa http://git.linuxtv.org/liplianin/media_tree.git/shortlog/refs/heads/cx23885-alsa-clean-2 To do: FM, ISDB-t, remote control, audio for composite1, S-Video and componet kernel version 3.1.0-3; OpenSuSE 11.4 64bit Signed-off-by: Alfredo J. Delaiti alfredodela...@netscape.net My apologies if I have once again committed an error sending the patch Thanks, Alfredo -- Dona tu voz http://www.voxforge.org/es diff -up1rN /usr/src/linux-media/drivers/media/video/cx23885/cx23885-cards.c /usr/src/linux/drivers/media/video/cx23885/cx23885-cards.c --- /usr/src/linux-media/drivers/media/video/cx23885/cx23885-cards.c 2011-10-12 20:19:03.0 -0300 +++ /usr/src/linux/drivers/media/video/cx23885/cx23885-cards.c 2011-11-09 11:34:34.810810514 -0300 @@ -440,2 +440,32 @@ struct cx23885_board cx23885_boards[] = }, + [CX23885_BOARD_MYGICA_X8507] = { + .name = Mygica X8507, + .tuner_type = TUNER_XC5000, + .tuner_addr = 0x61, + .tuner_bus = 1, + .porta = CX23885_ANALOG_VIDEO, + .input = { + { +.type = CX23885_VMUX_TELEVISION, +.vmux = CX25840_COMPOSITE2, +.amux = CX25840_AUDIO8, + }, + { +.type = CX23885_VMUX_COMPOSITE1, +.vmux = CX25840_COMPOSITE8, + }, + { +.type = CX23885_VMUX_SVIDEO, +.vmux = CX25840_SVIDEO_LUMA3 | + CX25840_SVIDEO_CHROMA4, + }, + { +.type = CX23885_VMUX_COMPONENT, +.vmux = CX25840_COMPONENT_ON | + CX25840_VIN1_CH1 | + CX25840_VIN6_CH2 | + CX25840_VIN7_CH3, + }, + }, + } }; @@ -639,2 +669,6 @@ struct cx23885_subid cx23885_subids[] = .card = CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF, + }, { + .subvendor = 0x14f1, + .subdevice = 0x8502, + .card = CX23885_BOARD_MYGICA_X8507, }, @@ -1070,2 +1104,3 @@ void cx23885_gpio_setup(struct cx23885_d case CX23885_BOARD_MAGICPRO_PROHDTVE2: + case CX23885_BOARD_MYGICA_X8507: /* GPIO-0 (0)Analog / (1)Digital TV */ @@ -1470,2 +1505,3 @@ void cx23885_card_setup(struct cx23885_d case CX23885_BOARD_MPX885: + case CX23885_BOARD_MYGICA_X8507: dev-sd_cx25840 = v4l2_i2c_new_subdev(dev-v4l2_dev, diff -up1rN /usr/src/linux-media/drivers/media/video/cx23885/cx23885.h /usr/src/linux/drivers/media/video/cx23885/cx23885.h --- /usr/src/linux-media/drivers/media/video/cx23885/cx23885.h 2011-10-12 20:20:38.0 -0300 +++ /usr/src/linux/drivers/media/video/cx23885/cx23885.h 2011-11-09 11:20:13.838836142 -0300 @@ -89,2 +89,3 @@ #define CX23885_BOARD_MPX885 32 +#define CX23885_BOARD_MYGICA_X8507 33 diff -up1rN /usr/src/linux-media/drivers/media/video/cx23885/cx23885-video.c /usr/src/linux/drivers/media/video/cx23885/cx23885-video.c --- /usr/src/linux-media/drivers/media/video/cx23885/cx23885-video.c 2011-10-12 20:20:33.0 -0300 +++ /usr/src/linux/drivers/media/video/cx23885/cx23885-video.c 2011-11-09 11:39:29.458801749 -0300 @@ -494,3 +494,4 @@ static int cx23885_video_mux(struct cx23 if (dev-board == CX23885_BOARD_MYGICA_X8506 || - dev-board == CX23885_BOARD_MAGICPRO_PROHDTVE2) { + dev-board == CX23885_BOARD_MAGICPRO_PROHDTVE2 || + dev-board == CX23885_BOARD_MYGICA_X8507) { /* Select Analog TV */
Re: cx23885-alsa + Mygica X8507
Hi El 07/11/11 11:46, Mauro Carvalho Chehab escribió: Em 28-10-2011 17:58, Alfredo Jesús Delaiti escreveu: Hi For 15 days alsa cx23885 cleaner worked well with my Mygica X8507 card and with the 3.0.2 kernel in OpenSuSE 11.4. Please if you are going to add cx23885-alsa to kernel, add Mygica X8507 card. Best regards, Alfredo Alfredo, Please, one patch per email. Also, send them at -p1 format, as I don't have any path here that looks like: /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Mi_kernel_para_V4L Developers section on our wiki is your friend: http://linuxtv.org/wiki/index.php/Developer_Section In particular, take a look at: http://linuxtv.org/wiki/index.php/Development:_How_to_submit_patches Thanks! Mauro I will read the documentation and I will send the patch again. Thanks, Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
cx23885-alsa + Mygica X8507
Hi For 15 days alsa cx23885 cleaner worked well with my Mygica X8507 card and with the 3.0.2 kernel in OpenSuSE 11.4. Please if you are going to add cx23885-alsa to kernel, add Mygica X8507 card. Best regards, Alfredo -- Dona tu voz http://www.voxforge.org/es --- /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Kernel/cx23885.h 2011-10-28 16:13:26.011668530 -0300 +++ /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Mi_kernel_para_V4L/cx23885.h 2011-10-17 16:09:23.0 -0300 @@ -86,8 +86,9 @@ #define CX23885_BOARD_GOTVIEW_X5_3D_HYBRID 29 #define CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF 30 #define CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000 31 #define CX23885_BOARD_MPX885 32 +#define CX23885_BOARD_MYGICA_X8507 33 #define GPIO_0 0x0001 #define GPIO_1 0x0002 #define GPIO_2 0x0004 --- /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Kernel/cx23885-cards.c 2011-10-28 16:11:22.579672203 -0300 +++ /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Mi_kernel_para_V4L/cx23885-cards.c 2011-10-28 15:12:10.14939 -0300 @@ -302,8 +302,39 @@ CX25840_VIN7_CH3, }, }, }, + [CX23885_BOARD_MYGICA_X8507] = { + .name = Mygica X8507, + .tuner_type = TUNER_XC5000, + .tuner_addr = 0x61, + .tuner_bus = 1, + .porta = CX23885_ANALOG_VIDEO, + .input = { + { + .type = CX23885_VMUX_TELEVISION, + .vmux = CX25840_COMPOSITE2, + .amux = CX25840_AUDIO8, + }, + { + .type = CX23885_VMUX_COMPOSITE1, + .vmux = CX25840_COMPOSITE8, + }, + { + .type = CX23885_VMUX_SVIDEO, + .vmux = CX25840_SVIDEO_LUMA3 | + CX25840_SVIDEO_CHROMA4, + }, + { + .type = CX23885_VMUX_COMPONENT, + .vmux = CX25840_COMPONENT_ON | + CX25840_VIN1_CH1 | + CX25840_VIN6_CH2 | + CX25840_VIN7_CH3, + }, + + }, + }, [CX23885_BOARD_MAGICPRO_PROHDTVE2] = { .name = Magic-Pro ProHDTV Extreme 2, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, @@ -606,8 +637,12 @@ .subdevice = 0x8651, .card = CX23885_BOARD_MYGICA_X8506, }, { .subvendor = 0x14f1, + .subdevice = 0x8502, + .card = CX23885_BOARD_MYGICA_X8507, + }, { + .subvendor = 0x14f1, .subdevice = 0x8657, .card = CX23885_BOARD_MAGICPRO_PROHDTVE2, }, { .subvendor = 0x0070, @@ -1067,11 +1102,12 @@ cx23885_gpio_set(dev, GPIO_9); break; case CX23885_BOARD_MYGICA_X8506: case CX23885_BOARD_MAGICPRO_PROHDTVE2: + case CX23885_BOARD_MYGICA_X8507: /* GPIO-0 (0)Analog / (1)Digital TV */ /* GPIO-1 reset XC5000 */ - /* GPIO-2 reset LGS8GL5 / LGS8G75 */ + /* GPIO-2 reset LGS8GL5 / LGS8G75 / MB86A20S */ cx23885_gpio_enable(dev, GPIO_0 | GPIO_1 | GPIO_2, 1); cx23885_gpio_clear(dev, GPIO_1 | GPIO_2); mdelay(100); cx23885_gpio_set(dev, GPIO_0 | GPIO_1 | GPIO_2); @@ -1461,8 +1497,9 @@ case CX23885_BOARD_COMPRO_VIDEOMATE_E800: case CX23885_BOARD_HAUPPAUGE_HVR1270: case CX23885_BOARD_HAUPPAUGE_HVR1850: case CX23885_BOARD_MYGICA_X8506: + case CX23885_BOARD_MYGICA_X8507: case CX23885_BOARD_MAGICPRO_PROHDTVE2: case CX23885_BOARD_HAUPPAUGE_HVR1290: case CX23885_BOARD_LEADTEK_WINFAST_PXTV1200: case CX23885_BOARD_GOTVIEW_X5_3D_HYBRID: --- /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Kernel/cx23885-video.c 2011-10-28 16:13:03.741669193 -0300 +++ /home/alfredo/ISDB/Nuevo Driver/alsa_suport_12_oct_2011/Para_Video4Linux/Mi_kernel_para_V4L/cx23885-video.c 2011-10-17 16:17:09.0 -0300 @@ -491,9 +491,10 @@ INPUT(input)-gpio2, INPUT(input)-gpio3); dev-input = input; if (dev-board == CX23885_BOARD_MYGICA_X8506 || - dev-board == CX23885_BOARD_MAGICPRO_PROHDTVE2) { +
Re: [GIT PATCHES FOR 3.2] cx23885 alsa cleaned and prepaired
Hi El 10/10/11 11:52, Igor M. Liplianin escribió: Hi Mauro and Steven, It's been a long time since cx23885-alsa pull was requested. To speed things up I created a git branch where I put the patches. Some patches merged, like introduce then correct checkpatch compliance or convert spinlock to mutex and back to spinlock, insert printk then remove printk as well. Minor corrections from me was silently merged, for major I created additional patches. Hope it helps. The following changes since commit e30528854797f057aa6ffb6dc9f890e923c467fd: [media] it913x-fe changes to power up and down of tuner (2011-10-08 08:03:27 -0300) are available in the git repository at: git://linuxtv.org/liplianin/media_tree.git cx23885-alsa-clean-2 Igor M. Liplianin (2): cx23885: videobuf: Remove the videobuf_sg_dma_map/unmap functions cx25840-audio: fix missing state declaration Mijhail Moreyra (6): cx23885: merge mijhail's header changes for alsa cx23885: ALSA support cx23885: core changes requireed for ALSA cx23885: add definitions for HVR1500 to support audio cx23885: correct the contrast, saturation and hue controls cx23885: hooks the alsa changes into the video subsystem Steven Toth (31): cx23885: prepare the cx23885 makefile for alsa support cx23885: convert from snd_card_new() to snd_card_create() cx23885: convert call clients into subdevices cx23885: minor function renaming to ensure uniformity cx23885: setup the dma mapping for raw audio support cx23885: mute the audio during channel change cx23885: add two additional defines to simplify VBI register bitmap handling cx23885: initial support for VBI with the cx23885 cx23885: initialize VBI support in the core, add IRQ support, register vbi device cx23885: minor printk cleanups and device registration cx25840: enable raw cc processing only for the cx23885 hardware cx23885: vbi line window adjustments cx23885: add vbi buffer formatting, window changes and video core changes cx23885: Ensure the VBI pixel format is established correctly. cx23885: ensure video is streaming before allowing vbi to stream cx23885: remove channel dump diagnostics when a vbi buffer times out. cx23885: Ensure VBI buffers timeout quickly - bugfix for vbi hangs during streaming. cx23885: Name an internal i2c part and declare a bitfield by name cx25840: Enable support for non-tuner LR1/LR2 audio inputs cx23885: Enable audio line in support from the back panel cx25840: Ensure AUDIO6 and AUDIO7 trigger line-in baseband use. cx23885: Initial support for the MPX-885 mini-card cx23885: fixes related to maximum number of inputs and range checking cx23885: add generic functions for dealing with audio input selection cx23885: hook the audio selection functions into the main driver cx23885: v4l2 api compliance, set the audioset field correctly cx23885: Removed a spurious function cx23885_set_scale(). cx23885: Avoid stopping the risc engine during buffer timeout. cx23885: Avoid incorrect error handling and reporting cx23885: Stop the risc video fifo before reconfiguring it. cx23885: Allow the audio mux config to be specified on a per input basis. drivers/media/video/cx23885/Makefile|2 +- drivers/media/video/cx23885/cx23885-alsa.c | 535 +++ drivers/media/video/cx23885/cx23885-cards.c | 53 +++ drivers/media/video/cx23885/cx23885-core.c | 99 - drivers/media/video/cx23885/cx23885-i2c.c |1 + drivers/media/video/cx23885/cx23885-reg.h |3 + drivers/media/video/cx23885/cx23885-vbi.c | 72 +++- drivers/media/video/cx23885/cx23885-video.c | 373 --- drivers/media/video/cx23885/cx23885.h | 56 +++ drivers/media/video/cx25840/cx25840-audio.c | 10 +- drivers/media/video/cx25840/cx25840-core.c | 19 + 11 files changed, 1144 insertions(+), 79 deletions(-) create mode 100644 drivers/media/video/cx23885/cx23885-alsa.c -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html When compile, I get this error: dhcppc1:/usr/src/linux # make SUBDIRS=drivers/media/video/cx23885 modules -j2 Building modules, stage 2. MODPOST 2 modules WARNING: cx23885_risc_databuffer [drivers/media/video/cx23885/cx23885.ko] undefined! dhcppc1:/usr/src/linux # modprobe cx23885 debug=3 v4l_debug=3 i2c_scan=3 FATAL: Error inserting cx23885 (/lib/modules/3.0.6-2-desktop/kernel/drivers/media/video/cx23885/cx23885.ko): Unknown symbol in module, or unknown parameter (see dmesg) dmesg: [13447.629867] cx23885: Unknown symbol cx23885_risc_databuffer (err 0) I use kernel 3.0.6 and OpenSuse 11.4 Thank
Re: [GIT PATCHES FOR 3.2] cx23885 alsa cleaned and prepaired
Hi El 17/10/11 11:13, Alfredo Jesús Delaiti escribió: Hi El 10/10/11 11:52, Igor M. Liplianin escribió: Hi Mauro and Steven, When compile, I get this error: dhcppc1:/usr/src/linux # make SUBDIRS=drivers/media/video/cx23885 modules -j2 Building modules, stage 2. MODPOST 2 modules WARNING: cx23885_risc_databuffer [drivers/media/video/cx23885/cx23885.ko] undefined! dhcppc1:/usr/src/linux # modprobe cx23885 debug=3 v4l_debug=3 i2c_scan=3 FATAL: Error inserting cx23885 (/lib/modules/3.0.6-2-desktop/kernel/drivers/media/video/cx23885/cx23885.ko): Unknown symbol in module, or unknown parameter (see dmesg) dmesg: [13447.629867] cx23885: Unknown symbol cx23885_risc_databuffer (err 0) I use kernel 3.0.6 and OpenSuse 11.4 I found the error. There are more spaces in the definition of cx23885_risc_databuffer. Please correct them. They are in: http://git.linuxtv.org/liplianin/media_tree.git/tree/159b64f3415b9882e3391492255a60133b5fd080:/drivers/media/video/cx23885/ Thank Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
XC5000 and MB86A20S
Hi I'm trying to run the X8507 MyGica plate, as I said in another post. I notice that when I try to tune a channel, the frequency of the XC5000 is different from the central carrier as I would expect to happen. Is this normal? Can someone tell me where is the documentation of the XC5000 and MB86A20S. Below are the results I get. Thanks in advance Alfredo alfredo@linux:~ mplayer -dumpstream dvb://'Encuentro' -dumpfile mplayer-dumpfile.ts MPlayer dev-SVN-r33321-4.5-openSUSE Linux 11.4 (x86_64)-Packman (C) 2000-2011 MPlayer Team Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not open config files /home/alfredo/.lircrc and /etc/lirc/lircrc mplayer: No such file or directory Failed to read LIRC config file ~/.lircrc. Loading extension-related profile 'vo.vdpau' Playing dvb://Encuentro. dvb_tune Freq: 521142857 dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 544 bytes dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 900 bytes dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 148 bytes dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 1256 bytes dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 1256 bytes dmesg: [ 2235.637152] mb86a20s: mb86a20s_initfe: [ 2235.722354] mb86a20s: mb86a20s_initfe: Initialization succeeded. [ 2235.722704] xc5000: xc5000_init() [ 2235.723435] xc5000: xc5000_is_firmware_loaded() returns True id = 0x1388 [ 2235.723437] xc5000: xc_initialize() [ 2235.963737] xc5000: *** ADC envelope (0-1023) = 152 [ 2235.964451] xc5000: *** Frequency error = 62 Hz [ 2235.965163] xc5000: *** Lock status (0-Wait, 1-Locked, 2-No-signal) = 2 [ 2235.966642] xc5000: *** HW: V03.02, FW: V01.06.0072 [ 2235.967376] xc5000: *** Horizontal sync frequency = 16526 Hz [ 2235.968088] xc5000: *** Frame lines = 570 [ 2235.968851] xc5000: *** Quality (0:8dB, 7:56dB) = 0 [ 2236.069395] mb86a20s: mb86a20s_set_frontend: [ 2236.069749] mb86a20s: mb86a20s_set_frontend: Calling tuner set parameters [ 2236.070487] xc5000: xc5000_is_firmware_loaded() returns True id = 0x1388 [ 2236.070493] xc5000: xc5000_set_params() frequency=521142857 (Hz) [ 2236.070497] xc5000: xc5000_set_params() OFDM [ 2236.070501] xc5000: xc5000_set_params() frequency=519392857 (compensated) [ 2236.070505] xc5000: xc_SetSignalSource(0) Source = ANTENNA [ 2236.071793] xc5000: xc_SetTVStandard(0x8002,0x00c0) [ 2236.071796] xc5000: xc_SetTVStandard() Standard = DTV6 [ 2236.081039] xc5000: xc_set_IF_frequency(freq_khz = 3300) freq_code = 0xd33 [ 2236.089762] xc5000: xc_tune_channel(519392857) [ 2236.089764] xc5000: xc_set_RF_frequency(519392857) [ 2236.342767] xc5000: *** ADC envelope (0-1023) = 932 [ 2236.343502] xc5000: *** Frequency error = 0 Hz [ 2236.344204] xc5000: *** Lock status (0-Wait, 1-Locked, 2-No-signal) = 1 [ 2236.345670] xc5000: *** HW: V03.02, FW: V01.06.0072 [ 2236.346399] xc5000: *** Horizontal sync frequency = 15404 Hz [ 2236.347129] xc5000: *** Frame lines = 65535 [ 2236.347925] xc5000: *** Quality (0:8dB, 7:56dB) = 1 [ 2236.350019] mb86a20s: mb86a20s_read_status: [ 2236.351208] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 2236.361292] mb86a20s: mb86a20s_read_status: [ 2236.362471] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 2236.372549] mb86a20s: mb86a20s_read_status: [ 2236.373716] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 2236.383789] mb86a20s: mb86a20s_read_status: [ 2236.384970] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 2236.395049] mb86a20s: mb86a20s_read_status: [ 2236.396235] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 2236.400035] mb86a20s: mb86a20s_read_status: [ 2236.401226] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 [ 2236.401233] mb86a20s: mb86a20s_set_frontend: [ 2236.401581] mb86a20s: mb86a20s_set_frontend: Calling tuner set parameters [ 2236.402298] xc5000: xc5000_is_firmware_loaded() returns True id = 0x1388 [ 2236.402303] xc5000: xc5000_set_params() frequency=521267857 (Hz) [ 2236.402306] xc5000: xc5000_set_params() OFDM [ 2236.402310] xc5000: xc5000_set_params() frequency=519517857 (compensated) [ 2236.402314] xc5000: xc_SetSignalSource(0) Source = ANTENNA [ 2236.403608] xc5000: xc_SetTVStandard(0x8002,0x00c0) [ 2236.403611] xc5000: xc_SetTVStandard() Standard = DTV6 [ 2236.412019] xc5000: xc_set_IF_frequency(freq_khz = 3300) freq_code = 0xd33 [ 2236.420733] xc5000: xc_tune_channel(519517857) [ 2236.420735] xc5000: xc_set_RF_frequency(519517857) [ 2236.625772] xc5000: *** ADC envelope (0-1023) = 896 [ 2236.626507] xc5000: *** Frequency error = 0 Hz [ 2236.627241] xc5000: *** Lock status (0-Wait, 1-Locked, 2-No-signal) = 1 [ 2236.628709] xc5000: *** HW: V03.02, FW: V01.06.0072 [ 2236.629443] xc5000: *** Horizontal sync frequency = 15641 Hz [ 2236.630178] xc5000: *** Frame lines = 65535 [
Re: Help to make a driver. ISDB-Tb
Hi Digital television: not tune any channels with w-scan or gnome-dvb-setup. But with the latter, it captures 2 weak signals, but I can not know which is. Under windows also capture 2 channel and I'm in a place where the signal is low. I'll try to have more signal strength. If I run dmesg after scan channels I get the following: [ 3474.858537] mb86a20s: mb86a20s_set_frontend: [ 3474.858541] mb86a20s: mb86a20s_set_frontend: Calling tuner set parameters [ 3474.981157] mb86a20s: mb86a20s_read_status: [ 3474.981649] mb86a20s: mb86a20s_read_status: val = 2, status = 0x01 I improved the antenna signal and I've got this: alfredo@linux:~ mplayer -dumpstream dvb://'C5N HD' -dumpfile mplayer-dumpfile.ts MPlayer dev-SVN-r33321-4.5-openSUSE Linux 11.4 (x86_64)-Packman (C) 2000-2011 MPlayer Team Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not open config files /home/alfredo/.lircrc and /etc/lirc/lircrc mplayer: No such file or directory Failed to read LIRC config file ~/.lircrc. Loading extension-related profile 'vo.vdpau' Playing dvb://C5N HD. dvb_tune Freq: 551142857 dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 4 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 3 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 2 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 1 failed with errno 0 when reading 2048 bytes dvb_streaming_read, return 0 bytes dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 4 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 3 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 2 failed with errno 0 when reading 2048 bytes dvb_streaming_read, attempt N. 1 failed with errno 0 when reading 2048 bytes dvb_streaming_read, return 0 bytes Core dumped ;) Exiting... (End of file) dmesg [11359.790188] cx23885[0]/0: restarting queue [11359.790197] cx23885[0]/0: queue is empty - first active [11359.790202] cx23885[0]/0: cx23885_start_dma() w: 752, h: 32, f: 2 [11359.790209] cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS1 B] [11359.790423] cx23885[0]/0: cx23885_start_dma() enabling TS int's and DMA [11359.790436] cx23885[0]/0: [880058342e00/0] cx23885_buf_queue - first active [11359.790441] cx23885[0]/0: queue is not empty - append to active [11359.790445] cx23885[0]/0: [88002d4fba00/1] cx23885_buf_queue - append to active [11359.790449] cx23885[0]/0: queue is not empty - append to active [11359.790453] cx23885[0]/0: [88003758ae00/2] cx23885_buf_queue - append to active [11359.790457] cx23885[0]/0: queue is not empty - append to active [11359.790460] cx23885[0]/0: [88005815f800/3] cx23885_buf_queue - append to active [11359.790464] cx23885[0]/0: queue is not empty - append to active [11359.790468] cx23885[0]/0: [88003758ac00/4] cx23885_buf_queue - append to active [11359.790472] cx23885[0]/0: queue is not empty - append to active [11359.790476] cx23885[0]/0: [88005ae15600/5] cx23885_buf_queue - append to active [11359.790480] cx23885[0]/0: queue is not empty - append to active [11359.790484] cx23885[0]/0: [88005ae15000/6] cx23885_buf_queue - append to active [11359.790488] cx23885[0]/0: queue is not empty - append to active [11359.790492] cx23885[0]/0: [88005ae15400/7] cx23885_buf_queue - append to active [11359.790496] cx23885[0]/0: queue is not empty - append to active [11359.790499] cx23885[0]/0: [88005a0ce000/8] cx23885_buf_queue - append to active [11359.790503] cx23885[0]/0: queue is not empty - append to active [11359.790507] cx23885[0]/0: [88005a0cea00/9] cx23885_buf_queue - append to active [11359.790511] cx23885[0]/0: queue is not empty - append to active [11359.790515] cx23885[0]/0: [88005a0cee00/10] cx23885_buf_queue - append to active [11359.790519] cx23885[0]/0: queue is not empty - append to active [11359.790523] cx23885[0]/0: [8800374ffe00/11] cx23885_buf_queue - append to active [11359.790527] cx23885[0]/0: queue is not empty - append to active [11359.790531] cx23885[0]/0: [8800582a0c00/12] cx23885_buf_queue - append to active [11359.790535] cx23885[0]/0: queue is not empty - append to active [11359.790539] cx23885[0]/0: [8800582a0600/13] cx23885_buf_queue - append to active [11359.790543] cx23885[0]/0: queue is not empty - append to active [11359.790547] cx23885[0]/0: [8800582a/14] cx23885_buf_queue - append to active [11359.790551] cx23885[0]/0: queue is not empty - append to active [11359.790554] cx23885[0]/0: [8800582a0a00/15] cx23885_buf_queue - append to active [11359.790558] cx23885[0]/0:
Re: Help to make a driver. ISDB-Tb
Hi Mauro Thank you very much for your time and answer El 30/04/11 22:18, Mauro Carvalho Chehab escribió: drivers/media/video/cx23885/cx23885-cards.c:240:3: error: ‘CX23885_BOARD_MYGICA_X8507’ undeclared here (not in a function) You forgot to declare this constant somewhere with #define. I found it. I had written CX23885_BOARD_MYGICA_X507 rather than CX23885_BOARD_MYGICA_X8507 in cx23885.h It is not that simple. You need to setup the GPIO pins of your device, and set the DVB frontend according to how this is wired inside the board, and providing the information about the used frontend. I think that your device is based on mb86a20s demod. Yes. If I compare to the X8506 images taken from http://www.mingo-hmw.com/forum/viewthread.php?tid=85682 and http://www.dcfever.com/trading/view.php?itemID=436551, with the X8507 taken from http://www.linuxtv.org/wiki/index.php/File:MyGica_X8507_1.png; I see that the difference is on the plate added to the main board. Best viewed with the image of the X8507 and corresponds to the frontend. For this last reason is that I risk trying to do something. It requires you some knowledge about Engineering At this point I have no problems, but still need to read a lot. , as well as C programming experience. At this point yes. The last time I programmed anything was more than twenty years and was in pascal or qbasic, I do not remember. I modify the following files: cx23885-cards.c, cx23885-dvb.c, cx23885-video.c, cx23885.h Then compile and install. The result when loading was as follows: [ 10.461192] cx23885 driver version 0.0.2 loaded [ 10.461288] cx23885 :02:00.0: PCI INT A - GSI 19 (level, low) - IRQ 19 [ 10.461487] CORE cx23885[0]: subsystem: 14f1:8502, board: Mygica X8507 [card=30,insmod option] [ 11.027607] cx25840 5-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [ 12.193826] cx25840 5-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 12.202863] tuner 4-0061: chip found @ 0xc2 (cx23885[0]) [ 12.235023] xc5000 4-0061: creating new instance [ 12.235719] xc5000: Successfully identified at address 0x61 [ 12.235721] xc5000: Firmware has not been loaded previously [ 12.235802] cx23885[0]/0: registered device video1 [v4l2] [ 12.241230] xc5000: waiting for firmware upload (dvb-fe-xc5000-1.6.114.fw)... [ 12.262115] xc5000: firmware read 12401 bytes. [ 12.262117] xc5000: firmware uploading... [ 13.637009] xc5000: firmware upload complete... [ 14.250077] cx23885_dvb_register() allocating 1 frontend(s) [ 14.250081] cx23885[0]: cx23885 based dvb card [ 14.288344] mb86a20s: mb86a20s_attach: [ 14.288626] Frontend revision 255 is unknown - aborting. [ 14.288705] cx23885[0]: frontend initialization failed [ 14.288710] cx23885_dvb_register() dvb_register failed err = -1 [ 14.288714] cx23885_dev_setup() Failed to register dvb adapters on VID_B [ 14.288721] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 14.288729] cx23885[0]/0: found at :02:00.0, rev: 2, irq: 19, latency: 0, mmio: 0xfd60 [ 14.288737] cx23885 :02:00.0: setting latency timer to 64 [ 14.288828] cx23885 :02:00.0: irq 44 for MSI/MSI-X I guess the error is in this part of the module mb86a20s.c /* Check if it is a mb86a20s frontend */ rev = mb86a20s_readreg(state, 0); if (rev == 0x13) { ^^ printk(KERN_INFO Detected a Fujitsu mb86a20s frontend\n); } else { printk(KERN_ERR Frontend revision %d is unknown - aborting.\n, rev); goto error; } I reiterate my gratitude, Alfredo -- Dona tu voz http://www.voxforge.org/es -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Help to make a driver. ISDB-Tb
Hi I'm trying to make the driver for X8507 Mygica. I have reference to the Mygica X8506 card, because I found that only differ in the frontend according to photos I've seen on the Internet. I am following the recommended process: http://www.linuxtv.org/wiki/index.php/Development:_How_to_add_support_for_a_device case 1 I changed cx23885-dvb.cwith the addition of these lines (copy and paste): . [CX23885_BOARD_MYGICA_X8507] = { .name = Mygica X8507, .tuner_type = TUNER_XC5000, .tuner_addr = 0x61, .porta = CX23885_ANALOG_VIDEO, .portb = CX23885_MPEG_DVB, .input = { { .type = CX23885_VMUX_TELEVISION, .vmux = CX25840_COMPOSITE2, }, { .type = CX23885_VMUX_COMPOSITE1, .vmux = CX25840_COMPOSITE8, }, { .type = CX23885_VMUX_SVIDEO, .vmux = CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4, }, { .type = CX23885_VMUX_COMPONENT, .vmux = CX25840_COMPONENT_ON | CX25840_VIN1_CH1 | CX25840_VIN6_CH2 | CX25840_VIN7_CH3, }, }, }, . .subvendor = 0x14f1, .subdevice = 0x8852, .card = CX23885_BOARD_MYGICA_X8507, }, { ... case CX23885_BOARD_MYGICA_X8507: /* GPIO-0 (0)Analog / (1)Digital TV */ /* GPIO-1 reset XC5000 */ /* GPIO-2 reset MB86A20S */ cx23885_gpio_enable(dev, GPIO_0 | GPIO_1 | GPIO_2, 1); cx23885_gpio_clear(dev, GPIO_1 | GPIO_2); mdelay(100); cx23885_gpio_set(dev, GPIO_0 | GPIO_1 | GPIO_2); mdelay(100); break; . case CX23885_BOARD_MYGICA_X8507: . case CX23885_BOARD_MYGICA_X8507: . but when compiling I get the following error: drivers/media/video/cx23885/cx23885-cards.c:240:3: error: ‘CX23885_BOARD_MYGICA_X8507’ undeclared here (not in a function) drivers/media/video/cx23885/cx23885-cards.c:240:2: error: array index in initializer not of integer type drivers/media/video/cx23885/cx23885-cards.c:240:2: error: (near initialization for ‘cx23885_boards’) make[4]: *** [drivers/media/video/cx23885/cx23885-cards.o] Error 1 make[3]: *** [drivers/media/video/cx23885] Error 2 make[2]: *** [drivers/media/video] Error 2 make[1]: *** [drivers/media] Error 2 make: *** [drivers] Error 2 I could tell what the error I make. Clarification: I am not a programmer and am trying to get to work compared with other controller. I am using the kernel 2.6.38 and OpenSUSE 11.4 I attached the modified file Thanks in advance Alfredo -- Dona tu voz http://www.voxforge.org/es /* * Driver for the Conexant CX23885 PCIe bridge * * Copyright (c) 2006 Steven Toth st...@linuxtv.org * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include linux/init.h #include linux/module.h #include linux/pci.h #include linux/delay.h #include media/cx25840.h #include cx23885.h #include tuner-xc2028.h #include netup-init.h #include cx23888-ir.h static unsigned int enable_885_ir; module_param(enable_885_ir, int, 0644); MODULE_PARM_DESC(enable_885_ir, Enable integrated IR controller for supported\n \t\tCX2388[57] boards that are wired for it:\n \t\t\tHVR-1250 (reported safe)\n \t\t\tTeVii S470 (reported unsafe)\n \t\tThis can cause an interrupt storm with some cards.\n \t\tDefault: 0 [Disabled]); /* -- */ /* board config info */ struct cx23885_board cx23885_boards[] = { [CX23885_BOARD_UNKNOWN] = { .name = UNKNOWN/GENERIC, /* Ensure safe default for unknown boards */ .clk_freq = 0, .input = {{ .type = CX23885_VMUX_COMPOSITE1, .vmux = 0, }, { .type = CX23885_VMUX_COMPOSITE2, .vmux = 1, }, { .type = CX23885_VMUX_COMPOSITE3, .vmux = 2, }, { .type = CX23885_VMUX_COMPOSITE4, .vmux = 3, } }, }, [CX23885_BOARD_HAUPPAUGE_HVR1800lp] = { .name = Hauppauge WinTV-HVR1800lp, .portc = CX23885_MPEG_DVB, .input = {{
analog sound on Mygica X8506
Hi all First of all, please if I'm on the wrong list tell me which is correct. I bought a new TV-card MyGica X8507 if I set it up as DMB-TH Mygica X8506 card 22 analog TV I can see but not hear. Can you help me to configure this card so I can listen? I hope that soon this support and can also see digital television. Thanks in advance http://www.linuxtv.org/wiki/index.php/Geniatech/MyGica_X8507_PCI-Express_Hybrid_Card dmesg [8.769368] Linux video capture interface: v2.00 [8.782879] cx23885 driver version 0.0.2 loaded [8.784037] cx23885 :02:00.0: PCI INT A - GSI 19 (level, low) - IRQ 19 [8.784041] cx23885[0]/0: cx23885_dev_setup() Memory configured for PCIe bridge type 885 [8.784043] cx23885[0]/0: cx23885_init_tsport(portno=1) [8.784223] CORE cx23885[0]: subsystem: 14f1:8502, board: Mygica X8506 DMB-TH [card=22,insmod option] [8.784226] cx23885[0]/0: cx23885_pci_quirks() [8.784230] cx23885[0]/0: cx23885_dev_setup() tuner_type = 0x4c tuner_addr = 0x61 [8.784233] cx23885[0]/0: cx23885_dev_setup() radio_type = 0x0 radio_addr = 0x0 [8.784235] cx23885[0]/0: cx23885_reset() [8.892926] cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [VID A] [8.892930] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch2] [8.892932] cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS1 B] [8.892935] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch4] [8.892937] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch5] [8.892939] cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS2 C] [8.892953] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch7] [8.892955] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch8] [8.892957] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch9] [9.131075] cx23885[0]: scan bus 0: [9.133467] cx23885[0]: i2c scan: found device @ 0x20 [???] [9.138377] cx23885[0]: i2c scan: found device @ 0x66 [???] [9.144733] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [9.144876] cx23885[0]: i2c scan: found device @ 0xa2 [???] [9.146071] cx23885[0]: i2c scan: found device @ 0xa4 [???] [9.146214] cx23885[0]: i2c scan: found device @ 0xa6 [???] [9.146355] cx23885[0]: i2c scan: found device @ 0xa8 [???] [9.146496] cx23885[0]: i2c scan: found device @ 0xaa [???] [9.146637] cx23885[0]: i2c scan: found device @ 0xac [???] [9.146778] cx23885[0]: i2c scan: found device @ 0xae [???] [9.152627] cx23885[0]: scan bus 1: [9.168325] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [9.173738] cx23885[0]: scan bus 2: [9.184143] cx23885[0]: i2c scan: found device @ 0x66 [???] [9.184795] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [9.185099] cx23885[0]: i2c scan: found device @ 0x98 [???] [9.292405] cx25840 5-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [9.302242] cx25840 5-0044: firmware: requesting v4l-cx23885-avcore-01.fw [ 10.374232] cx25840 5-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 10.380657] cx23885[0]/0: cx23885_video_register() [ 10.382438] tuner 4-0061: chip found @ 0xc2 (cx23885[0]) [ 10.553069] xc5000 4-0061: creating new instance [ 10.553766] xc5000: Successfully identified at address 0x61 [ 10.553768] xc5000: Firmware has not been loaded previously [ 10.553770] cx23885[0]/0: cx23885_vdev_init() [ 10.553828] cx23885[0]/0: registered device video1 [v4l2] [ 10.553831] cx23885[0]/0: cx23885_set_tvnorm(norm = 0x1000) name: [NTSC-M] [ 10.559271] xc5000: waiting for firmware upload (dvb-fe-xc5000-1.6.114.fw)... [ 10.559274] cx23885 :02:00.0: firmware: requesting dvb-fe-xc5000-1.6.114.fw [ 10.692589] xc5000: firmware read 12401 bytes. [ 10.692591] xc5000: firmware uploading... [ 12.066004] xc5000: firmware upload complete... [ 12.707015] cx23885[0]/0: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) (disabled - no action) [ 12.707017] cx23885[0]/0: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) (disabled - no action) [ 12.707019] cx23885[0]/0: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) (disabled - no action) [ 12.707022] cx23885[0]/0: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) (disabled - no action) [ 12.707024] cx23885[0]/0: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) (disabled - no action) [ 12.707026] cx23885[0]/0: cx23885_set_control() calling cx25840(VIDIOC_S_CTRL) (disabled - no action) [ 12.707029] cx23885[0]/0: cx23885_video_mux() video_mux: 0 [vmux=2, gpio=0x0,0x0,0x0,0x0] [ 12.711091] cx23885_dvb_register() allocating 1 frontend(s) [ 12.711094] cx23885[0]: cx23885 based dvb card [ 12.750805] xc5000 4-0061: attaching existing instance [