here is an dirty hack to get my FreeX / NoZap (aka. Joker CAM) module working on my S2-3200. It may also work with other (newer) budget_ci design based cards. The problem was the CAM never reports STATUSREG_FR and the driver will time out @ DVB_CA_SLOTSTATE_WAITFR. |
diff -Naur a/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c b/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c --- a/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2009-01-12 11:50:12.000000000 +0100 +++ b/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2009-01-13 11:55:08.000000000 +0100 @@ -1084,7 +1084,7 @@ if (time_after(jiffies, ca->slot_info[slot].timeout)) { printk("dvb_ca adapter %d: DVB CAM did not respond :(\n", ca->dvbdev->adapter->num); - ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID; + ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_LINKINIT; dvb_ca_en50221_thread_update_delay(ca); break; } diff -Naur a/v4l/dvb_ca_en50221.c b/v4l/dvb_ca_en50221.c --- a/v4l/dvb_ca_en50221.c 2009-01-12 11:50:12.000000000 +0100 +++ b/v4l/dvb_ca_en50221.c 2009-01-13 11:55:08.000000000 +0100 @@ -1084,7 +1084,7 @@ if (time_after(jiffies, ca->slot_info[slot].timeout)) { printk("dvb_ca adapter %d: DVB CAM did not respond :(\n", ca->dvbdev->adapter->num); - ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID; + ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_LINKINIT; dvb_ca_en50221_thread_update_delay(ca); break; }
_______________________________________________ linux-dvb users mailing list For V4L/DVB development, please use instead linux-media@xxxxxxxxxxxxxxx linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb