TechnoTrend TT-DVB-T 1500
Jump to navigation
Jump to search
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;