Hi Mikel, Please try the attached firmware and patch (along with latest v4l-dvb hg).You don't need to load the zl0353-driver, dvb-usb-dtt200u and its dependencies is sufficient.
Please report the result, Patrick. -- Mail: patrick.boettcher@xxxxxxx WWW: http://www.wi-bw.tfh-wildau.de/~pboettch/ On Mon, 27 Mar 2006, Mikel Martin wrote:
Hi Patrick, Thanks a lot for your interest. I can't do what you ask yet because I don't have the dual boot nor the vmware for linux. Playing with the dvb-usb-ids.h to force different firmwares to be downloaded to the stick. I've found the following: In windows when I plug the stick it's led blinks for a while (while the Loader is present) and the the led goes on and stops blinking. (The Receiver is present now) In linux if I force to download the dvb-usb-wt220u-01.fw or dvb-usb-wt220u-02.fw the sticks's led blinks, but if I force to download any other the led doesn't switch on. Perhaps this information could help. Apart from this, which is the mecanism used to choose which driver should be used? If both modules are installed, zl10353.ko and the dvb-usb-dtt200u.ko which one would be used? Regards, Mikel
diff -r e4f6344a95f9 linux/drivers/media/dvb/dvb-usb/dtt200u.c --- a/linux/drivers/media/dvb/dvb-usb/dtt200u.c Mon Mar 27 11:00:40 2006 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dtt200u.c Mon Mar 27 20:26:15 2006 +0200 @@ -94,12 +94,14 @@ static int dtt200u_frontend_attach(struc static struct dvb_usb_properties dtt200u_properties; static struct dvb_usb_properties wt220u_properties; +static struct dvb_usb_properties wt220u_zl0353_properties; static int dtt200u_usb_probe(struct usb_interface *intf, const struct usb_device_id *id) { if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || - dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0) + dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || + dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) return 0; return -ENODEV; @@ -110,6 +112,8 @@ static struct usb_device_id dtt200u_usb_ { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_DTT200U_WARM) }, { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_COLD) }, { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) }, + { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) }, + { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) }, { 0 }, }; MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); @@ -191,6 +195,47 @@ static struct dvb_usb_properties wt220u_ { .name = "WideView WT-220U PenType Receiver (Typhoon/Freecom)", .cold_ids = { &dtt200u_usb_table[2], NULL }, .warm_ids = { &dtt200u_usb_table[3], NULL }, + }, + { NULL }, + } +}; + +static struct dvb_usb_properties wt220u_zl0353_properties = { + .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, + .pid_filter_count = 15, + + .usb_ctrl = CYPRESS_FX2, + .firmware = "dvb-usb-wt220u-zl0353-01.fw", + + .power_ctrl = dtt200u_power_ctrl, + .streaming_ctrl = dtt200u_streaming_ctrl, + .pid_filter = dtt200u_pid_filter, + .frontend_attach = dtt200u_frontend_attach, + + .rc_interval = 300, + .rc_key_map = dtt200u_rc_keys, + .rc_key_map_size = ARRAY_SIZE(dtt200u_rc_keys), + .rc_query = dtt200u_rc_query, + + .generic_bulk_ctrl_endpoint = 0x01, + + /* parameter for the MPEG2-data transfer */ + .urb = { + .type = DVB_USB_BULK, + .count = 7, + .endpoint = 0x02, + .u = { + .bulk = { + .buffersize = 4096, + } + } + }, + + .num_device_descs = 1, + .devices = { + { .name = "WideView WT-220U PenType Receiver (based on ZL353)", + .cold_ids = { &dtt200u_usb_table[4], NULL }, + .warm_ids = { &dtt200u_usb_table[5], NULL }, }, { NULL }, } diff -r e4f6344a95f9 linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Mon Mar 27 11:00:40 2006 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Mon Mar 27 20:26:15 2006 +0200 @@ -83,6 +83,8 @@ #define USB_PID_DTT200U_WARM 0x0301 #define USB_PID_WT220U_COLD 0x0222 #define USB_PID_WT220U_WARM 0x0221 +#define USB_PID_WT220U_ZL0353_COLD 0x022a +#define USB_PID_WT220U_ZL0353_WARM 0x022b #define USB_PID_WINTV_NOVA_T_USB2_COLD 0x9300 #define USB_PID_WINTV_NOVA_T_USB2_WARM 0x9301 #define USB_PID_NEBULA_DIGITV 0x0201
_______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb