[linux-dvb] ca_zap: Cannot open CA slot

Michael Ditum mrskensington at gmail.com
Mon Jun 27 13:26:27 CEST 2005


I have a WinTV Nexus-S rev 2.3 card with the 3.5" CI. I am currently
running kernel 2.6.12.1 with the latest dvb drivers from CVS.

I've had this card working on a free to air channel fine.

In one terminal I have szap running with
./szap -c channels.conf "TestChannel"
and that has a lock.

In another terminal I run the ca_zap command  and after a lot of
output it says...
write_to_slot: Cannot open CA slot.

I've treble checked the cable between the nexus card and the CI and
have an Irdeto CAM with a smart card in it.

I load the drivers using the insmod script (modified to use modprobe
instead though) and get the following output on the console...

FATAL: Module crc32 not found.
FATAL: Module firmware_class not found.
FATAL: Module evdev not found.
FATAL: Module bcm3510 not found.
FATAL: Module dvb_usb not found.
FATAL: Module dvb_usb_vp7045 not found.
FATAL: Module dvb_usb_dtt200u not found.
FATAL: Module dvb_usb_dibusb_common not found.
FATAL: Module dvb_usb_dibusb_mb not found.
FATAL: Module dvb_usb_dibusb_mc not found.
FATAL: Module dvb_usb_a800 not found.
FATAL: Module dvb_usb_nova_t_usb2 not found.
FATAL: Module dvb_usb_umt_010 not found.
FATAL: Module dvb_usb_digitv not found.
FATAL: Module dvb_usb_cxusb not found.

and the following output in /var/log/messages

