[linux-dvb] Twinhan DTV Cab-CI support?

Manu Abraham abraham.manu at gmail.com
Wed Sep 21 00:02:39 CEST 2005


Per Dalén wrote:

>Manu Abraham wrote:
>  
>
>>get latest dvb-kernel CVS, compile with 2.6.13,
>>do a modprobe dst verbose=5
>>
>>or get 2.6.14-rc1 or newer
>>compile and install it,
>>do a modprobe dst verbose=5
>>
>>and please do send in the logs
>>
>>Manu
>>
>>
>>    
>>
>
>Ok, thanks for looking into my problems, Manu.
>
>I did some test with 2.6.14-rc1 (no patches and no dvb from cvs).
>I got the same (bad) results (as far as I understand) as with my earlier
>tests. I have described below how I tested and the dmesg from my tests.
>Have I forgotten anything? Do You miss any important log or trace from me?
>
># modprobe bttv i2c_hw=1 card=0x71
># modprobe dst verbose=5
># modprobe dvb-bt8xx
>
>dmesg:
>------------------------------------
>...
>Linux video capture interface: v1.00
>bttv: driver version 0.9.16 loaded
>bttv: using 8 buffers with 2080k (520 pages) each for capture
>bttv: Bt8xx card found (0).
>ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKC] -> GSI 11 (level,
>low) -> IRQ 11
>bttv0: Bt878 (rev 17) at 0000:00:06.0, irq: 11, latency: 32, mmio:
>0xef000000
>bttv0: detected: Twinhan VisionPlus DVB [card=113], PCI subsystem ID is
>1822:0001
>bttv0: using: Twinhan DST + clones [card=113,insmod option]
>bttv0: gpio: en=00000000, out=00000000 in=00fb00fd [init]
>bttv0: using tuner=4
>bttv0: add subdevice "dvb0"
>bt878: AUDIO driver version 0.0.0 loaded
>bt878: Bt878 AUDIO function found (0).
>ACPI: PCI Interrupt 0000:00:06.1[A] -> Link [LNKC] -> GSI 11 (level,
>low) -> IRQ 11
>bt878(0): Bt878 (rev 17) at 00:06.1, irq: 11, latency: 32, memory:
>0xee800000
>DVB: registering new adapter (bttv0).
>rdc_8820_reset: Resetting DST
>dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000]
>dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004]
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 06 00 00 00 00 00 fa ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 1
>read_dst: reply is 0x0
> 0x44 0x43 0x54 0x2d 0x43 0x49 0x6c
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>dst_get_device_id: Recognise [DCT-CI]
>
>  
>

>dst_type_print: DST type: cable
>DST type flags : 0x1 newtuner 0x2 ts204 0x8 firmware version = 1 0x10
>firmware version = 2
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 0a 00 00 00 00 00 f6 ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 0
>read_dst: reply is 0x0
> 0x0 0x0 0x0 0x0 0x0 0x0 0x0
>dst_get_mac: MAC Address=[00:00:00:00:00:00]
>dst_ca_attach: registering DST-CA device
>DVB: registering frontend 0 (DST DVB-C)...
>------------------------------------
>
>I use the channel DisMix besauce it is not a scrambled channel.
>
># ./dvb-apps/util/szap/czap -c mychannels.conf -n 7 -r
>using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
>reading channels from file 'mychannels.conf'
>  7 DisMix:322000000:INVERSION_AUTO:6875000:FEC_NONE:QAM_64:4100:4356:1016
>  7 DisMix: f 322000000, s 6875000, i 2, fec 0, qam 3, v 0x1004, a 0x1104
>status 00 | signal 0000 | snr 0000 | ber 00000004 | unc 00000000 |
>status 1f | signal 8000 | snr 1400 | ber 00000004 | unc 00000000 |
>FE_HAS_LOCK
>status 1f | signal 8000 | snr 1400 | ber 00000004 | unc 00000000 |
>FE_HAS_LOCK
>status 1f | signal 8000 | snr 1400 | ber 00000004 | unc 00000000 |
>FE_HAS_LOCK
>
>
>dmesg:
>------------------------------------
>...
>DVB: registering frontend 0 (DST DVB-C)...
>rdc_8820_reset: Resetting DST
>dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000]
>dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004]
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 06 00 00 00 00 00 fa ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 1
>read_dst: reply is 0x0
> 0x44 0x43 0x54 0x2d 0x43 0x49 0x6c
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>dst_get_device_id: Recognise [DCT-CI]
>
>  
>

Please check whether your card is a VP-2021 or VP-2031


>dst_type_print: DST type: cable
>DST type flags : 0x1 newtuner 0x2 ts204 0x8 firmware version = 1 0x10
>  
>

If it is a 2031, try changing the dst_tlist[]  (for DCT-CI )
.type_flags = DST_TYPE_HAS_NEWTUNE | DST_TYPE_HAS_FW_2  

only and see what happens.



>firmware version = 2
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 0a 00 00 00 00 00 f6 ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 0
>read_dst: reply is 0x0
> 0x0 0x0 0x0 0x0 0x0 0x0 0x0
>dst_get_mac: MAC Address=[00:00:00:00:00:00]
>dst_ca_attach: registering DST-CA device
>DVB: registering frontend 0 (DST DVB-C)...
>dst_set_freq: set Frequency 322000000
>dst_set_frontend: Set Frequency=[322000000]
>dst_set_symbolrate: set symrate 6875000
>dst_write_tuna: type_flags 0x1b
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 09 00 04 e9 d0 00 1a db 40 05 ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x9
> 0x0 0x4 0xe9 0xd0 0x0 0x1a 0xdb 0x40 0x5
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x14 0x80 0x5c 0x0 0xb
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x14 0x80 0x5c 0x0 0xb
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x14 0x80 0x5c 0x0 0xb
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x14 0x80 0x5c 0x0 0xb
>------------------------------------
>
># cat /dev/dvb/adapter0/dvr0 > test02.ts (^C)
># cat /dev/dvb/adapter0/dvr0 > test03.ts (^C)
>
>The files test02.ts and test03.ts can be found here:
>http://gd-willy.kicks-ass.org/per/dvb-tests/
>
>
>dmesg:
>------------------------------------
>...
>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x5a 0x80 0x5c 0x0 0xc5
>  
>

It has successfully zap'd to u'r channel.

>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x5a 0x80 0x5b 0x0 0xc6
>  
>

same here too.

>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x5a 0x80 0x5c 0x0 0xc5
>  
>

same here too.

>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x5a 0x80 0x5c 0x0 0xc5
>  
>

same here too.

>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: reply is 0x0
> 0x5 0x0 0x5a 0x80 0x5c 0x0 0xc5
>  
>

same here too.

>dst_comm_init: Initializing DST.
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>rdc_reset_state: Resetting state machine
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>writing [ 00 05 00 00 00 00 00 fb ]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>read_dst: reply is 0xff
>dst_wait_dst_ready: dst wait ready after 2
>read_dst: read_dst error (err == -5, len == 0x08, b0 == 0x00)
>dst_error_recovery: Trying to return from previous errors.
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>read_dst: read_dst error (err == -5, len == 0x08, b0 == 0x00)
>dst_error_recovery: Trying to return from previous errors.
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>read_dst: RDC 8820 RESET
>dst_error_bailout: Trying to bailout from previous error.
>rdc_8820_reset: Resetting DST
>  
>

 It is getting timeouts now while querying the signal.

>dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000]
>dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004]
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>dst_command: Trying to recover..
>dst_error_recovery: Trying to return from previous errors.
>dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>------------------------------------
>
>  
>




More information about the linux-dvb mailing list