[linux-dvb] More detailed report regarding the twinhan card I am having problem with.

Wei Weng wweng at kencast.com
Fri Jan 20 01:18:02 CET 2006


Hi all.

I changed some code in the dvb_bt8xx.c to print out some debug messages 
(I am not familiar with kernel module programming so printing out error 
message and then checking them in my dmesg seems to be the quickest way 
to debug).

The things I changed:

I added some dprintk here and there to identify where dst_probe fails.

And changed some dprintk statements inside write_dst function to print 
to dmesg instead of whatever they were writing to.

int write_dst(struct dst_state *state, u8 *data, u8 len)
{
[..SNIP..]

    dprintk(verbose, DST_ERROR, 1, "writing ==> [ ");
    for (i = 0; i < len; i++)
        dprintk(verbose, DST_ERROR,int write_dst(struct dst_state 
*state, u8 *data, u8 len) 1, "%02x ", data[i]);
    dprintk(verbose, DST_ERROR, 1, "] <==\n");

    for (cnt = 0; cnt < 2; cnt++) {
        if ((err = i2c_transfer(state->i2c, &msg, 1)) < 0) {
            dprintk(verbose, DST_ERROR, 1, "_write_dst error (err == %i, 
len == 0x%02x, b0 == 0x%02x)", err, len, data[0]);
            dst_error_recovery(state);
            continue;
        } else
            break;
    }
    if (cnt >= 2) {
        dprintk(verbose, DST_ERROR, 1, "RDC 8820 RESET");
        dst_error_bailout(state);

        return -1;
    }
[..SNIP..]
}

Here is what I got in my dmesg log:

write_dst: writing ==> [
write_dst: 00
write_dst: 06
write_dst: 00
write_dst: 00
write_dst: 00
write_dst: 00
write_dst: 00
write_dst: fa
write_dst: ] <==

write_dst: _write_dst error (err == -5, len == 0x08, b0 == 0x00)
write_dst: _write_dst error (err == -5, len == 0x08, b0 == 0x00)
write_dst: RDC 8820 RESET
dst_get_device_id: write_dst failed
dst_probe: unknown device.



Any idea of what is going wrong with my set up?

Thanks


Wei






More information about the linux-dvb mailing list