Jun 27 12:08:51 bloodhound kernel: Linux video capture interface: v1.00
Jun 27 12:08:51 bloodhound kernel: saa7146: register extension 'dvb'.
Jun 27 12:08:51 bloodhound kernel: ACPI: PCI Interrupt 0000:09:02.0[A]
-> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Jun 27 12:08:51 bloodhound kernel: saa7146: found saa7146 @ mem
e09c6000 (revision 1, irq 11) (0x13c2,0x000e).
Jun 27 12:08:51 bloodhound udev[5264]: removing device node '/dev/0000:09:02.0'
Jun 27 12:08:51 bloodhound kernel: DVB: registering new adapter
(Technotrend/Hauppauge WinTV Nexus-S rev2.3).
Jun 27 12:08:52 bloodhound kernel: adapter has MAC addr = 00:d0:5c:24:b9:90
Jun 27 12:08:52 bloodhound kernel: dvb-ttpci: gpioirq unknown type=0 len=0
Jun 27 12:08:52 bloodhound kernel: dvb-ttpci: info @ card 0: firm
f0240009, rtsl b0250018, vid 71010068, app 8000261d
Jun 27 12:08:52 bloodhound kernel: dvb-ttpci: firmware @ card 0
supports CI link layer interface
Jun 27 12:08:52 bloodhound kernel: dvb-ttpci: Crystal audio DAC @ card
0 detected
Jun 27 12:08:52 bloodhound kernel: saa7146_vv: saa7146 (0): registered
device video0 [v4l2]
Jun 27 12:08:52 bloodhound kernel: DVB: registering frontend 0 (ST
STV0299 DVB-S)...
Jun 27 12:08:52 bloodhound hal.hotplug[5311]: DEVPATH is not set
Jun 27 12:08:52 bloodhound kernel: dvb-ttpci: found av7110-0.
Jun 27 12:08:52 bloodhound kernel: saa7146: register extension 'budget dvb'.
Jun 27 12:08:52 bloodhound kernel: saa7146: register extension 'budget_ci dvb'.
Jun 27 12:08:52 bloodhound kernel: saa7146: register extension 'budget
dvb /w video in'.
Jun 27 12:08:52 bloodhound kernel: usbcore: registered new driver
Technotrend/Hauppauge USB-Nova
Jun 27 12:08:52 bloodhound kernel: usbcore: registered new driver ttusb-dec
Jun 27 12:08:52 bloodhound kernel: b2c2-flexcop: B2C2
FlexcopII/II(b)/III digital TV receiver chip loaded successfully
Jun 27 12:08:52 bloodhound kernel: usbcore: registered new driver
Technisat/B2C2 FlexCop II/IIb/III USB
Jun 27 12:08:53 bloodhound kernel: usbcore: registered new driver cinergyT2
Jun 27 12:08:57 bloodhound udev[5491]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 65 applied, 'dvb0.demux0'
becomes 'dvb/adapter0/demux%n'
Jun 27 12:08:57 bloodhound udev[5491]: creating device node
'/dev/dvb/adapter0/demux0'
Jun 27 12:08:57 bloodhound udev[5504]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 64 applied, 'dvb0.dvr0'
becomes 'dvb/adapter0/dvr%n'
Jun 27 12:08:57 bloodhound udev[5526]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 71 applied, 'dvb0.video0'
becomes 'dvb/adapter0/video%n'
Jun 27 12:08:57 bloodhound udev[5527]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 67 applied, 'dvb0.audio0'
becomes 'dvb/adapter0/audio%n'
Jun 27 12:08:57 bloodhound udev[5527]: creating device node
'/dev/dvb/adapter0/audio0'
Jun 27 12:08:57 bloodhound udev[5528]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 68 applied, 'dvb0.ca0'
becomes 'dvb/adapter0/ca%n'
Jun 27 12:08:57 bloodhound udev[5504]: creating device node
'/dev/dvb/adapter0/dvr0'
Jun 27 12:08:57 bloodhound udev[5526]: creating device node
'/dev/dvb/adapter0/video0'
Jun 27 12:08:57 bloodhound udev[5538]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 69 applied, 'dvb0.osd0'
becomes 'dvb/adapter0/osd%n'
Jun 27 12:08:57 bloodhound udev[5538]: creating device node
'/dev/dvb/adapter0/osd0'
Jun 27 12:08:57 bloodhound udev[5546]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 70 applied, 'dvb0.net0'
becomes 'dvb/adapter0/net%n'
Jun 27 12:08:57 bloodhound udev[5547]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 36 applied, added symlink
'video'
Jun 27 12:08:57 bloodhound udev[5528]: creating device node
'/dev/dvb/adapter0/ca0'
Jun 27 12:08:57 bloodhound udev[5557]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 66 applied, 'dvb0.frontend0'
becomes 'dvb/adapter0/frontend%n'
Jun 27 12:08:57 bloodhound udev[5558]: configured rule in
'/etc/udev/rules.d/50-udev.rules' at line 25 applied, 'event2' becomes
'input/%k'
Jun 27 12:08:57 bloodhound udev[5546]: creating device node
'/dev/dvb/adapter0/net0'
Jun 27 12:08:57 bloodhound udev[5547]: creating device node '/dev/video0'
Jun 27 12:08:57 bloodhound udev[5557]: creating device node
'/dev/dvb/adapter0/frontend0'
Jun 27 12:08:57 bloodhound udev[5558]: creating device node '/dev/input/event2'

When I run ca_zap I get the following...

[root at bloodhound utils]# ./ca_zap -t sat -c channels.conf -n "TestChannel"
Using Adpater=[/dev/dvb/adapter0]
 Frontend=[/dev/dvb/adapter0/frontend0]
 Demux=[/dev/dvb/adapter0/demux0]
 Slot=[/dev/dvb/adapter0/ca0]
Parsing channels.conf
Satellite frontend
parse_sat_channel_list: Channel=[TestChannel], Frequency=[11013],
Satellite=[0], Symbol Rate=[27500], Video=[288], Audio=[544],
Service=[20]
Service ID=[20]
parse_pat: ----------------->parse PAT section
parse_pat: PAT => Section Length=[93], TS ID=[4688]
parse_si: PMT PID = [1312]
parse_si: PAT: Close Demux /dev/dvb/adapter0/demux0
parse_pmt: PMT Words=[ 02 b0 2e 00 14 c5 00 00 e1 20 f0 17 09 04 06 26
e6 50 09 0f 05 00 e7 00 10 01 00 13 01 20 14 03 02 1c 00 04 e2 20 f0
00 02 e1 20 f0 00 4e 08 15 1f ]

