For a few weeks I use a Nova-TD-Stick and was annoyed with dvb stream
errors, although the demod bit-error-rate (BER/UNC) was zero.
I could track down this problem to dib0700_streaming_ctrl:
When one channel is streaming and the other channel is switched on,
the stream of the already running channel gets broken.
I think this is a firmware bug and should be fixed there, but I attach
a driver patch, which solved the problem for me. (Kernel 2.6.29.1, FW
1.20, Nova-T-Stick + Nova-TD-Stick used together). Since I had to
reduce the urb count to 1, I consider this patch as quick hack, not a
real solution.
Probably the same problem exists with other dib0700 diversity/dual
devices, without a firmware fix a similar driver patch may be helpful.
Regards,
Soeren
--- drivers/media/dvb/dvb-usb/dib0700_devices.c.orig 2009-04-18 16:45:12.000000000 +0200
+++ drivers/media/dvb/dvb-usb/dib0700_devices.c 2009-04-18 18:58:54.000000000 +0200
@@ -290,6 +290,9 @@ static int stk7700d_frontend_attach(stru
adap->fe = dvb_attach(dib7000p_attach, &adap->dev->i2c_adap,0x80+(adap->id << 1),
&stk7700d_dib7000p_mt2266_config[adap->id]);
+ adap->props.streaming_ctrl = NULL;
+ dib0700_streaming_ctrl(adap, 1);
+
return adap->fe == NULL ? -ENODEV : 0;
}
@@ -1414,7 +1417,7 @@ MODULE_DEVICE_TABLE(usb, dib0700_usb_id_
.streaming_ctrl = dib0700_streaming_ctrl, \
.stream = { \
.type = USB_BULK, \
- .count = 4, \
+ .count = 1, \
.endpoint = ep, \
.u = { \
.bulk = { \