public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* bisected regression in tuner-xc2028 on DVICO dual digital 4
@ 2009-11-05  3:00 Robert Lowery
  2009-11-05  4:51 ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Lowery @ 2009-11-05  3:00 UTC (permalink / raw)
  To: linux-media

Hi,

I have been having some difficulties getting my DVICO dual digital 4
(rev1) working with recent kernels, failing to tune and getting errors
like the following

kernel: [ 315.032076] dvb-usb: bulk message failed: -110 (4/0)
kernel: [ 315.032080] cxusb: i2c read failed

and making the machine very slow as documented at
https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/459523

Using the v4l-dvb tree, I was able to bisect the issue down to
http://linuxtv.org/hg/v4l-dvb/rev/7276a5854219

At first I though I could workaround the issue by setting no_poweroff=1,
but that did not work.  The following diff did however resolve the issue.

diff -r 43878f8dbfb0 linux/drivers/media/common/tuners/tuner-xc2028.c
--- a/linux/drivers/media/common/tuners/tuner-xc2028.c        Sun Nov 01
07:17:46
2009 -0200
+++ b/linux/drivers/media/common/tuners/tuner-xc2028.c        Tue Nov 03
14:24:05
2009 +1100
@@ -1240,7 +1240,7 @@
         .get_frequency     = xc2028_get_frequency,
         .get_rf_strength   = xc2028_signal,
         .set_params        = xc2028_set_params,
-        .sleep             = xc2028_sleep,
+        //.sleep             = xc2028_sleep,
 #if 0
         int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth);
         int (*get_status)(struct dvb_frontend *fe, u32 *status);

This led me to dvb_frontend.c where I could see i2c_gate_ctrl() was being
called if .sleep was non zero.  Setting dvb_powerdown_on_sleep=0 worked
around the issue by stoppign i2c_gate_ctrl() being called, so I suspect
i2c_gate_ctrl() is triggering the issue somehow.

Any thoughts on a proper solution for this issue?

-Rob




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05  3:00 bisected regression in tuner-xc2028 on DVICO dual digital 4 Robert Lowery
@ 2009-11-05  4:51 ` Devin Heitmueller
  2009-11-05  5:23   ` Robert Lowery
  0 siblings, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-05  4:51 UTC (permalink / raw)
  To: Robert Lowery; +Cc: linux-media

On Wed, Nov 4, 2009 at 10:00 PM, Robert Lowery <rglowery@exemail.com.au> wrote:
> Hi,
>
> I have been having some difficulties getting my DVICO dual digital 4
> (rev1) working with recent kernels, failing to tune and getting errors
> like the following
>
> kernel: [ 315.032076] dvb-usb: bulk message failed: -110 (4/0)
> kernel: [ 315.032080] cxusb: i2c read failed
>
> and making the machine very slow as documented at
> https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/459523
>
> Using the v4l-dvb tree, I was able to bisect the issue down to
> http://linuxtv.org/hg/v4l-dvb/rev/7276a5854219
>
> At first I though I could workaround the issue by setting no_poweroff=1,
> but that did not work.  The following diff did however resolve the issue.
>
> diff -r 43878f8dbfb0 linux/drivers/media/common/tuners/tuner-xc2028.c
> --- a/linux/drivers/media/common/tuners/tuner-xc2028.c        Sun Nov 01
> 07:17:46
> 2009 -0200
> +++ b/linux/drivers/media/common/tuners/tuner-xc2028.c        Tue Nov 03
> 14:24:05
> 2009 +1100
> @@ -1240,7 +1240,7 @@
>         .get_frequency     = xc2028_get_frequency,
>         .get_rf_strength   = xc2028_signal,
>         .set_params        = xc2028_set_params,
> -        .sleep             = xc2028_sleep,
> +        //.sleep             = xc2028_sleep,
>  #if 0
>         int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth);
>         int (*get_status)(struct dvb_frontend *fe, u32 *status);
>
> This led me to dvb_frontend.c where I could see i2c_gate_ctrl() was being
> called if .sleep was non zero.  Setting dvb_powerdown_on_sleep=0 worked
> around the issue by stoppign i2c_gate_ctrl() being called, so I suspect
> i2c_gate_ctrl() is triggering the issue somehow.
>
> Any thoughts on a proper solution for this issue?
>
> -Rob

Hello Rob,

The problem is not actually the i2c_gate_ctrl().  It's the fact that
the xc3028 is being put to sleep but cannot be woken up.

The GPIOs are probably setup for this card improperly in the board
profile.  This will result in the xc3028 being put to sleep, but then
it cannot be woken up because the wrong GPIO is being pulled low to
reset the chip in the xc3028 reset callback.

Yet another case where blindly enabling the power management on the
xc3028 by default was a really crappy idea.

You can either track down the which GPIO is actually connected to the
xc3028 reset pin for your board, or disable the xc3028 power
management by setting the disable_power_mgmt field in the xc3028
config when the call is made to xc2028_set_config for your card.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05  4:51 ` Devin Heitmueller
@ 2009-11-05  5:23   ` Robert Lowery
  2009-11-05  7:37     ` Building a distribution with v4l-dvb vdr
  2009-11-05 14:02     ` bisected regression in tuner-xc2028 on DVICO dual digital 4 Devin Heitmueller
  0 siblings, 2 replies; 19+ messages in thread
From: Robert Lowery @ 2009-11-05  5:23 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: linux-media

