Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: linux-dvb Re Nova-s CAMCI support



Hello,

On Fri, May 14, 2004, Andrew de Quincey wrote:

> > >Maybe its the load on the machine that causes it. Previously the IRQ
> > > kicked off a tasklet, which then kicked off a thread to do the reading. I
> > > changed it so it just did the reading in the tasklet directly.
> >
> > With the latest patch I haven't seen any more CAM errors so I'd say you
> > nailed it! (I'll let you know if anything else turns up.) I think you
> > can go ahead and commit the patch. Many thanks for the quick fix. Have a
> > nice weekend!
> 
> great! 

There seems to be an extra problem with this patch. I'm using Linux
kernel 2.6.6 on Debian testing, with the latest CVS from linuxtv.org.
The machine is a Dell 1750 1U server with two hyperthreaded xeon 3.0
GHz. The CAM is an AstonCrypt Mediaguard.

I get the following kernel log while loading the module :

Jun  8 18:04:18 streaming-28 kernel: saa7146: register extension
'budget_ci dvb'.
Jun  8 18:04:18 streaming-28 kernel: saa7146: found saa7146 @ mem
e08bf000 (revision 1, irq 24) (0x13c2,0x100f).
Jun  8 18:04:18 streaming-28 kernel: DVB: registering new adapter
(TT-Budget/WinTV-NOVA-CI PCI).
Jun  8 18:04:19 streaming-28 kernel: adapter has MAC addr =
00:d0:5c:23:b4:d9
Jun  8 18:04:19 streaming-28 kernel: dvb_ca_en50221_init
Jun  8 18:04:19 streaming-28 kernel: budget_ci: CI interface initialised
Jun  8 18:04:19 streaming-28 kernel: dvb_ca_en50221_thread
Jun  8 18:04:19 streaming-28 kernel: CAMCHANGE IRQ slot:0 change_type:1
Jun  8 18:04:19 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:04:19 streaming-28 kernel: CAMREADY IRQ slot:0
Jun  8 18:04:19 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:04:19 streaming-28 kernel: TUPLE type:0x1d length:4
Jun  8 18:04:19 streaming-28 kernel:   0x00: 0x00 .
Jun  8 18:04:19 streaming-28 kernel:   0x01: 0xdb .
Jun  8 18:04:19 streaming-28 kernel:   0x02: 0x08 .
Jun  8 18:04:19 streaming-28 kernel:   0x03: 0xff .
Jun  8 18:04:19 streaming-28 kernel: TUPLE type:0x1c length:3
Jun  8 18:04:19 streaming-28 kernel:   0x00: 0x00 .
Jun  8 18:04:19 streaming-28 kernel:   0x01: 0x08 .
Jun  8 18:04:19 streaming-28 kernel:   0x02: 0xff .
Jun  8 18:04:19 streaming-28 kernel: TUPLE type:0x15 length:23
Jun  8 18:04:19 streaming-28 kernel:   0x00: 0x05 .
Jun  8 18:04:19 streaming-28 kernel:   0x01: 0x00 .
Jun  8 18:04:19 streaming-28 kernel:   0x02: 0x41 A
Jun  8 18:04:19 streaming-28 kernel:   0x03: 0x53 S
Jun  8 18:04:19 streaming-28 kernel:   0x04: 0x54 T
Jun  8 18:04:19 streaming-28 kernel:   0x05: 0x4f O
Jun  8 18:04:19 streaming-28 kernel:   0x06: 0x4e N
Jun  8 18:04:19 streaming-28 kernel:   0x07: 0x00 .
Jun  8 18:04:19 streaming-28 kernel:   0x08: 0x44 D
Jun  8 18:04:19 streaming-28 kernel:   0x09: 0x56 V
Jun  8 18:04:19 streaming-28 kernel:   0x0a: 0x42 B
Jun  8 18:04:19 streaming-28 kernel:   0x0b: 0x20  
Jun  8 18:04:19 streaming-28 kernel:   0x0c: 0x43 C
Jun  8 18:04:19 streaming-28 kernel:   0x0d: 0x41 A
Jun  8 18:04:19 streaming-28 kernel:   0x0e: 0x20  
Jun  8 18:04:19 streaming-28 kernel:   0x0f: 0x4d M
Jun  8 18:04:19 streaming-28 kernel:   0x10: 0x6f o
Jun  8 18:04:19 streaming-28 kernel:   0x11: 0x64 d
Jun  8 18:04:19 streaming-28 kernel:   0x12: 0x75 u
Jun  8 18:04:19 streaming-28 kernel:   0x13: 0x6c l
Jun  8 18:04:19 streaming-28 kernel:   0x14: 0x65 e
Jun  8 18:04:19 streaming-28 kernel:   0x15: 0x00 .
Jun  8 18:04:19 streaming-28 kernel:   0x16: 0xff .
Jun  8 18:04:19 streaming-28 kernel: TUPLE type:0x20 length:4
Jun  8 18:04:20 streaming-28 kernel:   0x00: 0xff .
Jun  8 18:04:20 streaming-28 kernel:   0x01: 0xff .
Jun  8 18:04:20 streaming-28 kernel:   0x02: 0x01 .
Jun  8 18:04:20 streaming-28 kernel:   0x03: 0x00 .
Jun  8 18:04:20 streaming-28 kernel: TUPLE type:0x1a length:21
Jun  8 18:04:20 streaming-28 kernel:   0x00: 0x01 .
Jun  8 18:04:20 streaming-28 kernel:   0x01: 0x0f .
Jun  8 18:04:20 streaming-28 kernel:   0x02: 0x00 .
Jun  8 18:04:20 streaming-28 kernel:   0x03: 0x02 .
Jun  8 18:04:20 streaming-28 kernel:   0x04: 0x01 .
Jun  8 18:04:20 streaming-28 kernel:   0x05: 0xc0 .
Jun  8 18:04:20 streaming-28 kernel:   0x06: 0x0e .
Jun  8 18:04:20 streaming-28 kernel:   0x07: 0x41 A
Jun  8 18:04:20 streaming-28 kernel:   0x08: 0x02 .
Jun  8 18:04:20 streaming-28 kernel:   0x09: 0x44 D
Jun  8 18:04:20 streaming-28 kernel:   0x0a: 0x56 V
Jun  8 18:04:20 streaming-28 kernel:   0x0b: 0x42 B
Jun  8 18:04:20 streaming-28 kernel:   0x0c: 0x5f _
Jun  8 18:04:20 streaming-28 kernel:   0x0d: 0x43 C
Jun  8 18:04:20 streaming-28 kernel:   0x0e: 0x49 I
Jun  8 18:04:20 streaming-28 kernel:   0x0f: 0x5f _
Jun  8 18:04:20 streaming-28 kernel:   0x10: 0x56 V
Jun  8 18:04:20 streaming-28 kernel:   0x11: 0x31 1
Jun  8 18:04:20 streaming-28 kernel:   0x12: 0x2e .
Jun  8 18:04:20 streaming-28 kernel:   0x13: 0x30 0
Jun  8 18:04:20 streaming-28 kernel:   0x14: 0x30 0
Jun  8 18:04:20 streaming-28 kernel: TUPLE type:0x1b length:17
Jun  8 18:04:20 streaming-28 kernel:   0x00: 0xc9 .
Jun  8 18:04:20 streaming-28 kernel:   0x01: 0x41 A
Jun  8 18:04:20 streaming-28 kernel:   0x02: 0x19 .
Jun  8 18:04:20 streaming-28 kernel:   0x03: 0x37 7
Jun  8 18:04:20 streaming-28 kernel:   0x04: 0x55 U
Jun  8 18:04:20 streaming-28 kernel:   0x05: 0x4e N
Jun  8 18:04:20 streaming-28 kernel:   0x06: 0x5e ^
Jun  8 18:04:20 streaming-28 kernel:   0x07: 0x1d .
Jun  8 18:04:20 streaming-28 kernel:   0x08: 0x56 V
Jun  8 18:04:20 streaming-28 kernel:   0x09: 0xaa .
Jun  8 18:04:20 streaming-28 kernel:   0x0a: 0x60 `
Jun  8 18:04:20 streaming-28 kernel:   0x0b: 0x20  
Jun  8 18:04:20 streaming-28 kernel:   0x0c: 0x03 .
Jun  8 18:04:20 streaming-28 kernel:   0x0d: 0x03 .
Jun  8 18:04:20 streaming-28 kernel:   0x0e: 0x50 P
Jun  8 18:04:20 streaming-28 kernel:   0x0f: 0xff .
Jun  8 18:04:20 streaming-28 kernel:   0x10: 0xff .
Jun  8 18:04:20 streaming-28 kernel: TUPLE type:0x1b length:37
Jun  8 18:04:20 streaming-28 kernel:   0x00: 0xcf .
Jun  8 18:04:20 streaming-28 kernel:   0x01: 0x04 .
Jun  8 18:04:20 streaming-28 kernel:   0x02: 0x09 .
Jun  8 18:04:20 streaming-28 kernel:   0x03: 0x37 7
Jun  8 18:04:20 streaming-28 kernel:   0x04: 0x55 U
Jun  8 18:04:20 streaming-28 kernel:   0x05: 0x4d M
Jun  8 18:04:20 streaming-28 kernel:   0x06: 0x5d ]
Jun  8 18:04:21 streaming-28 kernel:   0x07: 0x1d .
Jun  8 18:04:21 streaming-28 kernel:   0x08: 0x56 V
Jun  8 18:04:21 streaming-28 kernel:   0x09: 0x22 "
Jun  8 18:04:21 streaming-28 kernel:   0x0a: 0xc0 .
Jun  8 18:04:21 streaming-28 kernel:   0x0b: 0x09 .
Jun  8 18:04:21 streaming-28 kernel:   0x0c: 0x44 D
Jun  8 18:04:21 streaming-28 kernel:   0x0d: 0x56 V
Jun  8 18:04:21 streaming-28 kernel:   0x0e: 0x42 B
Jun  8 18:04:21 streaming-28 kernel:   0x0f: 0x5f _
Jun  8 18:04:21 streaming-28 kernel:   0x10: 0x48 H
Jun  8 18:04:21 streaming-28 kernel:   0x11: 0x4f O
Jun  8 18:04:21 streaming-28 kernel:   0x12: 0x53 S
Jun  8 18:04:21 streaming-28 kernel:   0x13: 0x54 T
Jun  8 18:04:21 streaming-28 kernel:   0x14: 0x00 .
Jun  8 18:04:21 streaming-28 kernel:   0x15: 0xc1 .
Jun  8 18:04:21 streaming-28 kernel:   0x16: 0x0e .
Jun  8 18:04:21 streaming-28 kernel:   0x17: 0x44 D
Jun  8 18:04:21 streaming-28 kernel:   0x18: 0x56 V
Jun  8 18:04:21 streaming-28 kernel:   0x19: 0x42 B
Jun  8 18:04:21 streaming-28 kernel:   0x1a: 0x5f _
Jun  8 18:04:21 streaming-28 kernel:   0x1b: 0x43 C
Jun  8 18:04:21 streaming-28 kernel:   0x1c: 0x49 I
Jun  8 18:04:21 streaming-28 kernel:   0x1d: 0x5f _
Jun  8 18:04:21 streaming-28 kernel:   0x1e: 0x4d M
Jun  8 18:04:21 streaming-28 kernel:   0x1f: 0x4f O
Jun  8 18:04:21 streaming-28 kernel:   0x20: 0x44 D
Jun  8 18:04:21 streaming-28 kernel:   0x21: 0x55 U
Jun  8 18:04:21 streaming-28 kernel:   0x22: 0x4c L
Jun  8 18:04:21 streaming-28 kernel:   0x23: 0x45 E
Jun  8 18:04:21 streaming-28 kernel:   0x24: 0x00 .
Jun  8 18:04:21 streaming-28 kernel: TUPLE type:0x14 length:0
Jun  8 18:04:21 streaming-28 kernel: TUPLE type:0xff length:0
Jun  8 18:04:21 streaming-28 kernel: Valid DVB CAM detected MANID:ffff
DEVID:1 CONFIGBASE:0x200 CONFIGOPTION:0xf
Jun  8 18:04:21 streaming-28 kernel: dvb_ca_en50221_set_configoption
Jun  8 18:04:21 streaming-28 kernel: Set configoption 0xf, read
configoption 0xfJun  8 18:04:21 streaming-28 kernel: DVB CAM validated
successfully
Jun  8 18:04:21 streaming-28 kernel: dvb_ca_en50221_link_init
Jun  8 18:04:21 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:04:21 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:04:21 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:04:21 streaming-28 kernel: FR/DA IRQ slot:0
Jun  8 18:04:21 streaming-28 kernel: CAM supports DA IRQ
Jun  8 18:04:22 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:04:22 streaming-28 kernel: dvb_ca_en50221_read_data
Jun  8 18:04:22 streaming-28 kernel: Received CA packet for slot 0
connection id 0x0 last_frag:1 size:0x2
Jun  8 18:04:22 streaming-28 kernel: Chosen link buffer size of 16
Jun  8 18:04:22 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:04:22 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:04:22 streaming-28 kernel: dvb_ca_en50221_write_data
Jun  8 18:04:22 streaming-28 kernel: Wrote CA packet for slot 0,
connection id 0x0 last_frag:1 size:0x2
Jun  8 18:04:22 streaming-28 kernel: dvb_ca: DVB CAM detected and
initialised successfully
Jun  8 18:05:18 streaming-28 kernel: probe_tuner: try to attach to
saa7146 (0)
Jun  8 18:05:18 streaming-28 kernel:
drivers/media/dvb/frontends/stv0299.c: setup for tuner SU1278 (TSA5059
synth)
Jun  8 18:05:18 streaming-28 kernel: DVB: registering frontend 0
(STV0299/TSA5059/SL1935 based)...

When I launch the cam_set program :

Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_open
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_release
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_open
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_slot_shutdown
Jun  8 18:06:09 streaming-28 kernel: Slot 0 shutdown
Jun  8 18:06:09 streaming-28 kernel: CAMCHANGE IRQ slot:0 change_type:1
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:06:09 streaming-28 kernel: CAMREADY IRQ slot:0
Jun  8 18:06:09 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:09:37 streaming-28 kernel: 1_read_data
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_read_data
Jun  8 18:09:37 streaming-28 last message repeated 1154 times
Jun  8 18:09:37 streaming-28 kernel: dvb_ca: CAM tried to send a buffer
larger than the link buffer size!
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_link_init
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:1
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_read_data
Jun  8 18:09:37 streaming-28 kernel: dvb_ca: CAM tried to send a buffer
larger than the ecount size!
Jun  8 18:09:37 streaming-28 kernel: dvb_ca: DVB CAM link initialisation
failed :(
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:09:37 streaming-28 kernel: FR/DA IRQ slot:0
Jun  8 18:09:37 streaming-28 kernel: dvb_ca_en50221_io_release
Jun  8 18:09:51 streaming-28 kernel: FR/DA IRQ slot:0
Jun  8 18:09:51 streaming-28 kernel: CAMCHANGE IRQ slot:0 change_type:0
Jun  8 18:09:51 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:09:51 streaming-28 kernel: dvb_ca_en50221_slot_shutdown
Jun  8 18:09:51 streaming-28 kernel: Slot 0 shutdown

Note that between 18:06:09 and 18:09:37 (the "last message repeated 1154
times"), the machine is completely locked up and doesn't respond to
ping. Alt-sysrq-I doesn't even revive the machine. It only stopped
because I removed _and inserted_ the CAM at 18:09:37.

I have also tried without Andrew's patch, using revisions 1.9 and 1.1 of
dvb_ca_en50221.[ch], and although it doesn't lock up the machine this
time, the CAM still doesn't work :

Jun  8 18:26:25 streaming-28 kernel:   0x24: 0x00 .
Jun  8 18:26:25 streaming-28 kernel: TUPLE type:0x14 length:0
Jun  8 18:26:25 streaming-28 kernel: TUPLE type:0xff length:0
Jun  8 18:26:25 streaming-28 kernel: Valid DVB CAM detected MANID:ffff
DEVID:1 CONFIGBASE:0x200 CONFIGOPTION:0xf
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_set_configoption
Jun  8 18:26:25 streaming-28 kernel: Set configoption 0xf, read configoption 0xf
Jun  8 18:26:25 streaming-28 kernel: DVB CAM validated successfully
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_link_init
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:26:25 streaming-28 kernel: FR/DA IRQ slot:0
Jun  8 18:26:25 streaming-28 kernel: CAM supports DA IRQ
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_read_data
Jun  8 18:26:25 streaming-28 kernel: Chosen link buffer size of 16
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:26:25 streaming-28 kernel: dvb_ca_en50221_write_data
Jun  8 18:26:25 streaming-28 kernel: dvb_ca: DVB CAM detected and
initialised successfully
Jun  8 18:26:42 streaming-28 kernel: dvb_ca_en50221_io_open
Jun  8 18:26:42 streaming-28 kernel: dvb_ca_en50221_thread_wakeup

root@streaming-28:~/libdvb-0.5.4# ./cam_set  
Found 1CAM(s)
Using /dev/dvb/adapter0/ca0
Found 1 slots

No working CAM found within 30 seconds.


Seconds after this message is printed, I get the following (again) :

Jun  8 18:28:07 streaming-28 kernel: do_ioctl
Jun  8 18:28:07 streaming-28 kernel: dvb_ca_en50221_io_do_ioctl
Jun  8 18:28:07 streaming-28 last message repeated 1090 times
Jun  8 18:28:07 streaming-28 kernel: dvb_ca_en50221_io_release
Jun  8 18:28:07 streaming-28 kernel: CAMREADY IRQ slot:0
Jun  8 18:28:07 streaming-28 kernel: dvb_ca_en50221_thread_wakeup
Jun  8 18:28:07 streaming-28 kernel: TUPLE type:0x1d length:4
Jun  8 18:28:07 streaming-28 kernel:   0x00: 0x00 .
Jun  8 18:28:07 streaming-28 kernel:   0x01: 0xdb .
Jun  8 18:28:07 streaming-28 kernel:   0x02: 0x08 .
Jun  8 18:28:07 streaming-28 kernel:   0x03: 0xff .
Jun  8 18:28:07 streaming-28 kernel: TUPLE type:0x1c length:3
Jun  8 18:28:08 streaming-28 kernel:   0x00: 0x00 .
Jun  8 18:28:08 streaming-28 kernel:   0x01: 0x08 .
Jun  8 18:28:08 streaming-28 kernel:   0x02: 0xff .
Jun  8 18:28:08 streaming-28 kernel: TUPLE type:0x15 length:23
Jun  8 18:28:08 streaming-28 kernel:   0x00: 0x05 .
Jun  8 18:28:08 streaming-28 kernel:   0x01: 0x00 .
Jun  8 18:28:08 streaming-28 kernel:   0x02: 0x41 A
Jun  8 18:28:08 streaming-28 kernel:   0x03: 0x53 S
Jun  8 18:28:08 streaming-28 kernel:   0x04: 0x54 T
Jun  8 18:28:08 streaming-28 kernel:   0x05: 0x4f O
Jun  8 18:28:08 streaming-28 kernel:   0x06: 0x4e N
Jun  8 18:28:08 streaming-28 kernel:   0x07: 0x00 .
Jun  8 18:28:08 streaming-28 kernel:   0x08: 0x44 D
Jun  8 18:28:08 streaming-28 kernel:   0x09: 0x56 V
Jun  8 18:28:08 streaming-28 kernel:   0x0a: 0x42 B
Jun  8 18:28:08 streaming-28 kernel:   0x0b: 0x20  

[...]

Jun  8 18:28:10 streaming-28 kernel: dvb_ca_en50221_read_data
Jun  8 18:28:10 streaming-28 kernel: Chosen link buffer size of 16
Jun  8 18:28:10 streaming-28 kernel: dvb_ca_en50221_wait_if_status
Jun  8 18:28:10 streaming-28 kernel: dvb_ca_en50221_wait_if_status
succeeded timeout:0
Jun  8 18:28:10 streaming-28 kernel: dvb_ca_en50221_write_data
Jun  8 18:28:10 streaming-28 kernel: dvb_ca: DVB CAM detected and
initialised successfully


The .config file is attached. Any idea would be appreciated.

-- 
Christophe Massiot                  Freebox S.A.

Attachment: dotconfig.gz
Description: Binary data


Home | Main Index | Thread Index