* 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
[parent not found: <4AF75844.2040601@gmail.com>]
* 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
* 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
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