[linux-dvb] Twinhan Cab/CI 2031: always need to tune twice

Zoilo Gomez zoilo at xs4all.nl
Thu Aug 17 07:26:00 CEST 2006


Hi Raido,

Do you have this problem as well, when switching frequencies?

It only happens when the tuner is sent to a different freq; there is no 
problem when switching PIDs within a freq.

Regards,

Z.

Zoilo Gomez wrote:

> With the locking problem fixed, it's time to move to the next problem 
> with the Twinhan Cab/CI 2031 card.
>
> I have a Twinhan Cab/CI 2031 (well, actually I have 3 of them) and a 
> KNC1.
>
> Using vlc, on the KNC1, when I tell the card to start streaming a 
> program, it may take several seconds before it starts, but it works 
> the first time.
>
> Using the Twinhan, I always have to enter the command twice; the first 
> time nothing will happen. Then I Ctrl-C, rerun the same command and it 
> works.
>
> So far I hav not been able to figure out where things go wrong.
>
> Sample dst output with verbose-5 during such a failing 'first tune':
>
>> dst_ca_open:  Device opened [df682140] dst_ca_ioctl:  Getting Slot 
>> capabilities
>> put_checksum:  Computing string checksum.
>> put_checksum:   -> string length : 0x07
>> put_checksum:   -> checksum      : 0xb5
>> dst_put_ci:  Put Command
>> dst(0) dst_comm_init: Initializing DST.
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(0) rdc_reset_state: Resetting state machine
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(0) dst_set_freq: set Frequency 354750000
>> dst(0) dst_set_frontend: Set Frequency=[354750000]
>> dst(0) dst_set_symbolrate: set symrate 6900000
>> dst(0) dst_set_symbolrate: DCT-CI
>> dst(0) dst_write_tuna: type_flags 0x1219 dst(0) dst_gpio_outb: 
>> mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 07 40 02 00 02 00 00 b5 ]
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) read_dst: reply is 0xff
>> dst(0) dst_wait_dst_ready: dst wait ready after 1
>> dst(0) read_dst: reply is 0xa
>> 0x40 0x0 0x0 0x2 0x3 0x0 0x1 0x18 0x1 0x97 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
>> ca_get_slot_caps:  -->dst_put_ci SUCCESS !
>> ca_get_slot_caps:  Slot cap = [1]
>> ===================================
>> 10 64 0 0 2 3 0 1 24 1 151
>> dst_ca_ioctl:  -->CA_GET_CAP Success !
>> dst_ca_ioctl:  Getting Slot info
>> put_checksum:  Computing string checksum.
>> put_checksum:   -> string length : 0x07
>> put_checksum:   -> checksum      : 0xfb
>> dst_put_ci:  Put Command
>> dst(0) dst_comm_init: Initializing DST.
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(0) rdc_reset_state: Resetting state machine
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 00 05 00 00 00 00 00 fb ]
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) read_dst: reply is 0xff
>> dst(0) dst_wait_dst_ready: dst wait ready after 2
>> dst(0) read_dst: reply is 0x0
>> 0x5 0x0 0x14 0x88 0x51 0x0 0xe 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff
>> ca_get_slot_info:  -->dst_put_ci SUCCESS !
>> ca_get_slot_info:  Slot info = [20]
>> ===================================
>> 0 5 0 20 136 81 0 14
>> dst_ca_ioctl:  -->CA_GET_SLOT_INFO Success !
>> dst_ca_ioctl:  Sending message
>> ca_send_message:  ca_send_message:  Command=[0x9f8020]
>>
>> ca_send_message:  Getting Cam Application information
>> put_checksum:  Computing string checksum.
>> put_checksum:   -> string length : 0x07
>> put_checksum:   -> checksum      : 0xb7
>> dst_put_ci:  Put Command
>> dst(0) dst_comm_init: Initializing DST.
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(0) rdc_reset_state: Resetting state machine
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 07 40 01 00 01 00 00 b7 ]
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) read_dst: reply is 0xff
>> dst(0) dst_wait_dst_ready: dst wait ready after 1
>> dst(0) read_dst: reply is 0xd
>> 0x40 0x0 0x0 0x1 0x6 0x0 0x0 0x3 0x1 0x0 0x41 0x0 0x67 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 
>> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
>> ca_get_app_info:  -->dst_put_ci SUCCESS !
>> ca_get_app_info:  ================================ CI Module 
>> Application Info ======================================
>> ca_get_app_info:  Application Type=[0], Application Vendor=[769], 
>> Vendor Code=[65]
>> ca_get_app_info: Application info=[]
>> ca_get_app_info:  
>> ================================================================================================== 
>>
>> ca_send_message:  -->CA_APP_INFO_ENQUIRY Success !
>> dst_ca_ioctl:  Getting message
>> ca_get_message:  Message = [9f 80 21]
>> ca_get_message:  Command=[0x9f8021]
>> dst_ca_ioctl:  -->CA_GET_MSG Success !
>> dst(0) dst_comm_init: Initializing DST.
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(0) rdc_reset_state: Resetting state machine
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 09 00 05 69 be 00 1a f4 40 7d ]
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) read_dst: reply is 0xff
>> dst(0) dst_wait_dst_ready: dst wait ready after 42
>> dst(0) read_dst: reply is 0x9
>> 0x0 0x5 0x69 0xbe 0x0 0x1a 0xf4 0x40 0x7d
>> dst(0) dst_comm_init: Initializing DST.
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(0) rdc_reset_state: Resetting state machine
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 00 05 00 00 00 00 00 fb ]
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) read_dst: reply is 0xff
>> dst(0) dst_wait_dst_ready: dst wait ready after 1
>> dst(0) read_dst: reply is 0x0
>> 0x5 0x0 0x0 0x88 0x2 0x0 0x71
>> dst_ca_release:  Device closed.
>>
>
> Raido: do you have the same problem with you Twinhan?
>
> Z.
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
>




More information about the linux-dvb mailing list