parse_pmt: ----------->parse PMT section, PMT PID=[1312], bytes=[49]
parse_pmt_header: Table ID=[2], Section Length=[46], Program
Number=[20], Section Number=[0], PCR PID=[288], Program info
length=[23]
parse_pmt: Program info length=[23]
INFO:: Parsing descriptor: parse_ca_descriptor, Tag=[09], Length=[4]
parse_ca_descriptor: Tag=[09], Length=[04], CA System=[626], CA PID=[650]
parse_ca_descriptor: CA Private Data=[ ]
parse_ca_descriptor: Pos=[18]
parse_pmt: Count=[18], Position=[18], Program descriptor count=[23]
INFO:: Parsing descriptor: parse_ca_descriptor, Tag=[09], Length=[15]
parse_ca_descriptor: Tag=[09], Length=[0f], CA System=[2700], CA PID=[1700]
parse_ca_descriptor: CA Private Data=[ 10 01 00 13 01 20 14 03 02 1c 00 ]
parse_ca_descriptor: Pos=[35]
parse_pmt: Count=[54], Position=[35], Program descriptor count=[23]

        parse_streams: Elements=[ 04 e2 20 f0 00]
        parse_streams: Stream=[0], Stream Type=[4], Elementary
PID=[544], ES info length=[0]

        parse_streams: Elements=[ 02 e1 20 f0 00]
        parse_streams: Stream=[1], Stream Type=[2], Elementary
PID=[288], ES info length=[0]

copy_en50221_pmt_object: Copying EN50221 Header
copy_en50221_pmt_object: Program Number=[20], Program info length=[23]
copy_en50221_pmt_object: Program level descriptor count=[2]
copy_en50221_pmt_object: CA descriptor=[09] found, @ [0xbf81f608],
descriptor length=[0f]
        copy_en50221_descriptor_object: Tag=[09], Length=[0f], CA
system ID=[2700], CA PID=[1700]
copy_en50221_descriptor_object: Private bytes=[11] [ 10 01 00 13 01 20
14 03 02 1c 00 ]
copy_en50221_pmt_object: [0] CA descriptor copied
copy_en50221_pmt_object: CA descriptor=[0f] found, @ [0xbf81f608],
descriptor length=[00]
copy_en50221_stream_object: Stream Type=[4], Elementary PID=[544], ES
length=[0], Number of descriptors=[0]
copy_en50221_stream_object: Stream Type=[2], Elementary PID=[288], ES
length=[0], Number of descriptors=[0]
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=[272], Total length=[34]
asn_1_encode: Length=[34]
asn_1_encode: length indicator=[22]
do_en50221_pmt_object: ASN.1 words=[1], Length Array=[  34 ]
en50221_encode_header: CA PMT List Mgmt=[3], Program Number=[20],
Program info length=[23]
write_en50221_pmt_object: EN50221 header encoded
write_en50221_pmt_object: Program level descriptor @ [0x8051088],
count=[2], tag=[09], length=[0f]
encode_ca_pmt_command: Encoding SCRAMBLING @ PROGRAM Level, Command=[01]
en50221_encode_descriptor: Tag=[09], length=[0f], CA system id=[2700],
CA PID=[1700]
en50221_encode_descriptor: Private Bytes=[11] [ 10 01 00 13 01 20 14
03 02 1c 00 ]
write_en50221_pmt_object: Program level descriptor @ [0x8051088],
count=[2], tag=[00], length=[00]
write_en50221_pmt_object: Descriptor length=[0]
en50221_encode_streams: Stream type=[04], ES PID=[220], ES Info length=[00]
en50221_encode_streams: Stream type=[02], ES PID=[120], ES Info length=[00]
debug_message: CA MESSAGE=[ 9f 80 32 22 03 00 14 09 10 17 01 09 0f 27
00 f7 00 10 01 00 13 01 20 14 03 02 1c 00 04 e2 20 f0 00 02 e1 20 f0
00  ]
write_to_slot: Cannot open CA slot.

Thanks in advance

Mike

p.s. the following file in CVS needs updating...
dvb-kernel/linux/Documentation/dvb/ci.txt it says you need to modify
the channels.conf to add the PMT PID but you don't seem to need to
anymore.




More information about the linux-dvb mailing list