[linux-dvb] MSI TV Anywhere A/D V1.1 Almost Works :(

Robin Rainton robin at rainton.com
Sat Jan 12 23:43:41 CET 2008


hermann pitton wrote:
> for sure you have a device with new PCI subsystem not yet seen.
>   
Doh! That'd be my luck - and I was so trying to get a card that was 
supported! <:o)
> Also try to set all to AUTO there except frequency and bandwidth.
>   
I made this mod, around line 709 of the tda1004x.c code:

    // Hardcoded to use auto as much as possible on the TDA10045 as it
    // is very unreliable if AUTO mode is _not_ used.
    //RAR - always do this // if (state->demod_type == 
TDA1004X_DEMOD_TDA10045) {
        dprintk("%s - RAR mod everything audo\n", __FUNCTION__);
    //
        fe_params->u.ofdm.code_rate_HP = FEC_AUTO;
        fe_params->u.ofdm.guard_interval = GUARD_INTERVAL_AUTO;
        fe_params->u.ofdm.transmission_mode = TRANSMISSION_MODE_AUTO;
    //}

Now tzap does this:

using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 669500000 Hz
video pid 0x0201, audio pid 0x0202
status 00 | signal 0000 | snr e2e2 | ber 0001fffe | unc 00000000 |
status 1f | signal 0000 | snr aeae | ber 00011cb6 | unc ffffffff | 
FE_HAS_LOCK
status 1f | signal 0000 | snr adad | ber 00011b88 | unc ffffffff | 
FE_HAS_LOCK
status 01 | signal 0000 | snr 0000 | ber 0001fffe | unc ffffffff |
status 1f | signal 0000 | snr abab | ber 00011d14 | unc ffffffff | 
FE_HAS_LOCK
status 1f | signal 0000 | snr a9a9 | ber 00011c18 | unc ffffffff | 
FE_HAS_LOCK
status 05 | signal 0000 | snr 1e1e | ber 00017722 | unc ffffffff |
status 05 | signal 0000 | snr a6a6 | ber 000118a4 | unc ffffffff |
status 1f | signal 0000 | snr abab | ber 00011c3c | unc ffffffff | 
FE_HAS_LOCK
status 1f | signal 0000 | snr abab | ber 00011b46 | unc ffffffff | 
FE_HAS_LOCK
status 00 | signal 0000 | snr 9898 | ber 0001fffe | unc 00000000 |
status 1f | signal 0000 | snr aaaa | ber 00011b8e | unc ffffffff | 
FE_HAS_LOCK
status 1f | signal 0000 | snr abab | ber 00011b2a | unc ffffffff | 
FE_HAS_LOCK
status 00 | signal 0000 | snr e2e2 | ber 0001fffe | unc 00000000 |
status 1f | signal 0000 | snr adad | ber 00011b1a | unc ffffffff | 
FE_HAS_LOCK
status 1f | signal 0000 | snr aaaa | ber 00011a64 | unc ffffffff | 
FE_HAS_LOCK
status 0d | signal 0000 | snr 0000 | ber 0001fe7a | unc ffffffff |

The dmesg output after my mod looks like this:

tda1004x: tda1004x_set_fe - RAR mod everything audo
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x1, data=0x1
tda1004x: tda1004x_read_byte: reg=0x1
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x3, data=0x0
tda1004x: tda1004x_read_byte: reg=0x2
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x60, data=0x0
tda1004x: tda1004x_read_byte: reg=0x2
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x3, mask=0x3f, data=0x0
tda1004x: tda1004x_read_byte: reg=0x3
tda1004x: tda1004x_read_byte: success reg=0x3, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x3, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x3, data=0x0, ret=1
tda1004x: tda1004x_write_buf: reg=0x31, len=0x5
tda1004x: tda1004x_write_byteI: reg=0x31, data=0x60
tda1004x: tda1004x_write_byteI: success reg=0x31, data=0x60, ret=1
tda1004x: tda1004x_write_byteI: reg=0x32, data=0x2
tda1004x: tda1004x_write_byteI: success reg=0x32, data=0x2, ret=1
tda1004x: tda1004x_write_byteI: reg=0x33, data=0xaa
tda1004x: tda1004x_write_byteI: success reg=0x33, data=0xaa, ret=1
tda1004x: tda1004x_write_byteI: reg=0x34, data=0xaa
tda1004x: tda1004x_write_byteI: success reg=0x34, data=0xaa, ret=1
tda1004x: tda1004x_write_byteI: reg=0x35, data=0xab
tda1004x: tda1004x_write_byteI: success reg=0x35, data=0xab, ret=1
tda1004x: tda1004x_write_byteI: reg=0x4d, data=0xc
tda1004x: tda1004x_write_byteI: success reg=0x4d, data=0xc, ret=1
tda1004x: tda1004x_write_byteI: reg=0x4e, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x4e, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x16, mask=0x20, data=0x20
tda1004x: tda1004x_read_byte: reg=0x16
tda1004x: tda1004x_read_byte: success reg=0x16, data=0xa8, ret=2
tda1004x: tda1004x_write_byteI: reg=0x16, data=0xa8
tda1004x: tda1004x_write_byteI: success reg=0x16, data=0xa8, ret=1
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x1
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1
tda1004x: tda1004x_write_mask: reg=0x2, mask=0xc, data=0x0
tda1004x: tda1004x_read_byte: reg=0x2
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x4, data=0x4
tda1004x: tda1004x_read_byte: reg=0x1
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x10, data=0x0
tda1004x: tda1004x_read_byte: reg=0x2
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x40, data=0x40
tda1004x: tda1004x_read_byte: reg=0x1
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2
tda1004x: tda1004x_write_byteI: reg=0x1, data=0xd7
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0xd7, ret=1
tda1004x: tda1004x_write_mask: reg=0x43, mask=0x4, data=0x1
tda1004x: tda1004x_read_byte: reg=0x43
tda1004x: tda1004x_read_byte: success reg=0x43, data=0x3, ret=2
tda1004x: tda1004x_write_byteI: reg=0x43, data=0x3
tda1004x: tda1004x_write_byteI: success reg=0x43, data=0x3, ret=1
tda1004x: tda1004x_read_status
tda1004x: tda1004x_read_byte: reg=0x6
tda1004x: tda1004x_read_byte: success reg=0x6, data=0xaf, ret=2
tda1004x: tda1004x_read_status: fe_status=0x1f
tda1004x: tda1004x_get_fe
tda1004x: tda1004x_read_byte: reg=0x16
tda1004x: tda1004x_read_byte: success reg=0x16, data=0xa8, ret=2
tda1004x: tda1004x_read_byte: reg=0x31
tda1004x: tda1004x_read_byte: success reg=0x31, data=0x60, ret=2
tda1004x: tda1004x_read_byte: reg=0x5
tda1004x: tda1004x_read_byte: success reg=0x5, data=0x2, ret=2
tda1004x: tda1004x_read_byte: reg=0x5
tda1004x: tda1004x_read_byte: success reg=0x5, data=0x2, ret=2
tda1004x: tda1004x_read_byte: reg=0x4
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2
tda1004x: tda1004x_read_byte: reg=0x4
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2
tda1004x: tda1004x_read_byte: reg=0x4
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2
tda1004x: tda1004x_read_byte: reg=0x4
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2
tda1004x: tda1004x_read_status
tda1004x: tda1004x_read_byte: reg=0x6
tda1004x: tda1004x_read_byte: success reg=0x6, data=0xaf, ret=2
tda1004x: tda1004x_read_status: fe_status=0x1f
tda1004x: tda1004x_read_status
tda1004x: tda1004x_read_byte: reg=0x6
tda1004x: tda1004x_read_byte: success reg=0x6, data=0xb0, ret=2
tda1004x: tda1004x_read_byte: reg=0x22
tda1004x: tda1004x_read_byte: success reg=0x22, data=0xff, ret=2
tda1004x: tda1004x_read_byte: reg=0x21
tda1004x: tda1004x_read_byte: success reg=0x21, data=0xff, ret=2
tda1004x: tda1004x_read_byte: reg=0x20
tda1004x: tda1004x_read_byte: success reg=0x20, data=0xff, ret=2
tda1004x: tda1004x_read_status: fe_status=0x0
tda1004x: tda1004x_set_fe
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x10, data=0x10
tda1004x: tda1004x_read_byte: reg=0x1
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x80, data=0x0
tda1004x: tda1004x_read_byte: reg=0x2
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x3, mask=0xc0, data=0x0
tda1004x: tda1004x_read_byte: reg=0x3
tda1004x: tda1004x_read_byte: success reg=0x3, data=0x0, ret=2
tda1004x: tda1004x_write_byteI: reg=0x3, data=0x0
tda1004x: tda1004x_write_byteI: success reg=0x3, data=0x0, ret=1
tda1004x: tda1004x_write_mask: reg=0x43, mask=0x4, data=0x0
tda1004x: tda1004x_read_byte: reg=0x43
tda1004x: tda1004x_read_byte: success reg=0x43, data=0x3, ret=2
tda1004x: tda1004x_write_byteI: reg=0x43, data=0x3
tda1004x: tda1004x_write_byteI: success reg=0x43, data=0x3, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x80, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_enable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1
tda1004x: tda1004x_disable_tuner_i2c
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x0
tda1004x: tda1004x_read_byte: reg=0x7
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x80
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x80, ret=1
tda1004x: tda1004x_set_fe - RAR mod everything audo

Am happy to play with this a lot, but not really sure what I'm doing - 
anything you'd like to try out please just let me know.

Cheers,

Rob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080113/9e73af08/attachment.htm 


More information about the linux-dvb mailing list