> On Wed, Nov 4, 2009 at 10:00 PM, Robert Lowery <rglowery@exemail.com.au>
> wrote:
>> Hi,
>>
>> I have been having some difficulties getting my DVICO dual digital 4
>> (rev1) working with recent kernels, failing to tune and getting errors
>> like the following
>>
>> kernel: [ 315.032076] dvb-usb: bulk message failed: -110 (4/0)
>> kernel: [ 315.032080] cxusb: i2c read failed
>>
>> and making the machine very slow as documented at
>> https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/459523
>>
>> Using the v4l-dvb tree, I was able to bisect the issue down to
>> http://linuxtv.org/hg/v4l-dvb/rev/7276a5854219
>>
>> At first I though I could workaround the issue by setting no_poweroff=1,
>> but that did not work.  The following diff did however resolve the
>> issue.
>>
>> diff -r 43878f8dbfb0 linux/drivers/media/common/tuners/tuner-xc2028.c
>> --- a/linux/drivers/media/common/tuners/tuner-xc2028.c        Sun Nov 01
>> 07:17:46
>> 2009 -0200
>> +++ b/linux/drivers/media/common/tuners/tuner-xc2028.c        Tue Nov 03
>> 14:24:05
>> 2009 +1100
>> @@ -1240,7 +1240,7 @@
>>         .get_frequency     = xc2028_get_frequency,
>>         .get_rf_strength   = xc2028_signal,
>>         .set_params        = xc2028_set_params,
>> -        .sleep             = xc2028_sleep,
>> +        //.sleep             = xc2028_sleep,
>>  #if 0
>>         int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth);
>>         int (*get_status)(struct dvb_frontend *fe, u32 *status);
>>
>> This led me to dvb_frontend.c where I could see i2c_gate_ctrl() was
>> being
>> called if .sleep was non zero.  Setting dvb_powerdown_on_sleep=0 worked
>> around the issue by stoppign i2c_gate_ctrl() being called, so I suspect
>> i2c_gate_ctrl() is triggering the issue somehow.
>>
>> Any thoughts on a proper solution for this issue?
>>
>> -Rob
>
> Hello Rob,
>
> The problem is not actually the i2c_gate_ctrl().  It's the fact that
> the xc3028 is being put to sleep but cannot be woken up.
>
> The GPIOs are probably setup for this card improperly in the board
> profile.  This will result in the xc3028 being put to sleep, but then
> it cannot be woken up because the wrong GPIO is being pulled low to
> reset the chip in the xc3028 reset callback.
>
> Yet another case where blindly enabling the power management on the
> xc3028 by default was a really crappy idea.
>
> You can either track down the which GPIO is actually connected to the
> xc3028 reset pin for your board, or disable the xc3028 power
> management by setting the disable_power_mgmt field in the xc3028
> config when the call is made to xc2028_set_config for your card.
>
> Devin

Hi Devin,

Thanks for your reply.

I don't think your suggestion to use disable_power_mgmt will work as I
already tried setting the no_poweroff=1 kernel module without success (and
even tried recompiling with xc2028_sleep returning 0 immediately, but
until I stopped the .sleep being set at all in xc2028_dvb_tuner_ops, the
problem kept happening.

The only thing that fixed it without code change was to set
dvb_powerdown_on_sleep=0.

Looking at the below code from dvb_frontend.c, the only difference I could
see between setting no_poweroff=1 and not setting .sleep is the latter
stops i2c_gate_ctrl being called.

        if (dvb_powerdown_on_sleep) {
                if (fe->ops.set_voltage)
                        fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF);
                if (fe->ops.tuner_ops.sleep) {
                        if (fe->ops.i2c_gate_ctrl)
                                fe->ops.i2c_gate_ctrl(fe, 1);
                        fe->ops.tuner_ops.sleep(fe);
                        if (fe->ops.i2c_gate_ctrl)
                                fe->ops.i2c_gate_ctrl(fe, 0);
                }
                if (fe->ops.sleep)
                        fe->ops.sleep(fe);
        }

I'm not very familiar with this code.  Am I missing something?

-Rob

>
> --
> Devin J. Heitmueller - Kernel Labs
> http://www.kernellabs.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Building a distribution with v4l-dvb 
  2009-11-05  5:23   ` Robert Lowery
@ 2009-11-05  7:37     ` vdr
  2009-11-05 14:02     ` bisected regression in tuner-xc2028 on DVICO dual digital 4 Devin Heitmueller
  1 sibling, 0 replies; 19+ messages in thread
From: vdr @ 2009-11-05  7:37 UTC (permalink / raw)
  To: linux-media

Hello,

For my (hopefully) soon to be released Version of Gen2VDR (Gentoo based Distribution with xbmc& VDR ), i have to decide which v4l drivers I have to choose.
As always I do not use the kernel modules, because the v4l.dvb repository is more flexible and more uptodate.
My knowledge about the difference of some v4l-dvb trees is the following:

- v4l-dvb is the main tree
- liplianin is needed for several DVB-S(2) cards (Skystar2 HD e.g), but does not work with KNC One DVB-S2.
- For the TT 1600 S2 powarmans repository is the best
- MediaPointer DVB-S2 Dual lowprofile has its own repository.
- For reelmultedia's netceiver a patch is necessary

Please add your comments to these statements, and tell me whats correct and what not.
I know I have to build several dvb driver packages for the distri, but it would be helpful to take the best one's ;)

Any help is appreciated.

Helmut Auer




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05  5:23   ` Robert Lowery
  2009-11-05  7:37     ` Building a distribution with v4l-dvb vdr
@ 2009-11-05 14:02     ` Devin Heitmueller
  2009-11-05 20:57       ` Vincent McIntyre
  1 sibling, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-05 14:02 UTC (permalink / raw)
  To: Robert Lowery; +Cc: linux-media

On Thu, Nov 5, 2009 at 12:23 AM, Robert Lowery <rglowery@exemail.com.au> wrote:
> Hi Devin,
>
> Thanks for your reply.
>
> I don't think your suggestion to use disable_power_mgmt will work as I
> already tried setting the no_poweroff=1 kernel module without success (and
> even tried recompiling with xc2028_sleep returning 0 immediately, but
> until I stopped the .sleep being set at all in xc2028_dvb_tuner_ops, the
> problem kept happening.
>
> The only thing that fixed it without code change was to set
> dvb_powerdown_on_sleep=0.
>
> Looking at the below code from dvb_frontend.c, the only difference I could
> see between setting no_poweroff=1 and not setting .sleep is the latter
> stops i2c_gate_ctrl being called.
>
>        if (dvb_powerdown_on_sleep) {
>                if (fe->ops.set_voltage)
>                        fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF);
>                if (fe->ops.tuner_ops.sleep) {
>                        if (fe->ops.i2c_gate_ctrl)
>                                fe->ops.i2c_gate_ctrl(fe, 1);
>                        fe->ops.tuner_ops.sleep(fe);
>                        if (fe->ops.i2c_gate_ctrl)
>                                fe->ops.i2c_gate_ctrl(fe, 0);
>                }
>                if (fe->ops.sleep)
>                        fe->ops.sleep(fe);
>        }
>
> I'm not very familiar with this code.  Am I missing something?
>
> -Rob

Could you please clarify exactly which card you have (PCI/USB ID)?

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05 14:02     ` bisected regression in tuner-xc2028 on DVICO dual digital 4 Devin Heitmueller
@ 2009-11-05 20:57       ` Vincent McIntyre
  2009-11-05 21:04         ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Vincent McIntyre @ 2009-11-05 20:57 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Robert Lowery, linux-media

I have one of these too.

lsusb:
Bus 003 Device 003: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
(ZL10353+xc2028/xc3028) (initialized)
Bus 003 Device 002: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
(ZL10353+xc2028/xc3028) (initialized)

In addition I have a "DViCO Dual Digital Express" which is a PCIe card
based on Conexant, with the Zarlink frontend.
lspci:
04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
	Subsystem: DViCO Corporation Device [18ac:db78]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at 90000000 (64-bit, non-prefetchable) [size=2M]
	Capabilities: <access denied>
	Kernel driver in use: cx23885
	Kernel modules: cx23885



More detail, including dmesg etc, at
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/459523

On 11/6/09, Devin Heitmueller <dheitmueller@kernellabs.com> wrote:
> On Thu, Nov 5, 2009 at 12:23 AM, Robert Lowery <rglowery@exemail.com.au>
> wrote:
>> Hi Devin,
>>
>> Thanks for your reply.
>>
>> I don't think your suggestion to use disable_power_mgmt will work as I
>> already tried setting the no_poweroff=1 kernel module without success (and
>> even tried recompiling with xc2028_sleep returning 0 immediately, but
>> until I stopped the .sleep being set at all in xc2028_dvb_tuner_ops, the
>> problem kept happening.
>>
>> The only thing that fixed it without code change was to set
>> dvb_powerdown_on_sleep=0.
>>
>> Looking at the below code from dvb_frontend.c, the only difference I could
>> see between setting no_poweroff=1 and not setting .sleep is the latter
>> stops i2c_gate_ctrl being called.
>>
>>        if (dvb_powerdown_on_sleep) {
>>                if (fe->ops.set_voltage)
>>                        fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF);
>>                if (fe->ops.tuner_ops.sleep) {
>>                        if (fe->ops.i2c_gate_ctrl)
>>                                fe->ops.i2c_gate_ctrl(fe, 1);
>>                        fe->ops.tuner_ops.sleep(fe);
>>                        if (fe->ops.i2c_gate_ctrl)
>>                                fe->ops.i2c_gate_ctrl(fe, 0);
>>                }
>>                if (fe->ops.sleep)
>>                        fe->ops.sleep(fe);
>>        }
>>
>> I'm not very familiar with this code.  Am I missing something?
>>
>> -Rob
>
> Could you please clarify exactly which card you have (PCI/USB ID)?
>
> Devin
>
> --
> Devin J. Heitmueller - Kernel Labs
> http://www.kernellabs.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05 20:57       ` Vincent McIntyre
@ 2009-11-05 21:04         ` Devin Heitmueller
  2009-11-05 23:45           ` Robert Lowery
  0 siblings, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-05 21:04 UTC (permalink / raw)
  To: Vincent McIntyre; +Cc: Robert Lowery, linux-media

