[linux-dvb] Problems with ca_zap

Einar Bjarni Halldórsson einarha at hi.is
Fri Jun 24 01:21:40 CEST 2005


I have the same problem. First I had to change the read buffer size in
libdvbsi/channels.c since 80 chars just didn't cut it for my channel.conf
file. (with strings like "TRANSMISSION_MODE_8K" it soon adds up...) Then
the fun really started. Now I'm basically where you are, that is parse_pat
doesn't seem to see all my channels (13 of 85 in channel.conf by my count)
and most of the PID's are wrong. There's only one encrypted tv channel it
finds, the others are radio and FTA, but when I try to zap to the
encrypted channel it segfaults after telling me the PID's of the streams,
only the first of which matches the ones in channel.conf.

line in channel.conf:

CNN:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:517:677:32

output from ca_zap (with some debug lines in between):

parse_ca_descriptor: Tag=[09], Length=[04], CA System=[b00], CA PID=[2e5]
parse_ca_descriptor: CA Private Data=[ ]
parse_ca_descriptor: Pos=[18]
parse_pmt: Count=[18], Position=[18], Program descriptor count=[6]
parse_streams: elementary_pid = 517

        parse_streams: Elements=[ 02 e2 05 f0 00]
        parse_streams: Stream=[0], Stream Type=[2], Elementary PID=[517],
ES info length=[0]
parse_streams: elementary_pid = 741

        parse_streams: Elements=[ 06 e2 e5 f0 00]
        parse_streams: Stream=[1], Stream Type=[6], Elementary PID=[741],
ES info length=[0]
parse_streams: elementary_pid = 709

        parse_streams: Elements=[ 06 e2 c5 f0 07 56 05 65 6e 67 09 00]
        parse_streams: Stream=[2], Stream Type=[6], Elementary PID=[709],
ES info length=[7]
Segmentation fault


Now I'm pretty tired and hopeless, so please somebody bring some insight
into this.

Einar

