TechnoTrend TT-DVB-T 1500: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Created page with 'Kernel output for a TT-DVB-T 1500 + CI + CAM (Conax 4.00e): Dec 14 09:22:37 mythtvbackend saa7146: register extension 'budget_ci dvb'. Dec 14 09:22:37 mythtvbackend budget_ci ...')
 
Line 16: Line 16:




== Notes about CI/CAM ==
== Notes about CI/CAM (Conax 4.00e)==


The delivered CI cable (SCSI) is very short. In case the cable length is increased, there might be problems with the CAM not being recognized anymore every now and then. The output in such a case is:
The delivered CI cable (SCSI) is very short. In case the cable length is increased, the CAM cannot always be properly initialized. In case of a CAM initialization failure the syslog is:


Dec 14 07:16:27 mythtvbackend dvb_ca adapter 1: Invalid PC card inserted :(
Dec 14 07:16:27 mythtvbackend dvb_ca adapter 1: Invalid PC card inserted :(


If the CAM initialization fails, the encrypted channels will not be decrypted anymore. The only solution, I was aware of, was to remove the CAM followed by reinserting the CAM in the CI. This in turn would force a reinitialization of the CI/CAM.


Another possible workaround is to patch the /usr/src/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c to restart reinitialization of the CI/CAM in case it fails.


'''WARNING:''' this might put your CAM initialization in a continuous loop.
This is annoying since the encrypted channels will stay encrypted in case an "Invalid PC card inserted :(" appears. The only solution, I was aware so far, was to remove the CAM followed by reinserting the CAM in the CI. This in turn would force a reinitialization of the CI/CAM.

A possible workaround is to patch the /usr/src/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c to restart reinitialization of the CI/CAM in case it fails.
'''WARNING:''' this might put your initialization in a continuous loop.


--- dvb_ca_en50221.c.ORG 2009-12-01 14:04:46.000000000 +0100
--- dvb_ca_en50221.c.ORG 2009-12-01 14:04:46.000000000 +0100

Revision as of 11:38, 14 December 2009

Kernel output for a TT-DVB-T 1500 + CI + CAM (Conax 4.00e):

Dec 14 09:22:37 mythtvbackend saa7146: register extension 'budget_ci dvb'.
Dec 14 09:22:37 mythtvbackend budget_ci dvb 0000:05:09.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Dec 14 09:22:37 mythtvbackend IRQ 18/: IRQF_DISABLED is not guaranteed on shared IRQs
Dec 14 09:22:37 mythtvbackend saa7146: found saa7146 @ mem f8b1e000 (revision 1, irq 18) (0x13c2,0x1012).
Dec 14 09:22:37 mythtvbackend saa7146 (0): dma buffer size 192512
Dec 14 09:22:37 mythtvbackend DVB: registering new adapter (TT-Budget-T-CI PCI)
Dec 14 09:22:37 mythtvbackend adapter has MAC addr = <deleted>
Dec 14 09:22:37 mythtvbackend input: Budget-CI dvb ir receiver saa7146 (0) as /class/input/input3
Dec 14 09:22:37 mythtvbackend budget_ci: CI interface initialised
Dec 14 09:22:37 mythtvbackend DVB: registering adapter 1 frontend 0 (Philips TDA10046H DVB-T)...
...
Dec 14 09:22:37 mythtvbackend dvb_ca adapter 1: DVB CAM detected and initialised successfully


Notes about CI/CAM (Conax 4.00e)

The delivered CI cable (SCSI) is very short. In case the cable length is increased, the CAM cannot always be properly initialized. In case of a CAM initialization failure the syslog is:

Dec 14 07:16:27 mythtvbackend dvb_ca adapter 1: Invalid PC card inserted :(

If the CAM initialization fails, the encrypted channels will not be decrypted anymore. The only solution, I was aware of, was to remove the CAM followed by reinserting the CAM in the CI. This in turn would force a reinitialization of the CI/CAM.

Another possible workaround is to patch the /usr/src/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c to restart reinitialization of the CI/CAM in case it fails.

WARNING: this might put your CAM initialization in a continuous loop.

--- dvb_ca_en50221.c.ORG        2009-12-01 14:04:46.000000000 +0100
+++ dvb_ca_en50221.c    2009-12-03 17:17:21.000000000 +0100
@@ -1053,6 +1053,11 @@ static int dvb_ca_en50221_thread(void *d

                                        printk("dvb_ca adapter %d: Invalid PC card inserted :(\n",
                                               ca->dvbdev->adapter->num);
+                    //BEGIN patch 20091203
+                    printk("Retrying DVB_CA_SLOTSTATE_INVALID \n");
+                    ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_VALIDATE;
+                    break;
+                    //END
                                        ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID;
                                        dvb_ca_en50221_thread_update_delay(ca);
                                        break;