On Thu, Nov 5, 2009 at 3:57 PM, Vincent McIntyre
<vincent.mcintyre@gmail.com> wrote:
> I have one of these too.
>
> lsusb:
> Bus 003 Device 003: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
> (ZL10353+xc2028/xc3028) (initialized)
> Bus 003 Device 002: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
> (ZL10353+xc2028/xc3028) (initialized)
>
> In addition I have a "DViCO Dual Digital Express" which is a PCIe card
> based on Conexant, with the Zarlink frontend.
> lspci:
> 04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
> CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
>        Subsystem: DViCO Corporation Device [18ac:db78]
>        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B- DisINTx-
>        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
>        Latency: 0, Cache Line Size: 64 bytes
>        Interrupt: pin A routed to IRQ 19
>        Region 0: Memory at 90000000 (64-bit, non-prefetchable) [size=2M]
>        Capabilities: <access denied>
>        Kernel driver in use: cx23885
>        Kernel modules: cx23885

Crap.  This is the price I pay for not having noticed Robert included
a launchpad ticket with the dmesg output.

Yeah, it's a zl10353, so I know what the problem is.  Let me look at
the code and send you a patch for testing.  If you don't hear back
from me within 24 hours, ping me again.

Cheers,

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05 21:04         ` Devin Heitmueller
@ 2009-11-05 23:45           ` Robert Lowery
  2009-11-05 23:51             ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Lowery @ 2009-11-05 23:45 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Vincent McIntyre, linux-media

> On Thu, Nov 5, 2009 at 3:57 PM, Vincent McIntyre
> <vincent.mcintyre@gmail.com> wrote:
>> I have one of these too.
>>
>> lsusb:
>> Bus 003 Device 003: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
>> (ZL10353+xc2028/xc3028) (initialized)
>> Bus 003 Device 002: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
>> (ZL10353+xc2028/xc3028) (initialized)
>>
>> In addition I have a "DViCO Dual Digital Express" which is a PCIe card
>> based on Conexant, with the Zarlink frontend.
>> lspci:
>> 04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
>> CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
>>        Subsystem: DViCO Corporation Device [18ac:db78]
>>        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
>> ParErr-
>> Stepping- SERR- FastB2B- DisINTx-
>>        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
>> <TAbort- <MAbort- >SERR- <PERR- INTx-
>>        Latency: 0, Cache Line Size: 64 bytes
>>        Interrupt: pin A routed to IRQ 19
>>        Region 0: Memory at 90000000 (64-bit, non-prefetchable) [size=2M]
>>        Capabilities: <access denied>
>>        Kernel driver in use: cx23885
>>        Kernel modules: cx23885
>
> Crap.  This is the price I pay for not having noticed Robert included
> a launchpad ticket with the dmesg output.
>
> Yeah, it's a zl10353, so I know what the problem is.  Let me look at
> the code and send you a patch for testing.  If you don't hear back
> from me within 24 hours, ping me again.

Do you mean something like this (untested) patch?  I'll try it out tonight.

diff -r 43878f8dbfb0 linux/drivers/media/dvb/dvb-usb/cxusb.c
--- a/linux/drivers/media/dvb/dvb-usb/cxusb.c   Sun Nov 01 07:17:46 2009
-0200
+++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c   Fri Nov 06 10:39:38 2009
+1100
@@ -666,6 +666,14 @@
        .parallel_ts = 1,
 };

+static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate = {
+       .demod_address = 0x0f,
+       .if2 = 45600,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+       .disable_i2c_gate_ctrl = 1,
+};
+
 static struct mt352_config cxusb_mt352_xc3028_config = {
        .demod_address = 0x0f,
        .if2 = 4560,
@@ -897,7 +905,7 @@
        cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);

        if ((adap->fe = dvb_attach(zl10353_attach,
-                                  &cxusb_zl10353_xc3028_config,
+                                  &cxusb_zl10353_xc3028_config_no_i2c_gate,
                                   &adap->dev->i2c_adap)) == NULL)
                return -EIO;

>
> Cheers,
>
> Devin
>
> --
> Devin J. Heitmueller - Kernel Labs
> http://www.kernellabs.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05 23:45           ` Robert Lowery
@ 2009-11-05 23:51             ` Devin Heitmueller
  2009-11-06  0:13               ` Robert Lowery
  0 siblings, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-05 23:51 UTC (permalink / raw)
  To: Robert Lowery; +Cc: Vincent McIntyre, linux-media

On Thu, Nov 5, 2009 at 6:45 PM, Robert Lowery <rglowery@exemail.com.au> wrote:
> Do you mean something like this (untested) patch?  I'll try it out tonight.
>
> diff -r 43878f8dbfb0 linux/drivers/media/dvb/dvb-usb/cxusb.c
> --- a/linux/drivers/media/dvb/dvb-usb/cxusb.c   Sun Nov 01 07:17:46 2009
> -0200
> +++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c   Fri Nov 06 10:39:38 2009
> +1100
> @@ -666,6 +666,14 @@
>        .parallel_ts = 1,
>  };
>
> +static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate = {
> +       .demod_address = 0x0f,
> +       .if2 = 45600,
> +       .no_tuner = 1,
> +       .parallel_ts = 1,
> +       .disable_i2c_gate_ctrl = 1,
> +};
> +
>  static struct mt352_config cxusb_mt352_xc3028_config = {
>        .demod_address = 0x0f,
>        .if2 = 4560,
> @@ -897,7 +905,7 @@
>        cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);
>
>        if ((adap->fe = dvb_attach(zl10353_attach,
> -                                  &cxusb_zl10353_xc3028_config,
> +                                  &cxusb_zl10353_xc3028_config_no_i2c_gate,
>                                   &adap->dev->i2c_adap)) == NULL)
>                return -EIO;

Wow, that looks shockingly similar to the patch I did for an em28xx
boards a couple of months ago, even down to the part where you added
"_no_i2c_gate" to the end!  :-)

Yeah, that's the fix, although from the diff I can't tell if you're
doing it for all zl10353 boards in cxusb.c or just yours.  I would
have to see the source to know for sure.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-05 23:51             ` Devin Heitmueller
@ 2009-11-06  0:13               ` Robert Lowery
  2009-11-06  2:31                 ` Robert Lowery
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Lowery @ 2009-11-06  0:13 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Vincent McIntyre, linux-media

> On Thu, Nov 5, 2009 at 6:45 PM, Robert Lowery <rglowery@exemail.com.au>
> wrote:
>> Do you mean something like this (untested) patch?  I'll try it out
>> tonight.
>>
>> diff -r 43878f8dbfb0 linux/drivers/media/dvb/dvb-usb/cxusb.c
>> --- a/linux/drivers/media/dvb/dvb-usb/cxusb.c   Sun Nov 01 07:17:46 2009
>> -0200
>> +++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c   Fri Nov 06 10:39:38 2009
>> +1100
>> @@ -666,6 +666,14 @@
>>        .parallel_ts = 1,
>>  };
>>
>> +static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate =
>> {
>> +       .demod_address = 0x0f,
>> +       .if2 = 45600,
>> +       .no_tuner = 1,
>> +       .parallel_ts = 1,
>> +       .disable_i2c_gate_ctrl = 1,
>> +};
>> +
>>  static struct mt352_config cxusb_mt352_xc3028_config = {
>>        .demod_address = 0x0f,
>>        .if2 = 4560,
>> @@ -897,7 +905,7 @@
>>        cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);
>>
>>        if ((adap->fe = dvb_attach(zl10353_attach,
>> -                                  &cxusb_zl10353_xc3028_config,
>> +                                
>>  &cxusb_zl10353_xc3028_config_no_i2c_gate,
>>                                   &adap->dev->i2c_adap)) == NULL)
>>                return -EIO;
>
> Wow, that looks shockingly similar to the patch I did for an em28xx
> boards a couple of months ago, even down to the part where you added
> "_no_i2c_gate" to the end!  :-)

I might have got some inspiration from somewhere :)

>
> Yeah, that's the fix, although from the diff I can't tell if you're
> doing it for all zl10353 boards in cxusb.c or just yours.  I would
> have to see the source to know for sure.

I only changed cxusb_dualdig4_frontend_attach() so it should be just my
board.  The only other board that was using cxusb_zl10353_xc3028_config
was cxusb_nano2_frontend_attach(), but I left that as is since I don't
know if that board is similarily affected.

I'l try it out tonight and confirm it fixes the problem

Thanks for your help

-Rob

>
> Devin
>
> --
> Devin J. Heitmueller - Kernel Labs
> http://www.kernellabs.com
>



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-06  0:13               ` Robert Lowery
@ 2009-11-06  2:31                 ` Robert Lowery
  2009-11-06  2:43                   ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Lowery @ 2009-11-06  2:31 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Vincent McIntyre, linux-media

>> On Thu, Nov 5, 2009 at 6:45 PM, Robert Lowery <rglowery@exemail.com.au>
>> wrote:
>>> Do you mean something like this (untested) patch?  I'll try it out
>>> tonight.
>>>
>>> diff -r 43878f8dbfb0 linux/drivers/media/dvb/dvb-usb/cxusb.c
>>> --- a/linux/drivers/media/dvb/dvb-usb/cxusb.c   Sun Nov 01 07:17:46
>>> 2009
>>> -0200
>>> +++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c   Fri Nov 06 10:39:38
>>> 2009
>>> +1100
>>> @@ -666,6 +666,14 @@
>>>        .parallel_ts = 1,
>>>  };
>>>
>>> +static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate =
>>> {
>>> +       .demod_address = 0x0f,
>>> +       .if2 = 45600,
>>> +       .no_tuner = 1,
>>> +       .parallel_ts = 1,
>>> +       .disable_i2c_gate_ctrl = 1,
>>> +};
>>> +
>>>  static struct mt352_config cxusb_mt352_xc3028_config = {
>>>        .demod_address = 0x0f,
>>>        .if2 = 4560,
>>> @@ -897,7 +905,7 @@
>>>        cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);
>>>
>>>        if ((adap->fe = dvb_attach(zl10353_attach,
>>> -                                  &cxusb_zl10353_xc3028_config,
>>> +                                
>>>  &cxusb_zl10353_xc3028_config_no_i2c_gate,
>>>                                   &adap->dev->i2c_adap)) == NULL)
>>>                return -EIO;
>>
>> Wow, that looks shockingly similar to the patch I did for an em28xx
>> boards a couple of months ago, even down to the part where you added
>> "_no_i2c_gate" to the end!  :-)
>
> I might have got some inspiration from somewhere :)
>
>>
>> Yeah, that's the fix, although from the diff I can't tell if you're
>> doing it for all zl10353 boards in cxusb.c or just yours.  I would
>> have to see the source to know for sure.
>
> I only changed cxusb_dualdig4_frontend_attach() so it should be just my
> board.  The only other board that was using cxusb_zl10353_xc3028_config
> was cxusb_nano2_frontend_attach(), but I left that as is since I don't
> know if that board is similarily affected.
>
> I'll try it out tonight and confirm it fixes the problem

Devin,

I have confirmed the patch below fixes my issue.  Could you please merge
it for me?

Thanks

-Rob

Fix hang on DViCO FusionHDTV DVB-T Dual Digital 4 (rev 1)
Signed Off: Robert Lowery <rglowery@exemail.com.au>

diff -r c57f47cfb0e8 linux/drivers/media/dvb/dvb-usb/cxusb.c
--- a/linux/drivers/media/dvb/dvb-usb/cxusb.c   Wed Nov 04 18:21:15 2009
-0200
+++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c   Fri Nov 06 13:28:07 2009
+1100
@@ -666,6 +666,14 @@
        .parallel_ts = 1,
 };

+static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate = {
+       .demod_address = 0x0f,
+       .if2 = 45600,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+       .disable_i2c_gate_ctrl = 1,
+};
+
 static struct mt352_config cxusb_mt352_xc3028_config = {
        .demod_address = 0x0f,
        .if2 = 4560,
@@ -897,7 +905,7 @@
        cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);

        if ((adap->fe = dvb_attach(zl10353_attach,
-                                  &cxusb_zl10353_xc3028_config,
+                                  &cxusb_zl10353_xc3028_config_no_i2c_gate,
                                   &adap->dev->i2c_adap)) == NULL)
                return -EIO;



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-06  2:31                 ` Robert Lowery
@ 2009-11-06  2:43                   ` Devin Heitmueller
  2009-11-07  0:59                     ` Vincent McIntyre
  0 siblings, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-06  2:43 UTC (permalink / raw)
  To: Robert Lowery; +Cc: Vincent McIntyre, linux-media

