[linux-dvb] Hauppauge WinTV-NOVA-T-500 New Firmware (dvb-usb-dib0700-1.20.fw) causes problems
Thomas Goerke
tom at goeng.com.au
Fri Aug 29 04:40:28 CEST 2008
> Let's try this to rule out whether it's the new i2c interface or some
> other aspect of the 1.20 firmware:
>
> Add the following line to the dib0700_devices.c at line 78:
>
> st->fw_use_legacy_i2c_api = 1;
>
> It should end up looking like:
>
> =======
> static int bristol_frontend_attach(struct dvb_usb_adapter *adap)
> {
> struct dib0700_state *st = adap->dev->priv;
>
> st->fw_use_legacy_i2c_api = 1;
>
> if (adap->id == 0) {
> ....
> =======
>
> That will tell it to fall back to the legacy i2c interface (which was
> working fine for you in the 1.10 firmware).
>
> Make that change, reboot your system, and send me the dmesg output so
> we can see if you still get i2c errors.
>
> Thanks,
>
> Devin
> --
> Devin J. Heitmueller
> http://www.devinheitmueller.com
> AIM: devinheitmueller
Devin,
See output below. Tuners are now working correctly with MythTV.
[ 32.498881] dib0700: loaded with support for 7 different device-types
[ 32.498961] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in cold
state, will try to load a firmware
--
[ 32.537956] dvb-usb: downloading firmware from file
'dvb-usb-dib0700-1.20.fw'
--
[ 32.778909] dib0700: firmware started successfully.
[ 33.281095] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in warm
state.
[ 33.281127] dvb-usb: will pass the complete MPEG2 transport stream to the
software demuxer.
[ 33.281295] DVB: registering new adapter (Hauppauge Nova-T 500 Dual
DVB-T)
[ 33.390157] DVB: registering frontend 0 (DiBcom 3000MC/P)...
[ 33.448122] MT2060: successfully identified (IF1 = 1258)
[ 33.923079] dvb-usb: will pass the complete MPEG2 transport stream to the
software demuxer.
[ 33.923271] DVB: registering new adapter (Hauppauge Nova-T 500 Dual
DVB-T)
[ 33.928451] DVB: registering frontend 1 (DiBcom 3000MC/P)...
[ 33.932949] MT2060: successfully identified (IF1 = 1255)
[ 34.416827] input: IR-receiver inside an USB DVB receiver as
/devices/pci0000:00/0000:00:1e.0/0000:05:00.2/usb11/11-1/input/input6
[ 34.444154] dvb-usb: schedule remote query interval to 150 msecs.
[ 34.444157] dvb-usb: Hauppauge Nova-T 500 Dual DVB-T successfully
initialized and connected.
[ 34.444269] usbcore: registered new interface driver dvb_usb_dib0700
--
FYI copy of code that I edited (dib0700_devices.c)
static int bristol_frontend_attach(struct dvb_usb_adapter *adap)
{
struct dib0700_state *st = adap->dev->priv;
st->fw_use_legacy_i2c_api = 1;
if (adap->id == 0) {
dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0);
msleep(10);
dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);
msleep(10);
dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0);
msleep(10);
dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1);
msleep(10);
if (force_lna_activation)
dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1);
else
dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 0);
if (dib3000mc_i2c_enumeration(&adap->dev->i2c_adap, 2,
DEFAULT_DIB3000P_I2C_ADDRESS, bristol_dib3000mc_config) != 0) {
dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0);
msleep(10);
return -ENODEV;
}
}
st->mt2060_if1[adap->id] = 1220;
return (adap->fe = dvb_attach(dib3000mc_attach,
&adap->dev->i2c_adap,
(10 + adap->id) << 1, &bristol_dib3000mc_config[adap->id]))
== NULL ? -ENODEV : 0;
}
More information about the linux-dvb
mailing list