> Allan Stirling wrote:
>
>> dvbsnoop gives me the following:
>> ------------------------------------------------------------
>> SECT-Packet: 00000001   PID: 0 (0x0000), Length: 44 (0x002c)
>> Time received: Thu 2005-06-23  22:20:09.035
>> ------------------------------------------------------------
>>  0000:  00 b0 29 07 ee e3 00 00  00 00 e0 10 11 39 e1 01
>> ..)..........9..
>>  0010:  11 fa e1 07 11 fb e1 09  12 5f e1 04 12 c2 e1 0c
>> ........._......
>>  0020:  12 c9 e1 0b 13 2a e1 0a  24 a9 24 84               .....*..$.$.
>>
>> PID:  0 (0x0000)  [= assigned for: ISO 13818-1 Program Association
>> Table (PAT)]
>> Guess table from table id...
>> PAT-decoding....
>> Table_ID: 0 (0x00)  [= Program Association Table (PAT)]
>> section_syntax_indicator: 1 (0x01)
>> (fixed): 0 (0x00)
>> reserved_1: 3 (0x03)
>> Section_length: 41 (0x0029)
>> Transport_Stream_ID: 2030 (0x07ee)
>> reserved_2: 3 (0x03)
>> Version_number: 17 (0x11)
>> current_next_indicator: 1 (0x01)  [= valid now]
>> Section_number: 0 (0x00)
>> Last_Section_number: 0 (0x00)
>>
>>    Program_number: 0 (0x0000)
>>    reserved: 7 (0x07)
>>    Network_PID: 16 (0x0010)
>>
>>    Program_number: 4409 (0x1139)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 257 (0x0101)
>>
>>    Program_number: 4602 (0x11fa)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 263 (0x0107)
>>
>>    Program_number: 4603 (0x11fb)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 265 (0x0109)
>>
>>    Program_number: 4703 (0x125f)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 260 (0x0104)
>>
>>    Program_number: 4802 (0x12c2)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 268 (0x010c)
>>
>>    Program_number: 4809 (0x12c9)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 267 (0x010b)
>>
>>    Program_number: 4906 (0x132a)
>>    reserved: 7 (0x07)
>>    Program_map_PID: 266 (0x010a)
>>
>> Where you can clearly see that 4703 is listed, with a PID of 260. I
>> think there must be something wrong in the PAT parsing, since I get
>> the following with a slightly modified ca_zap:
>>
>> parse_pat: PAT => Section Length=[41], TS ID=[12270]
>> service_id: 4703
>> program_number: 176    PID: 2311
>> program_number: 61155  PID: 0
>> program_number: 12288  PID: 16
>> program_number: 65337  PID: 7937
>> program_number: 65530  PID: 7943
>> program_number: 4603   PID: 265
>> program_number: 15967  PID: 260
>> program_number: 65474  PID: 7948
>> program_number: 4809   PID: 267
>> program_number: 4906   PID: 266
>>
>> As you can see, some of the program_numbers as well as some of the
>> PIDs are correct, but some are not. This is repeatable between runs.
>>
>> The TS ID is also different. I'm just about to try hardcoding the PID
>> as Manu originally suggested.
>>
> Okay. That gets me more output, but I don't think it's good.
>
> parse_sat_channel_list: Channel=[Sky One], Frequency=[12285],
> Satellite=[0], Symbol Rate=[27500], Video=[513], Audio=[641],
> Service=[4703]
> Service ID=[4703]
> parse_pat: ----------------->parse PAT section
> parse_pat: PAT => Section Length=[41], TS ID=[12270]
> service_id: 4703
> program_number: 176    PID: 2311
> program_number: 61155  PID: 0
> program_number: 12288  PID: 16
> program_number: 65337  PID: 7937
> program_number: 65530  PID: 7943
> program_number: 4603   PID: 265
> program_number: 15967  PID: 260
> parse_si: PMT PID = [260]
> program_number: 65474  PID: 7948
> program_number: 4809   PID: 267
> program_number: 4906   PID: 266
> parse_si: PAT: Close Demux /dev/dvb/adapter3/demux0
> parse_pmt: PMT Words=[ 02 b2 f5 12 5f c9 00 00 ff fe f0 13 0c 04 80 b4
> 81 68 0e 03 c5 df bb 10 06 c5 df bb c0 08 00 02 e2 01 f0 1c 02 03 1a 48
> 5f 09 04 09 60 e5 00 09 04 09 61 e5 00 52 01 01 0e 03 c0 4f f0 06 01 02
> 04 e2 81 f0 1d 03 01 67 09 04 09 60 e5 00 09 04 09 61 e5 00 0a 04 65 6e
> 67 00 52 01 81 0e 03 c0 02 0a 04 e2 95 f0 1d 03 01 67 09 04 09 60 e5 00
> 09 04 09 61 e5 00 0a 04 4e 41 52 00 52 01 95 0e 03 c0 02 0a 06 e2 40 f0
> 0f 56 05 65 6e 67 09 00 52 01 40 0e 03 c0 01 78 06 e2 41 f0 0f 56 05 65
> 6e 67 10 88 52 01 41 0e 03 c0 00 bc 05 e9 80 f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 45 54 30 31 52 01 5a 05 e9 81 f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 32 52 01 5b 05 e9 82 f0
> 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 33 52 01 5c
> 05 e9 83 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 57 54 53
> 33 52 01 0f 05 e9 84 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe
> 04 45 54 30 34 52 01 5d 05 e9 85 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00
> 90 01 90 fe 04 45 54 30 35 52 01 5e 05 e9 86 f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 45 54 30 36 52 01 5f 05 e9 87 f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 37 52 01 60 05 e9 88 f0
> 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 38 52 01 61
> 05 e9 89 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30
> 39 52 01 62 05 e9 8a f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe
> 04 57 49 41 31 52 01 7e 05 e9 8b f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00
> 90 01 90 fe 04 57 49 41 32 52 01 7f 05 e9 8c f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 57 49 41 33 52 01 80 05 e9 8d f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 57 54 56 43 52 01 c9 05 e9 8e f0
> 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 57 54 56 30 52 01 ca
> 05 ec 01 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 54 58 54
> 00 52 01 3a 05 ec 02 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe
> 04 54 58 54 01 52 01 3b 05 ec 03 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00
> 90 01 90 fe 04 54 58 54 02 52 01 3c 05 ec 04 f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 54 58 54 03 52 01 3d 05 e9 93 f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 49 53 4d 00 52 01 f7 05 e4 06 f0
> 13 5f 04 4f 54 56 00 90 01 9d fe 04 54 47 54 00 66 02 01 07 5c fc 4f 1d ]
>
> parse_pmt: ----------->parse PMT section, PMT PID=[260], bytes=[760]
> parse_pmt_header: Table ID=[2], Section Length=[757], Program
> Number=[4703], Section Number=[0], PCR PID=[8190], Program info
> length=[19]
> parse_pmt: Program info length=[19]
> parse_pmt: Count=[16], Position=[16], Program descriptor count=[19]
> parse_pmt: Count=[137], Position=[120], Program descriptor count=[19]
>
>         parse_streams: Elements=[ 4e 41 52 00 52 01 95 0e 03 c0 02 0a 06
> e2 40 f0 0f 56 05 65 6e 67 09 00 52 01 40 0e 03 c0 01 78 06 e2 41 f0 0f
> 56 05 65 6e 67 10 88 52 01 41 0e 03 c0 00 bc 05 e9 80 f0 17 0e 03 c0 46
> d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 31 52 01 5a 05 e9 81 f0 17
> 0e 03]
>         parse_streams: Stream=[0], Stream Type=[78], Elementary
> PID=[338], ES info length=[82]
>
> Cheers,
>
> Allan.
>
> _______________________________________________
> 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