On Thu, Nov 5, 2009 at 9:31 PM, Robert Lowery <rglowery@exemail.com.au> wrote:
> Devin,
>
> I have confirmed the patch below fixes my issue.  Could you please merge
> it for me?
>
> Thanks
>
> -Rob

Sure.  I'm putting together a patch series for this weekend with a few
different misc fixes.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-06  2:43                   ` Devin Heitmueller
@ 2009-11-07  0:59                     ` Vincent McIntyre
  2009-11-07  1:43                       ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Vincent McIntyre @ 2009-11-07  0:59 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Robert Lowery, linux-media

I tried this patch, on 2.6.24-23-rt and 2.6.31-14-generic
.
On the first, it appears to work fine. Thanks again Rob!

On the second, while the kernel seems happy I am unable to get any
applications to tune the card, when I use the latest v4l tree + Rob's
patch (40705fec2fb2 tip).

 * dvbscan fails with 'unable to query frontend status'

 * vlc is unable to tune as well
[0x9c2cf50] dvb access error: DVB-T: setting frontend failed (-1):
Invalid argument
[0x9c2cf50] dvb access error: DVB-T: tuning failed
[0xb7400c18] main input error: open of `dvb://frequency=177500' failed: (null)


 * w_scan fails a bit more informatively
w_scan version 20090808 (compiled for DVB API 5.0)
using settings for AUSTRALIA
DVB aerial
DVB-T AU
frontend_type DVB-T, channellist 3
output format vdr-1.6
Info: using DVB adapter auto detection.
        /dev/dvb/adapter0/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good :-)
        /dev/dvb/adapter1/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good :-)
        /dev/dvb/adapter2/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good :-)
        /dev/dvb/adapter3/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good :-)
Using DVB-T frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.1
frontend Zarlink ZL10353 DVB-T supports
INVERSION_AUTO
QAM_AUTO
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Scanning 7MHz frequencies...
177500: (time: 00:00) set_frontend:1690: FATAL: unsupported DVB API Version 5.1

Presumably this is all understood and expected (i.e. application
authors are updating their code?)

Is there a way to build with the API set to version 5.0?

I was able to use vlc and w_scan ok with Rob's module option
workaround and the stock modules from ubuntu. I will have a go at
building their source + Rob's patch.


On 11/6/09, Devin Heitmueller <dheitmueller@kernellabs.com> wrote:
> On Thu, Nov 5, 2009 at 9:31 PM, Robert Lowery <rglowery@exemail.com.au>
> wrote:
>> Devin,
>>
>> I have confirmed the patch below fixes my issue.  Could you please merge
>> it for me?
>>
>> Thanks
>>
>> -Rob
>
> Sure.  I'm putting together a patch series for this weekend with a few
> different misc fixes.
>
> Devin
>
> --
> Devin J. Heitmueller - Kernel Labs
> http://www.kernellabs.com
>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-07  0:59                     ` Vincent McIntyre
@ 2009-11-07  1:43                       ` Devin Heitmueller
  2009-11-07 11:28                         ` Vincent McIntyre
  0 siblings, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-07  1:43 UTC (permalink / raw)
  To: Vincent McIntyre; +Cc: Robert Lowery, linux-media

Please excuse the top post. This is coming from my phone.

Vincent, please confirm exactly which of your boards is not working.
Roberts patch is not a general fix and only applies to his EXACT
product .

please provide the pci/usb I'd in question.

thanks,

devin

