arf... i cannot give up with this... I bought a card, and i want to use it
;)
Using the search function in HG, i found that Patrick Boettcher's tree was
the only tree with changes specific to Artec T1 models, so i compiled this
branch, installed and reboot... and then nothing happened at all. I mean,
the device was not registered at all, and the firmware was of course not
loaded.
I read in dvbusb-mb.c from
http://linuxtv.org/hg/~pb/v4l-dvb.stk3000p?f=f633dd920a72;file=linux/drivers/media/dvb/dvb-usb/dibusb-mb.c;style=gitweb
:
* XXX: As Artec just 'forgot' to program the EEPROM on some Artec T1
devices
* we don't catch these faulty IDs (namely 'Cypress FX1 USB
controller') that
* have been left on the device. If you don't have such a device but
an Artec
* device that's supposed to work with this driver but is not
detected by it,
* free to enable CONFIG_DVB_USB_DIBUSB_MB_FAULTY via your kernel
config.
so i looked at the configuration for my mandriva kernel, and indeed this
config is not enabled.
Now something is really strange to me : using the default branch, the
device is registered, and the firmware loads, without having to enable
anything at kernel compilation. Yet i noticed several differences between
the way pll is set in stk3000 branch and the master branch :
______________________________________________
stk3000p
______________________________________________
static int dibusb_dib3000mb_frontend_attach(struct dvb_usb_device *d)
{
struct dib3000_config demod_cfg;
struct dibusb_state *st = d->priv;
demod_cfg.demod_address = 0x8;
demod_cfg.pll_set = dvb_usb_pll_set_i2c;
demod_cfg.pll_init = dvb_usb_pll_init_i2c;
if ((d->fe = dib3000mb_attach(&demod_cfg,&d->i2c_adap,&st->ops)) == NULL)
return -ENODEV;
d->tuner_pass_ctrl = st->ops.tuner_pass_ctrl;
return 0;
}
__________________________________________________
master branch
__________________________________________________
static int dibusb_dib3000mb_frontend_attach(struct dvb_usb_device *d)
{
struct dib3000_config demod_cfg;
struct dibusb_state *st = d->priv;
demod_cfg.demod_address = 0x8;
if ((d->fe = dib3000mb_attach(&demod_cfg,&d->i2c_adap,&st->ops)) == NULL)
{
d->fe->ops.tuner_ops.init = dvb_usb_tuner_init_i2c;
d->fe->ops.tuner_ops.set_params = dvb_usb_tuner_set_params_i2c;
return -ENODEV;
}
d->tuner_pass_ctrl = st->ops.tuner_pass_ctrl;
return 0;
}
Once again, i am not a developper, so i cannot edit code source without
getting compilation errors, and there is a huge probability for what i'm
saying is complete non sense, but i feel like there may be something to
digg, here. If anyone feels ready to work on this, then feel free.
I will keep on looking at this, but i feel it may be the last idea i will
have about this.
Good luck everyone, and thanks for your attention.
alan
_______________________________________________
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb