[linux-dvb] dvb-bt8xx: A frontend driver was not found for device 109e/0878 subsystem 1822/0001

Manu Abraham manu at kromtek.com
Thu Jun 23 16:25:41 CEST 2005


Oivind wrote:
> Thanks for tips on EN50221 specs, I have it now and I will let you
> know about progress :) I installed the latest CVS now and the i2c
> comms errors disappeared.
> 
> BTW with the ca_zap utility, it doesn't look like the signal gets
> descrambled though it exits successfully. Do you have some idea? :)
> 
>>From ca_zap:
> -----------------------
> Using Adpater=[/dev/dvb/adapter0]
>  Frontend=[/dev/dvb/adapter0/frontend0]
>  Demux=[/dev/dvb/adapter0/demux0]
>  Slot=[/dev/dvb/adapter0/ca0]
> Parsing TV2.conf
> Satellite frontend
> parse_sat_channel_list: Channel=[TV2 Norge], Frequency=[12303],
> Satellite=[0], Symbol Rate=[27800], Video=[514], Audio=[668],
> Service=[1508]
> Service ID=[1508]
> parse_pat: ----------------->parse PAT section
> parse_pat: PAT => Section Length=[109], TS ID=[27919]
> parse_si: PMT PID = [263] // OK
> parse_si: PAT: Close Demux /dev/dvb/adapter0/demux0
> parse_pmt: PMT Words=[ 02 b0 83 05 e4 c1 00 00 e2 02 f0 06 09 04 0b 00
> e5 05 02 e2 02 f0 05 02 03 1a 48 5f 04 e2 9c f0 09 03 01 67 0a 04 6e
> 6f 72 00 04 e2 9d f0 09 03 01 67 0a 04 75 6e 64 00 06 e2 42 f0 07 56
> 05 6e 6f 72 09 00 c0 e3 50 f0 31c6 05 00 00 05 01 ff c2 28 53 43 41 5f
> 45 50 47 32 53 43 41 5f 5f 53 45 53 53 43 41 5f 45 50 47 31 53 43 41
> 5f 5f 43 48 4c 45 50 47 5f 4c 4f 41 44 0b e8 fb f0 03 52 01 02 ba 2e
> ab 2a ]
> 
> parse_pmt: ----------->parse PMT section, PMT PID=[263], bytes=[134]
> parse_pmt_header: Table ID=[2], Section Length=[131], Program
> Number=[1508], Section Number=[0], PCR PID=[514], Program info
> length=[6] 


// ok till here


> parse_pmt: Program info length=[6]
> INFO:: Parsing descriptor: parse_ca_descriptor, Tag=[09], Length=[4]
> parse_ca_descriptor: Tag=[09], Length=[04], CA System=[b00], CA PID=[505]
> parse_ca_descriptor: CA Private Data=[ ]

// ok till here

> parse_ca_descriptor: Pos=[18]
> parse_pmt: Count=[18], Position=[18], Program descriptor count=[6]
> 
>         parse_streams: Elements=[ 02 e2 02 f0 05 02 03 1a 48 5f]
>         parse_streams: Stream=[0], Stream Type=[2], Elementary
> PID=[514], ES info length=[5]
> 

// ok till here

> copy_en50221_pmt_object: Copying EN50221 Header
> copy_en50221_pmt_object: Program Number=[1508], Program info length=[6]
> copy_en50221_pmt_object: Program level descriptor count=[1]
> copy_en50221_pmt_object: CA descriptor=[09] found, @ [0x7fffffd74cc8],
> descriptor length=[04]
>         copy_en50221_descriptor_object: Tag=[09], Length=[04], CA
> system ID=[b00], CA PID=[505]
> copy_en50221_descriptor_object: Private bytes=[0] [ ]
> copy_en50221_pmt_object: [0] CA descriptor copied
> copy_en50221_stream_object: Stream Type=[2], Elementary PID=[514], ES
> length=[5], Number of descriptors=[0]

// ok till here

> do_en50221_pmt_object: CA PMT List Management=[03]
> set_pmt_command: Setting PMT Command
> set_pmt_command: CA descriptor found @ PROGRAM Level, Setting CA PMT
> command=[01]
> do_en50221_pmt_object: Object length=[144], Total length=[18]
> asn_1_encode: Length=[18]
> asn_1_encode: length indicator=[12]

// ok this too ..
> do_en50221_pmt_object: ASN.1 words=[1], Length Array=[  18 ]
> en50221_encode_header: CA PMT List Mgmt=[3], Program Number=[1508],
> Program info length=[6]
> write_en50221_pmt_object: EN50221 header encoded
> write_en50221_pmt_object: Program level descriptor @ [0x506138],
> count=[1], tag=[09], length=[04]
> encode_ca_pmt_command: Encoding SCRAMBLING @ PROGRAM Level, Command=[01]
> en50221_encode_descriptor: Tag=[09], length=[04], CA system id=[b00],
> CA PID=[505]
> en50221_encode_descriptor: Private Bytes=[0] [ ]
> en50221_encode_streams: Stream type=[02], ES PID=[202], ES Info length=[05]
> debug_message: CA MESSAGE=[ 9f 80 32 {12} 03 05 e4 01 10 06 01 09 04 0b
> 00 e5 05 02 e2 02 f0 05  ]
> 
> 

Message is sent correctly ..

>>From dmesg:
> -------------------
> dst_ca_open:Device opened [ffff810023e8d580]
> dst_ca_ioctl: Sending message
> ca_send_message
> ca_send_message:Command=[0x9f8032]
> Command = SEND_CA_PMT
> asn_1_decode: Length field=[12]
> asn_1_decode: Length=[12]
> ca_set_pmt: CA Message length=[18]
> ca_set_pmt: ASN.1  String=[ 03 05 e4 01 10 06 01 09 04 0b 00 e5 05 02
> e2 02 f0 05 ]

dst (driver) received the correct string ... !

program header
> copy_string: Copying [ 03 05 e4 01 10 06]

> ca_set_pmt: Probably an ASIC bug !!!
> String=[ 00 00 80 32 00 00 00 03 05 e4 01 00 06 00 00 0000 00 45 ]
> ca_set_pmt: Program info length=[06]
> copy_string: Copying [ 01 09 04 0b 00 e5 05]
> copy_string: Copying [ 02 e2 02 f0 05]

> ca_set_pmt: ES info length=[500]
length got ****** up in ca_set_pmt .. something went wrong here ..



> ca_set_pmt: Descriptors @ STREAM level...!!!
> String=[ 00 00 80 32 00 00 00 03 05 e4 01 00 07 01 09 040b 00 e5 05 02
> e2 02 00 05 6c ]

but what happened to the dst_tags .. ? set in handle_dst_tag() in dst_ca.c

> dst_put_ci: Put Command
> write_dst: _write_dst error (err == -5, len == 0x1a, b0 == 0x00)
> dst_error_recovery: Trying to return from previous errors...
> write_dst: _write_dst error (err == -5, len == 0x1a, 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.
>                                                                  
> 
> Thanks,
> Oivind
> 
> 
> On 6/22/05, Manu Abraham <manu at kromtek.com> wrote:
>>Oivind wrote:
>>>Manu,
>>>
>>>I think you were right about the i2c comms problem. I upgraded to
>>>2.6.12 and got your latest dvb-kernel cvs. Now this is resolved,
>>>though there still comes a few i2c errors in dmesg now and then. If
>>>this is something you would like resolved, I'd be happy to assist.
>>>
>>You are using the dvb-kernel a few hours back ? because the get_signal
>>removal makes things a bit better ..
>>
>>If you have already done taht, The few i2c errors are there when you
>>tune to an invalid frequency/polarity .. There is nothing that can be
>>done about it .. The only thing if you don't want to see those messages
>>is turn off debug/verbose, but that would only silence the symptom ..
>>
>>You will not know in case of a real one ..:-( The other side of the coin ..
>>
>>>However, I am writing to you because of the videolan software. This
>>>software doesn't support the new high level CI interface (documented
>>Ah, you want to integrate HLCI support into VLC .. That would be nice ..
>>
>>What you can do is as a temporary work around, run ca_zap in the
>>background top switch channels, eventhough lame this will switch channels..
>>
>>>in ci.txt kernel docs) which my Twinhan clone (VisionPlus VisionDST
>>>SAI-CI) uses. I am thinking about implementing it, but I cannot find
>>That would be nice, i too use that, please do let me know how you proceed ..
>>
>>>appropriate documentation, so I am asking if you have any CAM message
>>>specifications for Conax CI and/or any docs that might be helpful.
>>>
>>I have made the specifications as simple as possible..
>>To have this i have implemented in such a way that you have to send an
>>EN50221 style CA_PMT message to the dst_ca driver.. The rest, the driver
>>takes care ..
>>
>>Do you have a copy of EN50221 ?
>>
>>
>>>I appreciate your efforts on dvb, very good indeed :)
>>>
>>Thanks,
>>Manu
>>
>>
> 
> 
> 





More information about the linux-dvb mailing list