On 11/6/09, Vincent McIntyre <vincent.mcintyre@gmail.com> wrote:
> I tried this patch, on 2.6.24-23-rt and 2.6.31-14-generic
> .
> On the first, it appears to work fine. Thanks again Rob!
>
> On the second, while the kernel seems happy I am unable to get any
> applications to tune the card, when I use the latest v4l tree + Rob's
> patch (40705fec2fb2 tip).
>
>  * dvbscan fails with 'unable to query frontend status'
>
>  * vlc is unable to tune as well
> [0x9c2cf50] dvb access error: DVB-T: setting frontend failed (-1):
> Invalid argument
> [0x9c2cf50] dvb access error: DVB-T: tuning failed
> [0xb7400c18] main input error: open of `dvb://frequency=177500' failed:
> (null)
>
>
>  * w_scan fails a bit more informatively
> w_scan version 20090808 (compiled for DVB API 5.0)
> using settings for AUSTRALIA
> DVB aerial
> DVB-T AU
> frontend_type DVB-T, channellist 3
> output format vdr-1.6
> Info: using DVB adapter auto detection.
>         /dev/dvb/adapter0/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
> :-)
>         /dev/dvb/adapter1/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
> :-)
>         /dev/dvb/adapter2/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
> :-)
>         /dev/dvb/adapter3/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
> :-)
> Using DVB-T frontend (adapter /dev/dvb/adapter0/frontend0)
> -_-_-_-_ Getting frontend capabilities-_-_-_-_
> Using DVB API 5.1
> frontend Zarlink ZL10353 DVB-T supports
> INVERSION_AUTO
> QAM_AUTO
> TRANSMISSION_MODE_AUTO
> GUARD_INTERVAL_AUTO
> HIERARCHY_AUTO
> FEC_AUTO
> -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
> Scanning 7MHz frequencies...
> 177500: (time: 00:00) set_frontend:1690: FATAL: unsupported DVB API Version
> 5.1
>
> Presumably this is all understood and expected (i.e. application
> authors are updating their code?)
>
> Is there a way to build with the API set to version 5.0?
>
> I was able to use vlc and w_scan ok with Rob's module option
> workaround and the stock modules from ubuntu. I will have a go at
> building their source + Rob's patch.
>
>
> On 11/6/09, Devin Heitmueller <dheitmueller@kernellabs.com> wrote:
>> On Thu, Nov 5, 2009 at 9:31 PM, Robert Lowery <rglowery@exemail.com.au>
>> wrote:
>>> Devin,
>>>
>>> I have confirmed the patch below fixes my issue.  Could you please merge
>>> it for me?
>>>
>>> Thanks
>>>
>>> -Rob
>>
>> Sure.  I'm putting together a patch series for this weekend with a few
>> different misc fixes.
>>
>> Devin
>>
>> --
>> Devin J. Heitmueller - Kernel Labs
>> http://www.kernellabs.com
>>
>


-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-07  1:43                       ` Devin Heitmueller
@ 2009-11-07 11:28                         ` Vincent McIntyre
  2009-11-08  2:40                           ` Devin Heitmueller
  0 siblings, 1 reply; 19+ messages in thread
From: Vincent McIntyre @ 2009-11-07 11:28 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Robert Lowery, linux-media

Hi Devin

> please confirm exactly which of your boards is not working.

Sorry for being unclear.

I have three test setups I am working with, all on the same computer.
1. Ubuntu Hardy, kernel 2.6.24-23-rt and drivers from v4l-dvb tip.
2. Ubuntu Karmic, kernel 2.6.31-14-generic, stock Ubuntu drivers.
3. Ubuntu Karmic, kernel 2.6.31-14-generic, v4l-dvb tip.

Setups 2 & 3 are the same install, on a separate hard disk from setup 1.
I change between 2 & 3 by installing the v4l modules or restoring the
ubuntu stuff from backup. (rsync -av --delete).

The computer has two DVB-T cards.

First device is the same as Robert's, I believe. It has two tuners. lsusb gives:
Bus 003 Device 003: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
(ZL10353+xc2028/xc3028) (initialized)
Bus 003 Device 002: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
(ZL10353+xc2028/xc3028) (initialized)
I have a 'rev1' version of this board.


Second device is DViCO FusionHDTV Dual Digital Express, a PCIe card
based on cx23885[1] It also has two tuners. lspci gives:
04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
	Subsystem: DViCO Corporation Device [18ac:db78]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at 90000000 (64-bit, non-prefetchable) [size=2M]
	Capabilities: <access denied>
	Kernel driver in use: cx23885
	Kernel modules: cx23885

With Robert's patch compiled in:
 * On setup 1
  I am able to tune both cards and there are no errors from the cxusb module
   or dvb-usb anymore.
   I tested each of the four tuners, by running dvbscan with
appropriate arguments to
   select the right /dev/dvb/adapterN.

   I just realised I should probably revert the patch and check which
tuners show the
   original problem. Before I was taking the default choice (adapter0,
I think) which is
    one of lhe Dual Digital 4 tuners.

 * I have yet to test setup 2,
   I have built the patched kernel module but the box is back 'in
production' right now.
   I plan to test tomorrow.

 * On setup 3. I attempted to tune using dvbscan, w_scan and vlc.
   Again, I was not specific about which tuner the applications should use.
   So to answer your question, I think it is the lsusb id 0fe9:db78
that is unable to tune.
   I will check the tuners individually, tomorrow.

   My impression was that the failures were because of API differences
between the
   applications (all provided as part of the ubuntu install) and the
V4L modules. I have
   not tried to build v4l-apps from the mercurial tree.

So, I hope this makes things clearer. Happy to run tests if you have
any time to look at this.

Kind regards
Vince


[1] http://linuxtv.org/wiki/index.php/DViCO_FusionHDTV_DVB-T_Dual_Express

On 11/7/09, Devin Heitmueller <dheitmueller@kernellabs.com> wrote:
> Please excuse the top post. This is coming from my phone.
>
> Vincent, please confirm exactly which of your boards is not working.
> Roberts patch is not a general fix and only applies to his EXACT
> product .
>
> please provide the pci/usb I'd in question.
>
> thanks,
>
> devin
>
> On 11/6/09, Vincent McIntyre <vincent.mcintyre@gmail.com> wrote:
>> I tried this patch, on 2.6.24-23-rt and 2.6.31-14-generic
>> .
>> On the first, it appears to work fine. Thanks again Rob!
>>
>> On the second, while the kernel seems happy I am unable to get any
>> applications to tune the card, when I use the latest v4l tree + Rob's
>> patch (40705fec2fb2 tip).
>>
>>  * dvbscan fails with 'unable to query frontend status'
>>
>>  * vlc is unable to tune as well
>> [0x9c2cf50] dvb access error: DVB-T: setting frontend failed (-1):
>> Invalid argument
>> [0x9c2cf50] dvb access error: DVB-T: tuning failed
>> [0xb7400c18] main input error: open of `dvb://frequency=177500' failed:
>> (null)
>>
>>
>>  * w_scan fails a bit more informatively
>> w_scan version 20090808 (compiled for DVB API 5.0)
>> using settings for AUSTRALIA
>> DVB aerial
>> DVB-T AU
>> frontend_type DVB-T, channellist 3
>> output format vdr-1.6
>> Info: using DVB adapter auto detection.
>>         /dev/dvb/adapter0/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
>> :-)
>>         /dev/dvb/adapter1/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
>> :-)
>>         /dev/dvb/adapter2/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
>> :-)
>>         /dev/dvb/adapter3/frontend0 -> DVB-T "Zarlink ZL10353 DVB-T": good
>> :-)
>> Using DVB-T frontend (adapter /dev/dvb/adapter0/frontend0)
>> -_-_-_-_ Getting frontend capabilities-_-_-_-_
>> Using DVB API 5.1
>> frontend Zarlink ZL10353 DVB-T supports
>> INVERSION_AUTO
>> QAM_AUTO
>> TRANSMISSION_MODE_AUTO
>> GUARD_INTERVAL_AUTO
>> HIERARCHY_AUTO
>> FEC_AUTO
>> -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
>> Scanning 7MHz frequencies...
>> 177500: (time: 00:00) set_frontend:1690: FATAL: unsupported DVB API
>> Version
>> 5.1
>>
>> Presumably this is all understood and expected (i.e. application
>> authors are updating their code?)
>>
>> Is there a way to build with the API set to version 5.0?
>>
>> I was able to use vlc and w_scan ok with Rob's module option
>> workaround and the stock modules from ubuntu. I will have a go at
>> building their source + Rob's patch.
>>
>>
>> On 11/6/09, Devin Heitmueller <dheitmueller@kernellabs.com> wrote:
>>> On Thu, Nov 5, 2009 at 9:31 PM, Robert Lowery <rglowery@exemail.com.au>
>>> wrote:
>>>> Devin,
>>>>
>>>> I have confirmed the patch below fixes my issue.  Could you please merge
>>>> it for me?
>>>>
>>>> Thanks
>>>>
>>>> -Rob
>>>
>>> Sure.  I'm putting together a patch series for this weekend with a few
>>> different misc fixes.
>>>
>>> Devin
>>>
>>> --
>>> Devin J. Heitmueller - Kernel Labs
>>> http://www.kernellabs.com
>>>
>>
>
>
> --
> Devin J. Heitmueller - Kernel Labs
> http://www.kernellabs.com
>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-07 11:28                         ` Vincent McIntyre
@ 2009-11-08  2:40                           ` Devin Heitmueller
  2009-11-08 14:16                             ` Devin Heitmueller
  2009-11-08 22:51                             ` Vincent McIntyre
  0 siblings, 2 replies; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-08  2:40 UTC (permalink / raw)
  To: Vincent McIntyre; +Cc: Robert Lowery, linux-media

On Sat, Nov 7, 2009 at 6:28 AM, Vincent McIntyre
<vincent.mcintyre@gmail.com> wrote:
> Hi Devin
>
>> please confirm exactly which of your boards is not working.
>
> Sorry for being unclear.
>
> I have three test setups I am working with, all on the same computer.
> 1. Ubuntu Hardy, kernel 2.6.24-23-rt and drivers from v4l-dvb tip.
> 2. Ubuntu Karmic, kernel 2.6.31-14-generic, stock Ubuntu drivers.
> 3. Ubuntu Karmic, kernel 2.6.31-14-generic, v4l-dvb tip.
>
> Setups 2 & 3 are the same install, on a separate hard disk from setup 1.
> I change between 2 & 3 by installing the v4l modules or restoring the
> ubuntu stuff from backup. (rsync -av --delete).
>
> The computer has two DVB-T cards.
>
> First device is the same as Robert's, I believe. It has two tuners. lsusb gives:
> Bus 003 Device 003: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
> (ZL10353+xc2028/xc3028) (initialized)
> Bus 003 Device 002: ID 0fe9:db78 DVICO FusionHDTV DVB-T Dual Digital 4
> (ZL10353+xc2028/xc3028) (initialized)
> I have a 'rev1' version of this board.
>
>
> Second device is DViCO FusionHDTV Dual Digital Express, a PCIe card
> based on cx23885[1] It also has two tuners. lspci gives:
> 04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc.
> CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
>        Subsystem: DViCO Corporation Device [18ac:db78]
>        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B- DisINTx-
>        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
>        Latency: 0, Cache Line Size: 64 bytes
>        Interrupt: pin A routed to IRQ 19
>        Region 0: Memory at 90000000 (64-bit, non-prefetchable) [size=2M]
>        Capabilities: <access denied>
>        Kernel driver in use: cx23885
>        Kernel modules: cx23885
>
> With Robert's patch compiled in:
>  * On setup 1
>  I am able to tune both cards and there are no errors from the cxusb module
>   or dvb-usb anymore.
>   I tested each of the four tuners, by running dvbscan with
> appropriate arguments to
>   select the right /dev/dvb/adapterN.
>
>   I just realised I should probably revert the patch and check which
> tuners show the
>   original problem. Before I was taking the default choice (adapter0,
> I think) which is
>    one of lhe Dual Digital 4 tuners.
>
>  * I have yet to test setup 2,
>   I have built the patched kernel module but the box is back 'in
> production' right now.
>   I plan to test tomorrow.
>
>  * On setup 3. I attempted to tune using dvbscan, w_scan and vlc.
>   Again, I was not specific about which tuner the applications should use.
>   So to answer your question, I think it is the lsusb id 0fe9:db78
> that is unable to tune.
>   I will check the tuners individually, tomorrow.
>
>   My impression was that the failures were because of API differences
> between the
>   applications (all provided as part of the ubuntu install) and the
> V4L modules. I have
>   not tried to build v4l-apps from the mercurial tree.
>
> So, I hope this makes things clearer. Happy to run tests if you have
> any time to look at this.

Hello Vince,

I think the next step at this point is for you to definitively find a
use case that does not work with the latest v4l-dvb tip and Robert's
patch, and include exactly what kernel you tested with and which board
is having the problem (including the PCI or USB ID).

At this point, your description seems a bit vague in terms of what is
working and what is not.  If you do the additional testing to narrow
down specifically the failure case you are experiencing, I will see
what I can do.

That said, I'm preparing a tree with Robert's patch since I am pretty
confident at least his particular problem is now addressed.

Thanks,

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-08  2:40                           ` Devin Heitmueller
@ 2009-11-08 14:16                             ` Devin Heitmueller
       [not found]                               ` <4AF75844.2040601@gmail.com>
  2009-11-08 22:51                             ` Vincent McIntyre
  1 sibling, 1 reply; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-08 14:16 UTC (permalink / raw)
  To: Vincent McIntyre; +Cc: Robert Lowery, linux-media

On Sat, Nov 7, 2009 at 9:40 PM, Devin Heitmueller
<dheitmueller@kernellabs.com> wrote:
> Hello Vince,
>
> I think the next step at this point is for you to definitively find a
> use case that does not work with the latest v4l-dvb tip and Robert's
> patch, and include exactly what kernel you tested with and which board
> is having the problem (including the PCI or USB ID).
>
> At this point, your description seems a bit vague in terms of what is
> working and what is not.  If you do the additional testing to narrow
> down specifically the failure case you are experiencing, I will see
> what I can do.
>
> That said, I'm preparing a tree with Robert's patch since I am pretty
> confident at least his particular problem is now addressed.
>
> Thanks,
>
> Devin

Robert,

FYI:  this has been merged into my local tree (after fixing some
whitespace problems introduced by the inlining of the patch into the
email).  I'll issue a PULL request tonight.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
  2009-11-08  2:40                           ` Devin Heitmueller
  2009-11-08 14:16                             ` Devin Heitmueller
@ 2009-11-08 22:51                             ` Vincent McIntyre
  1 sibling, 0 replies; 19+ messages in thread
