<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
hermann pitton wrote:
<blockquote cite="mid:1200176758.3591.71.camel@pc08.localdom.local"
 type="cite">
  <pre wrap="">for sure you have a device with new PCI subsystem not yet seen.
  </pre>
</blockquote>
Doh! That'd be my luck - and I was so trying to get a card that was
supported! &lt;:o)<br>
<blockquote cite="mid:1200176758.3591.71.camel@pc08.localdom.local"
 type="cite">
  <pre wrap="">
Also try to set all to AUTO there except frequency and bandwidth.
  </pre>
</blockquote>
I made this mod, around line 709 of the tda1004x.c code:<br>
<br>
&nbsp;&nbsp;&nbsp; // Hardcoded to use auto as much as possible on the TDA10045 as it<br>
&nbsp;&nbsp;&nbsp; // is very unreliable if AUTO mode is _not_ used.<br>
&nbsp;&nbsp;&nbsp; //RAR - always do this // if (state-&gt;demod_type ==
TDA1004X_DEMOD_TDA10045) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; dprintk("%s - RAR mod everything audo\n", __FUNCTION__);<br>
&nbsp;&nbsp;&nbsp; //<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fe_params-&gt;u.ofdm.code_rate_HP = FEC_AUTO;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fe_params-&gt;u.ofdm.guard_interval = GUARD_INTERVAL_AUTO;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fe_params-&gt;u.ofdm.transmission_mode = TRANSMISSION_MODE_AUTO;<br>
&nbsp;&nbsp;&nbsp; //}<br>
<br>
Now tzap does this:<br>
<br>
<small><tt>using '/dev/dvb/adapter0/frontend0' and
'/dev/dvb/adapter0/demux0'<br>
tuning to 669500000 Hz<br>
video pid 0x0201, audio pid 0x0202<br>
status 00 | signal 0000 | snr e2e2 | ber 0001fffe | unc 00000000 | <br>
status 1f | signal 0000 | snr aeae | ber 00011cb6 | unc ffffffff |
FE_HAS_LOCK<br>
status 1f | signal 0000 | snr adad | ber 00011b88 | unc ffffffff |
FE_HAS_LOCK<br>
status 01 | signal 0000 | snr 0000 | ber 0001fffe | unc ffffffff | <br>
status 1f | signal 0000 | snr abab | ber 00011d14 | unc ffffffff |
FE_HAS_LOCK<br>
status 1f | signal 0000 | snr a9a9 | ber 00011c18 | unc ffffffff |
FE_HAS_LOCK<br>
status 05 | signal 0000 | snr 1e1e | ber 00017722 | unc ffffffff | <br>
status 05 | signal 0000 | snr a6a6 | ber 000118a4 | unc ffffffff | <br>
status 1f | signal 0000 | snr abab | ber 00011c3c | unc ffffffff |
FE_HAS_LOCK<br>
status 1f | signal 0000 | snr abab | ber 00011b46 | unc ffffffff |
FE_HAS_LOCK<br>
status 00 | signal 0000 | snr 9898 | ber 0001fffe | unc 00000000 | <br>
status 1f | signal 0000 | snr aaaa | ber 00011b8e | unc ffffffff |
FE_HAS_LOCK<br>
status 1f | signal 0000 | snr abab | ber 00011b2a | unc ffffffff |
FE_HAS_LOCK<br>
status 00 | signal 0000 | snr e2e2 | ber 0001fffe | unc 00000000 | <br>
status 1f | signal 0000 | snr adad | ber 00011b1a | unc ffffffff |
FE_HAS_LOCK<br>
status 1f | signal 0000 | snr aaaa | ber 00011a64 | unc ffffffff |
FE_HAS_LOCK<br>
status 0d | signal 0000 | snr 0000 | ber 0001fe7a | unc ffffffff | </tt></small><br>
<br>
The dmesg output after my mod looks like this:<br>
<br>
<small><tt>tda1004x: tda1004x_set_fe - RAR mod everything audo<br>
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x1, data=0x1<br>
tda1004x: tda1004x_read_byte: reg=0x1<br>
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97<br>
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x3, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x2<br>
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x60, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x2<br>
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x3, mask=0x3f, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x3<br>
tda1004x: tda1004x_read_byte: success reg=0x3, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x3, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x3, data=0x0, ret=1<br>
tda1004x: tda1004x_write_buf: reg=0x31, len=0x5<br>
tda1004x: tda1004x_write_byteI: reg=0x31, data=0x60<br>
tda1004x: tda1004x_write_byteI: success reg=0x31, data=0x60, ret=1<br>
tda1004x: tda1004x_write_byteI: reg=0x32, data=0x2<br>
tda1004x: tda1004x_write_byteI: success reg=0x32, data=0x2, ret=1<br>
tda1004x: tda1004x_write_byteI: reg=0x33, data=0xaa<br>
tda1004x: tda1004x_write_byteI: success reg=0x33, data=0xaa, ret=1<br>
tda1004x: tda1004x_write_byteI: reg=0x34, data=0xaa<br>
tda1004x: tda1004x_write_byteI: success reg=0x34, data=0xaa, ret=1<br>
tda1004x: tda1004x_write_byteI: reg=0x35, data=0xab<br>
tda1004x: tda1004x_write_byteI: success reg=0x35, data=0xab, ret=1<br>
tda1004x: tda1004x_write_byteI: reg=0x4d, data=0xc<br>
tda1004x: tda1004x_write_byteI: success reg=0x4d, data=0xc, ret=1<br>
tda1004x: tda1004x_write_byteI: reg=0x4e, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x4e, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x16, mask=0x20, data=0x20<br>
tda1004x: tda1004x_read_byte: reg=0x16<br>
tda1004x: tda1004x_read_byte: success reg=0x16, data=0xa8, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x16, data=0xa8<br>
tda1004x: tda1004x_write_byteI: success reg=0x16, data=0xa8, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x1<br>
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97<br>
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x2, mask=0xc, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x2<br>
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x4, data=0x4<br>
tda1004x: tda1004x_read_byte: reg=0x1<br>
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97<br>
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x10, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x2<br>
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x40, data=0x40<br>
tda1004x: tda1004x_read_byte: reg=0x1<br>
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x1, data=0xd7<br>
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0xd7, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x43, mask=0x4, data=0x1<br>
tda1004x: tda1004x_read_byte: reg=0x43<br>
tda1004x: tda1004x_read_byte: success reg=0x43, data=0x3, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x43, data=0x3<br>
tda1004x: tda1004x_write_byteI: success reg=0x43, data=0x3, ret=1<br>
tda1004x: tda1004x_read_status<br>
tda1004x: tda1004x_read_byte: reg=0x6<br>
tda1004x: tda1004x_read_byte: success reg=0x6, data=0xaf, ret=2<br>
tda1004x: tda1004x_read_status: fe_status=0x1f<br>
tda1004x: tda1004x_get_fe<br>
tda1004x: tda1004x_read_byte: reg=0x16<br>
tda1004x: tda1004x_read_byte: success reg=0x16, data=0xa8, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x31<br>
tda1004x: tda1004x_read_byte: success reg=0x31, data=0x60, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x5<br>
tda1004x: tda1004x_read_byte: success reg=0x5, data=0x2, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x5<br>
tda1004x: tda1004x_read_byte: success reg=0x5, data=0x2, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x4<br>
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x4<br>
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x4<br>
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x4<br>
tda1004x: tda1004x_read_byte: success reg=0x4, data=0x16, ret=2<br>
tda1004x: tda1004x_read_status<br>
tda1004x: tda1004x_read_byte: reg=0x6<br>
tda1004x: tda1004x_read_byte: success reg=0x6, data=0xaf, ret=2<br>
tda1004x: tda1004x_read_status: fe_status=0x1f<br>
tda1004x: tda1004x_read_status<br>
tda1004x: tda1004x_read_byte: reg=0x6<br>
tda1004x: tda1004x_read_byte: success reg=0x6, data=0xb0, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x22<br>
tda1004x: tda1004x_read_byte: success reg=0x22, data=0xff, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x21<br>
tda1004x: tda1004x_read_byte: success reg=0x21, data=0xff, ret=2<br>
tda1004x: tda1004x_read_byte: reg=0x20<br>
tda1004x: tda1004x_read_byte: success reg=0x20, data=0xff, ret=2<br>
tda1004x: tda1004x_read_status: fe_status=0x0<br>
tda1004x: tda1004x_set_fe<br>
tda1004x: tda1004x_write_mask: reg=0x1, mask=0x10, data=0x10<br>
tda1004x: tda1004x_read_byte: reg=0x1<br>
tda1004x: tda1004x_read_byte: success reg=0x1, data=0x97, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x1, data=0x97<br>
tda1004x: tda1004x_write_byteI: success reg=0x1, data=0x97, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x2, mask=0x80, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x2<br>
tda1004x: tda1004x_read_byte: success reg=0x2, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x2, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x2, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x3, mask=0xc0, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x3<br>
tda1004x: tda1004x_read_byte: success reg=0x3, data=0x0, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x3, data=0x0<br>
tda1004x: tda1004x_write_byteI: success reg=0x3, data=0x0, ret=1<br>
tda1004x: tda1004x_write_mask: reg=0x43, mask=0x4, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x43<br>
tda1004x: tda1004x_read_byte: success reg=0x43, data=0x3, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x43, data=0x3<br>
tda1004x: tda1004x_write_byteI: success reg=0x43, data=0x3, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x80, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_enable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x82<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x82, ret=1<br>
tda1004x: tda1004x_disable_tuner_i2c<br>
tda1004x: tda1004x_write_mask: reg=0x7, mask=0x2, data=0x0<br>
tda1004x: tda1004x_read_byte: reg=0x7<br>
tda1004x: tda1004x_read_byte: success reg=0x7, data=0x82, ret=2<br>
tda1004x: tda1004x_write_byteI: reg=0x7, data=0x80<br>
tda1004x: tda1004x_write_byteI: success reg=0x7, data=0x80, ret=1<br>
tda1004x: tda1004x_set_fe - RAR mod everything audo<br>
</tt></small><br>
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.<br>
<br>
Cheers,<br>
<br>
Rob<br>
<br>
</body>
</html>