[linux-dvb] Problems with twinhanDTV Sat-CI and new HlCI Api

sigmund at snap.tv sigmund at snap.tv
Thu Jun 23 14:52:08 CEST 2005


Hi,
I'm trying to make a TwinhanDTV Sat-CI card work with cam and the new api, 
but have a few problems. I can't say if all these are related, and I'm not 
sure what more info should be supplied, but here goes:

*Scanning works with dvbscan, and tuning works with szap, but no data comes 
out of dvr0, even with -r and -x in various combinations and positions for 
szap. I do however get FTA channels with vlc(which does it's own tuning).

*ca_zap hangs after the following message:
parse_si: PAT: Close Demux /dev/dvb/adapter0/demux0
This might be related to the above problem.

*I've tried to replicate the calls of ca_zap inside vlc's dvb module, and 
all seems to work, however the channel stay scrambled.

Attached is the output in dmesg from such a run, there are some interresting
messages, like something about an ASIC bug, and descriptors at stream level. 
I hope this information can be of help, and can help someone find give me a 
hint as to what is wrong.

As a side note, I've had several problems with these drivers, after some time 
the signal strength and SNR values returned goes to 0000 in szap, and some 
large negative value in vlc, even though tuning works. And after some more 
time tuning stops working. Even though the tuning calls complete without error
the data returned are still from the old transponder. Reloading the drivers 
sometimes help, other times a reboot is needed.

With regard

-- 

Sigmund Augdal
-------------- next part --------------
dst_ca_open:Device opened [ec93f700]
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=10
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=1
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=10
dst_ca_ioctl: Getting Slot capabilities
put_checksum: ========================= Checksum calculation ===========================
put_checksum: String Length=[0x07]
put_checksum: String=[ 07 40 02 00 02 00 00 ]
put_checksum: Sum=[4b]
put_checksum: Checksum=[b5]
put_checksum: ==========================================================================
dst_put_ci: Put Command
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=8
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=1
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=128
ca_get_slot_caps: -->dst_put_ci SUCCESS !
ca_get_slot_caps: Slot cap = [1]
===================================
 10 64 0 0 2 3 0 1
dst_ca_ioctl: -->CA_GET_CAP Success !
dst_ca_ioctl: Getting Slot info
put_checksum: ========================= Checksum calculation ===========================
put_checksum: String Length=[0x07]
put_checksum: String=[ 00 05 00 00 00 00 00 ]
put_checksum: Sum=[05]
put_checksum: Checksum=[fb]
put_checksum: ==========================================================================
dst_put_ci: Put Command
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=8
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=1
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=128
ca_get_slot_info: -->dst_put_ci SUCCESS !
ca_get_slot_info: Slot info = [220]
===================================
 6 167 25 220 128 33 1 188
dst_ca_ioctl: -->CA_GET_SLOT_INFO Success !
dst_get_signal: Getting Signal strength and other parameters !!!!!!!!
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=8
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=1
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=8
dst_get_signal: Getting Signal strength and other parameters !!!!!!!!
dst_ca_ioctl: Sending message
ca_send_message
ca_send_message:Command=[0x9f8020]
ca_send_message: Getting Cam Application information
put_checksum: ========================= Checksum calculation ===========================
put_checksum: String Length=[0x07]
put_checksum: String=[ 07 40 01 00 01 00 00 ]
put_checksum: Sum=[49]
put_checksum: Checksum=[b7]
put_checksum: ==========================================================================
dst_put_ci: Put Command
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=8
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=1
i2c_adapter i2c-0: master_xfer[0] R, addr=0x55, len=128
ca_get_app_info: -->dst_put_ci SUCCESS !
ca_get_app_info: ================================ CI Module Application Info ======================================
ca_get_app_info: Application Type=[1], Application Vendor=[2816], Vendor Code=[1201]
ca_get_app_info: Application info=[Conax 4.00e]
ca_get_app_info: ==================================================================================================
ca_send_message: -->CA_APP_INFO_ENQUIRY Success !
dst_ca_ioctl: Getting message
Message = [9f 80 21]
ca_get_message:Command=[0x9f8021]
dst_ca_ioctl: -->CA_GET_MSG Success !
dst_ca_ioctl: Sending message
ca_send_message
ca_send_message:Command=[0x9f8032]
Command = SEND_CA_PMT
asn_1_decode: Length field=[2b]
asn_1_decode: Length=[2b]
ca_set_pmt: CA Message length=[43]
ca_set_pmt: ASN.1  String=[ 03 0b c0 23 00 07 01 00 41 01 00 00 17 02 02 00 00 00 04 02 80 00 00 06 02 81 00 00 06 02 40 00 00 c0 03 50 00 00 0b 08 fb 00 00 ]
copy_string: Copying [ 03 0b c0 23 00 07]
ca_set_pmt: Probably an ASIC bug !!!
 String=[ 00 00 80 32 00 00 00 03 0b c0 23 00 07 00 00 00 00 00 00 ]
ca_set_pmt: Program info length=[07]
copy_string: Copying [ 01 00 41 01 00 00 17 02]
copy_string: Copying [ 02 00 00 00 04]
ca_set_pmt: ES info length=[402]
ca_set_pmt: Descriptors @ STREAM level...!!! 
copy_string: Copying [ 02 80 00 00 06]
ca_set_pmt: ES info length=[602]
ca_set_pmt: Descriptors @ STREAM level...!!! 
copy_string: Copying [ 02 81 00 00 06]
ca_set_pmt: ES info length=[602]
ca_set_pmt: Descriptors @ STREAM level...!!! 
copy_string: Copying [ 02 40 00 00 c0]
ca_set_pmt: ES info length=[203]
ca_set_pmt: Descriptors @ STREAM level...!!! 
copy_string: Copying [ 03 50 00 00 0b]
ca_set_pmt: ES info length=[b08]
ca_set_pmt: Descriptors @ STREAM level...!!! 
 String=[ 00 00 80 32 00 00 00 03 0b c0 23 00 08 01 00 41 01 00 00 17 02 02 00 00 00 04 02 80 00 00 06 02 81 00 00 06 02 40 00 00 c0 03 50 00 00 0b 00 00 27 62 f9 ]
dst_put_ci: Put Command
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=51
write_dst: _write_dst error (err == -5, len == 0x33, b0 == 0x00)
dst_error_recovery: Trying to return from previous errors...
i2c_adapter i2c-0: master_xfer[0] W, addr=0x55, len=51
write_dst: _write_dst error (err == -5, len == 0x33, b0 == 0x00)
dst_error_recovery: Trying to return from previous errors...
dst_error_bailout: Trying to bailout from previous error...
dst_ci_command: Write not successful, trying to recover
dst_error_recovery: Trying to return from previous errors...
dst_error_recovery: Trying to return from previous errors...
write_to_8820: DST-CI Command succes.
ca_send_message: -->CA_PMT Success !
dst_ca_release:Device closed.


More information about the linux-dvb mailing list