[linux-dvb] using nxt200x in the flexcop driver

Michael Krufky mkrufky at gmail.com
Sun Jan 15 22:10:06 CET 2006


Michael Krufky wrote:

> kernel BUG at /home/mk/v4l-dvb/v4l/dvb-pll.c:389!
> invalid operand: 0000 [#1]
> SMP
> Modules linked in: b2c2_flexcop_pci b2c2_flexcop mt352 bcm3510 stv0299 
> dvb_core nxt200x firmware_class dvb_pll stv0297_cs2 lgdt330x mt312 
> i2c_core sbp2 usb_storage snd_atiixp snd_atiixp_modem ehci_hcd 
> snd_ac97_codec snd_ac97_bus ohci_hcd ohci1394 ieee1394 usbcore snd_pcm 
> snd_timer snd snd_page_alloc ati_agp agpgart
> CPU:    0
> EIP:    0060:[<f8d2c1b5>]    Not tainted VLI
> EFLAGS: 00010246   (2.6.14)
> EIP is at dvb_pll_configure+0x151/0x160 [dvb_pll]
> eax: 00000000   ebx: 00000004   ecx: 00000004   edx: f8d2e050
> esi: d7ba3f24   edi: 2b369f40   ebp: f8d2e020   esp: d7ba3ee0
> ds: 007b   es: 007b   ss: 0068
> Process kdvb-fe-0 (pid: 5988, threadinfo=d7ba2000 task=f6cc5a30)
> Stack: 31126b1a 0000000d f8d33621 d7730a00 00000031 d7ba3eff 00000001 
> 40aa27cd
>        d7730a00 d7730b04 d7ba3f24 f72d8404 f8d34039 f8d2e020 d7ba3f24 
> 2b369f40
>        00000000 00000286 f72d8400 00000001 00000000 2b369f40 f8d71515 
> d7730b04
> Call Trace:
>  [<f8d33621>] nxt200x_microcontroller_stop+0x92/0xcf [nxt200x]
>  [<f8d34039>] nxt200x_setup_frontend_parameters+0x4f/0x615 [nxt200x]
>  [<f8d71515>] dvb_frontend_swzigzag_autotune+0x124/0x245 [dvb_core]
>  [<c0125e6f>] del_timer_sync+0x21/0x2a
>  [<f8d717c0>] dvb_frontend_swzigzag+0x18a/0x285 [dvb_core]
>  [<f8d71bf6>] dvb_frontend_thread+0x29c/0x2c1 [dvb_core]
>  [<c0131543>] autoremove_wake_function+0x0/0x4b
>  [<f8d7195a>] dvb_frontend_thread+0x0/0x2c1 [dvb_core]
>  [<c0101171>] kernel_thread_helper+0x5/0xb
> Code: 0b ff ff ff 3b 7d 04 73 07 b8 ea ff ff ff eb 8e 3b 7d 08 8d 76 
> 00 0f 86 d9 fe ff ff b8 ea ff ff ff 90 8d 74 26 00 e9 73 ff ff ff <0f> 
> 0b 85 01 38 c5 d2 f8 e9 df fe ff ff 90 90 54 68 6f 6d 73 6f 




Well, I just noticed the following in dvb-pll.c and made the following fix:

struct dvb_pll_desc dvb_pll_tbmv30111in = {
	.name = "Samsung TBMV30111IN",
	.min = 54000000,
	.max = 860000000,
-	.count = 4,
+	.count = 6,
	.entries = {
		{ 172000000, 44000000, 166666, 0xb4, 0x01 },
		{ 214000000, 44000000, 166666, 0xb4, 0x02 },
		{ 467000000, 44000000, 166666, 0xbc, 0x02 },
		{ 721000000, 44000000, 166666, 0xbc, 0x08 },
		{ 841000000, 44000000, 166666, 0xf4, 0x08 },
		{ 999999999, 44000000, 166666, 0xfc, 0x02 },
	}
};

.count needs to be changed to 6 ! (that may explain the oops)  I will 
take care of that, (fixed in cvs as of now) then test again...

[time goes by.... ]

still azap is getting status 0x00, and atscscan finds nothing, but this 
time it doesnt OOPS:

mk at aftermath:~$ ./azap WPIX_Digital -r using 
'/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 587000000 Hz
video pid 0x0031, audio pid 0x0034
status 00 | signal 7c60 | snr 5a22 | ber 00000000 | unc 00000000 |
status 00 | signal dc20 | snr 7b60 | ber 00000000 | unc 00000000 |
status 00 | signal da70 | snr 80d6 | ber 00000000 | unc 00000000 |
status 00 | signal 7190 | snr 595e | ber 00000000 | unc 00000000 |
status 00 | signal dd80 | snr 7aa4 | ber 00000000 | unc 00000000 |
status 00 | signal ddd0 | snr 7dc6 | ber 00000000 | unc 00000000 |
status 00 | signal 7390 | snr 59b0 | ber 00000000 | unc 00000000 |


b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV receiver chip loaded 
successfully
flexcop-pci: will use the HW PID filter.
flexcop-pci: card revision 2
ACPI: PCI Interrupt 0000:02:07.0[A] -> GSI 19 (level, low) -> IRQ 19
DVB: registering new adapter (FlexCop Digital TV device).
b2c2-flexcop: MAC address = 00:d0:d7:02:54:5f
b2c2-flexcop: i2c master_xfer failed
b2c2-flexcop: i2c master_xfer failed
b2c2-flexcop: i2c master_xfer failed
mt352_read_register: readreg error (reg=127, ret==-121)
nxt200x: NXT2002 Detected
b2c2-flexcop: found the nxt2002 at i2c address: 0x0a
DVB: registering frontend 0 (Nextwave NXT200X VSB/QAM frontend)...
b2c2-flexcop: initialization of 'Air2PC/AirStar 2 ATSC 2nd generation' 
at the 'PCI' bus controlled by a 'FlexCopIIb' complete
nxt2002: Waiting for firmware upload (dvb-fe-nxt2002.fw)...
nxt2002: Waiting for firmware upload(2)...
nxt2002: Firmware upload complete



-Michael




More information about the linux-dvb mailing list