Without having a NXT2002 card to try I am not sure how much I will be able to help.<br><br>Just by looking at what is going on here it looks like the tuner might not be changing.&nbsp; The way I wrote the nxt200x module was by taking taking the nxt2002 and nxt2004 modules and combining them into one.&nbsp; A lot of pieces of code were the same and were easily merged.&nbsp; Other places were completely different and a simple case function calls the appropriate code.&nbsp; A good place to start would be by looking at the nxt2002 and nxt200x code and comparing them for the NXT2002 chip.&nbsp; Most likely there is something that I just overlooked when I put in the nxt2002 code.&nbsp; You could also try turning on debug in the nxt200x and dvb-pll modules and see if that could give us some more information on exactly what is going on.
<br><br>Kirk<br><br><div><span class="gmail_quote">On 1/15/06, <b class="gmail_sendername">Michael Krufky</b> &lt;<a href="mailto:mkrufky@gmail.com">mkrufky@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Michael Krufky wrote:<br><br>&gt; kernel BUG at /home/mk/v4l-dvb/v4l/dvb-pll.c:389!<br>&gt; invalid operand: 0000 [#1]<br>&gt; SMP<br>&gt; Modules linked in: b2c2_flexcop_pci b2c2_flexcop mt352 bcm3510 stv0299<br>&gt; dvb_core nxt200x firmware_class dvb_pll stv0297_cs2 lgdt330x mt312
<br>&gt; i2c_core sbp2 usb_storage snd_atiixp snd_atiixp_modem ehci_hcd<br>&gt; snd_ac97_codec snd_ac97_bus ohci_hcd ohci1394 ieee1394 usbcore snd_pcm<br>&gt; snd_timer snd snd_page_alloc ati_agp agpgart<br>&gt; CPU:&nbsp;&nbsp;&nbsp;&nbsp;0
<br>&gt; EIP:&nbsp;&nbsp;&nbsp;&nbsp;0060:[&lt;f8d2c1b5&gt;]&nbsp;&nbsp;&nbsp;&nbsp;Not tainted VLI<br>&gt; EFLAGS: 00010246&nbsp;&nbsp; (2.6.14)<br>&gt; EIP is at dvb_pll_configure+0x151/0x160 [dvb_pll]<br>&gt; eax: 00000000&nbsp;&nbsp; ebx: 00000004&nbsp;&nbsp; ecx: 00000004&nbsp;&nbsp; edx: f8d2e050
<br>&gt; esi: d7ba3f24&nbsp;&nbsp; edi: 2b369f40&nbsp;&nbsp; ebp: f8d2e020&nbsp;&nbsp; esp: d7ba3ee0<br>&gt; ds: 007b&nbsp;&nbsp; es: 007b&nbsp;&nbsp; ss: 0068<br>&gt; Process kdvb-fe-0 (pid: 5988, threadinfo=d7ba2000 task=f6cc5a30)<br>&gt; Stack: 31126b1a 0000000d f8d33621 d7730a00 00000031 d7ba3eff 00000001
<br>&gt; 40aa27cd<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d7730a00 d7730b04 d7ba3f24 f72d8404 f8d34039 f8d2e020 d7ba3f24<br>&gt; 2b369f40<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00000000 00000286 f72d8400 00000001 00000000 2b369f40 f8d71515<br>&gt; d7730b04<br>&gt; Call Trace:
<br>&gt;&nbsp;&nbsp;[&lt;f8d33621&gt;] nxt200x_microcontroller_stop+0x92/0xcf [nxt200x]<br>&gt;&nbsp;&nbsp;[&lt;f8d34039&gt;] nxt200x_setup_frontend_parameters+0x4f/0x615 [nxt200x]<br>&gt;&nbsp;&nbsp;[&lt;f8d71515&gt;] dvb_frontend_swzigzag_autotune+0x124/0x245 [dvb_core]
<br>&gt;&nbsp;&nbsp;[&lt;c0125e6f&gt;] del_timer_sync+0x21/0x2a<br>&gt;&nbsp;&nbsp;[&lt;f8d717c0&gt;] dvb_frontend_swzigzag+0x18a/0x285 [dvb_core]<br>&gt;&nbsp;&nbsp;[&lt;f8d71bf6&gt;] dvb_frontend_thread+0x29c/0x2c1 [dvb_core]<br>&gt;&nbsp;&nbsp;[&lt;c0131543&gt;] autoremove_wake_function+0x0/0x4b
<br>&gt;&nbsp;&nbsp;[&lt;f8d7195a&gt;] dvb_frontend_thread+0x0/0x2c1 [dvb_core]<br>&gt;&nbsp;&nbsp;[&lt;c0101171&gt;] kernel_thread_helper+0x5/0xb<br>&gt; Code: 0b ff ff ff 3b 7d 04 73 07 b8 ea ff ff ff eb 8e 3b 7d 08 8d 76<br>&gt; 00 0f 86 d9 fe ff ff b8 ea ff ff ff 90 8d 74 26 00 e9 73 ff ff ff &lt;0f&gt;
<br>&gt; 0b 85 01 38 c5 d2 f8 e9 df fe ff ff 90 90 54 68 6f 6d 73 6f<br><br><br><br><br>Well, I just noticed the following in dvb-pll.c and made the following fix:<br><br>struct dvb_pll_desc dvb_pll_tbmv30111in = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.name = &quot;Samsung TBMV30111IN&quot;,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.min = 54000000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.max = 860000000,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .count = 4,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .count = 6,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.entries = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 172000000, 44000000, 166666, 0xb4, 0x01 },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 214000000, 44000000, 166666, 0xb4, 0x02 },
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 467000000, 44000000, 166666, 0xbc, 0x02 },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 721000000, 44000000, 166666, 0xbc, 0x08 },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 841000000, 44000000, 166666, 0xf4, 0x08 },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 999999999, 44000000, 166666, 0xfc, 0x02 },
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>};<br><br>.count needs to be changed to 6 ! (that may explain the oops)&nbsp;&nbsp;I will<br>take care of that, (fixed in cvs as of now) then test again...<br><br>[time goes by.... ]<br><br>still azap is getting status 0x00, and atscscan finds nothing, but this
<br>time it doesnt OOPS:<br><br>mk@aftermath:~$ ./azap WPIX_Digital -r using<br>'/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'<br>tuning to 587000000 Hz<br>video pid 0x0031, audio pid 0x0034<br>status 00 | signal 7c60 | snr 5a22 | ber 00000000 | unc 00000000 |
<br>status 00 | signal dc20 | snr 7b60 | ber 00000000 | unc 00000000 |<br>status 00 | signal da70 | snr 80d6 | ber 00000000 | unc 00000000 |<br>status 00 | signal 7190 | snr 595e | ber 00000000 | unc 00000000 |<br>status 00 | signal dd80 | snr 7aa4 | ber 00000000 | unc 00000000 |
<br>status 00 | signal ddd0 | snr 7dc6 | ber 00000000 | unc 00000000 |<br>status 00 | signal 7390 | snr 59b0 | ber 00000000 | unc 00000000 |<br><br><br>b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV receiver chip loaded
<br>successfully<br>flexcop-pci: will use the HW PID filter.<br>flexcop-pci: card revision 2<br>ACPI: PCI Interrupt 0000:02:07.0[A] -&gt; GSI 19 (level, low) -&gt; IRQ 19<br>DVB: registering new adapter (FlexCop Digital TV device).
<br>b2c2-flexcop: MAC address = 00:d0:d7:02:54:5f<br>b2c2-flexcop: i2c master_xfer failed<br>b2c2-flexcop: i2c master_xfer failed<br>b2c2-flexcop: i2c master_xfer failed<br>mt352_read_register: readreg error (reg=127, ret==-121)
<br>nxt200x: NXT2002 Detected<br>b2c2-flexcop: found the nxt2002 at i2c address: 0x0a<br>DVB: registering frontend 0 (Nextwave NXT200X VSB/QAM frontend)...<br>b2c2-flexcop: initialization of 'Air2PC/AirStar 2 ATSC 2nd generation'
<br>at the 'PCI' bus controlled by a 'FlexCopIIb' complete<br>nxt2002: Waiting for firmware upload (dvb-fe-nxt2002.fw)...<br>nxt2002: Waiting for firmware upload(2)...<br>nxt2002: Firmware upload complete<br><br><br><br>-Michael
<br><br></blockquote></div><br>