[linux-dvb] AVerTV-771 not working anymore
Ronny Peine
RonnyPeine at gmx.de
Tue Aug 9 21:03:46 CEST 2005
Hi again,
i made a small change in mt352.c in the function mt352_attach:
struct dvb_frontend* mt352_attach(const struct mt352_config* config,
struct i2c_adapter* i2c)
{
struct mt352_state* state = NULL;
/* allocate memory for the internal state */
state = kmalloc(sizeof(struct mt352_state), GFP_KERNEL);
if (state == NULL) goto error;
memset(state,0,sizeof(*state));
/* setup the state */
state->i2c = i2c;
memcpy(&state->config,config,sizeof(struct mt352_config));
memcpy(&state->ops, &mt352_ops, sizeof(struct dvb_frontend_ops));
/**/
/* hard reset */
state->frontend.ops = &state->ops;
state->frontend.demodulator_priv = state;
if (&state->frontend != NULL) {
static u8 mt352_reset_attach [] = { RESET, 0xC0 };
mt352_write(&state->frontend, mt352_reset_attach,
sizeof(mt352_reset_attach));
} else {
printk("frontend is NULL\n");
}
/**/
/* check if the demod is there */
if (mt352_read_register(state, CHIP_ID) != ID_MT352) goto error;
/* create dvb_frontend */
state->frontend.ops = &state->ops;
state->frontend.demodulator_priv = state;
return &state->frontend;
error:
kfree(state);
return NULL;
}
The change is within the /**/.
I tried to do a hard-reset with this additions but it only lead to the
following error:
mt352_write() to reg 50 failed (err = -5)!
mt352_read_register: readreg error (reg=127, ret==-5)
dvb-bt8xx: A frontend driver was not found for device 109e/0878
subsystem 1461/0771
After digging into mt352_write and mt352_single_write i can see that it
uses i2c_transfer for writing the proper values into the regs.
Maybe there is something wrong with i2c_transfer? Has anybody an idea
how i could dig deeper in this issue or how to debug it more properly?
Thanks for any hint.
More information about the linux-dvb
mailing list