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

Per Dalén perda at oden.cnwab.se
Tue Sep 20 22:54:00 CEST 2005


Manu Abraham wrote:
> Per Dalén wrote:
> 
>> I have now tested my Twinhan DTV Cab-CI with MythTV (latest from cvs)
>> and the dvb driver that I described in my earlier mail.
>> No success!
>>
>> My question is:
>> Have anybody been able to run with Twinhan DTV Cab-CI card?
>>
>>  
>>
> I think people have reported it to be working.
> from the CVS ...
> 
> Fix BUG in DVB-C frequency setting
>     - Result was DVB-C cards failed to tune
> 
> Fix sent in by Peng Cao <caopeng75 at gmail.com <mailto:caopeng75 at gmail.com>>
> 
> 
> was a showstopper for DVB-C cards.
> 
>> I have searched the list and cannot find anyone that seems to got the
>> Twinhan DTV Cab-CI to work.
>> Is this wrong?
>>
>> It seems that people has succeded with Twinhan DTV Sat-CI and Twinhan
>> DTV Ter-CI, but not the Twinhan DTV Cab-CI.
>>
>> Do anyone have any good idea how I should get it to work?
>> I'm willing to test new patches, make tracelogs, etc...
>>  
>>
> 
> 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]

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)...
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
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
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
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
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
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
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]
------------------------------------

thanks
Per



More information about the linux-dvb mailing list