From: Vincent McIntyre @ 2009-11-08 22:51 UTC (permalink / raw)
  To: Devin Heitmueller; +Cc: Robert Lowery, linux-media

On 11/8/09, Devin Heitmueller <dheitmueller@kernellabs.com> wrote:

> I think the next step at this point is for you to definitively find a
> use case that does not work with the latest v4l-dvb tip and Robert's
> patch, and include exactly what kernel you tested with and which board
> is having the problem (including the PCI or USB ID).
>
> At this point, your description seems a bit vague in terms of what is
> working and what is not.  If you do the additional testing to narrow
> down specifically the failure case you are experiencing, I will see
> what I can do.

I'm trying to be as clear as I can.

We can forget about setups 1 and 2, they no longer have the messages
from the cxusb module that I originally reported, I can tune and run
signal level tests like [1].

I'm now looking at setup 3.
 os: ubuntu karmic i386
 kernel: 2.6.31-14-generic
 v4l modules: hg identify returns "19c0469c02c3+ tip"

 If I cold boot, I see no tuning issues at the kernel level. Details
of the test below.

 The failure I was attempting to report is that
 I am unable to tune with dvbscan or w_scan.
 I think it is due to changes in the V4L API with respect to the versions
 of these programs I have installed.

 However I am able to tune with 'tzap'. I'm not entirely sure why tzap works,
 but it does and it shows the v4l tip drivers are ok regarding the
issue originally
 reported.

 There are two further areas I am looking into.
 1. If I *warm* boot the same setup, I see "dvb-usb: bulk message failed:"
     in dmesg.
     I am working on this still to try to get a clear report for you of when
     and on which device it occurs. It will probably take me a week to get
     back to you.
 2. There may be differences in performance, in that:
     2.6.31-14-generic+v4l+Rob shows worse Bit Error Rates than
     2.6.31-14-generic+Rob
     Again I have some work to do to clarify this.
     It seems likely it is a separate issue from this thread.

> That said, I'm preparing a tree with Robert's patch since I am pretty
> confident at least his particular problem is now addressed.

I can see no obstacle to you going ahead with that. Thanks again.

Cheers
Vince

Test details:
 I tune like this:
   sudo strace -t -ff -F -o tzap.strace /usr/bin/tzap -a 0 -r -c
channels.conf "7 Digital(Seven Network)"

 In dmesg I see the firmware being loaded but no other messages:
   [ 1232.684884] usb 3-1: firmware: requesting xc3028-v27.fw
   [ 1232.743698] xc2028 1-0061: Loading 80 firmware images from
xc3028-v27.fw, type: xc2028 firmware, ver 2.7
   [ 1232.756391] xc2028 1-0061: Loading firmware for type=BASE F8MHZ
(3), id 0000000000000000.
   [ 1237.332511] xc2028 1-0061: Loading firmware for type=D2633 DTV7
(90), id 0000000000000000.
   [ 1237.416510] xc2028 1-0061: Loading SCODE for type=SCODE
HAS_IF_5260 (60000000), id 0000000000000000.

 I can successfully tune each of the 4 tuners in this way. Each time I
run tzap on
 a tuner I've not used before, dmesg shows the firmware loading ok.


[1] http://linuxtv.org/wiki/index.php/Testing_reception_quality

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: bisected regression in tuner-xc2028 on DVICO dual digital 4
       [not found]                               ` <4AF75844.2040601@gmail.com>
@ 2009-11-08 23:55                                 ` Devin Heitmueller
  0 siblings, 0 replies; 19+ messages in thread
From: Devin Heitmueller @ 2009-11-08 23:55 UTC (permalink / raw)
  To: Barry Williams; +Cc: Linux Media Mailing List

On Sun, Nov 8, 2009 at 6:46 PM, Barry Williams <bazzawill@gmail.com> wrote:
> Where would I find your local tree as I can't seem to get the patch to
> apply and I would like to take advantage of this patch asap.
> Thanks
> Barry

I pushed out my tree with the fix:

http://kernellabs.com/hg/~dheitmueller/misc-fixes-4

I haven't issued a PULL yet to put it into the mainline since I have a
couple of other things pending.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2009-11-08 23:55 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-05  3:00 bisected regression in tuner-xc2028 on DVICO dual digital 4 Robert Lowery
2009-11-05  4:51 ` Devin Heitmueller
2009-11-05  5:23   ` Robert Lowery
2009-11-05  7:37     ` Building a distribution with v4l-dvb vdr
2009-11-05 14:02     ` bisected regression in tuner-xc2028 on DVICO dual digital 4 Devin Heitmueller
2009-11-05 20:57       ` Vincent McIntyre
2009-11-05 21:04         ` Devin Heitmueller
2009-11-05 23:45           ` Robert Lowery
2009-11-05 23:51             ` Devin Heitmueller
2009-11-06  0:13               ` Robert Lowery
2009-11-06  2:31                 ` Robert Lowery
2009-11-06  2:43                   ` Devin Heitmueller
2009-11-07  0:59                     ` Vincent McIntyre
2009-11-07  1:43                       ` Devin Heitmueller
2009-11-07 11:28                         ` Vincent McIntyre
2009-11-08  2:40                           ` Devin Heitmueller
2009-11-08 14:16                             ` Devin Heitmueller
     [not found]                               ` <4AF75844.2040601@gmail.com>
2009-11-08 23:55                                 ` Devin Heitmueller
2009-11-08 22:51                             ` Vincent McIntyre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox