Here comes the patch. I hope I meet the coding rules etc. What I did: * created new defines for the two Product IDs (cold/warm) called USB_PID_WT220U_ZAP250_COLD/WARM Note, that USB_PID_WT220U_WARM has the same value as USB_PID_WT220U_ZAP250_WARM, but I defined it anyway for readability. * added the two defines to the device table (dtt200u_usb_table) at indices 8, 9 * duplicated the struct wt220u_properties to wt220u_zap250_properties Including declaration and definition. Of course, changed the USB ID indices to the appropriate ones in above table. I did it without modifying any existent entry, just by adding a new one. I hope this was the right decision and it is truely as easy as it was. Here the sign-off - I hope this is the right place for it Signed-off-by: Jochen Issing <jochen.issing@xxxxxxxxxxxxxxxx> Best Regards, jochen On Tuesday 08 August 2006 22:52, Jochen Issing wrote: > Hi, > > I finally got it working on my kubuntu machine! It seems like that my stick > has a different USB cold ID, than older/other versions with this chip. > > Here is how I did it: > I edited linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h > changed USB_PID_WT220U_COLD from 0x0222 to 0x0220 > and everything worked fine. > > Although this was just a hack, I think a clean version should be integrated > into the kernel module. Should I send a patch to this list or can you tell > me, where I shall send it to? > > Best Regards, > > jochen > > On Sunday 06 August 2006 22:52, Jochen Issing wrote: > > Hi All, > > since I am new to this list and therefore am not informed about former > > reports, please be kind, if this is a FAQ. > > > > Has anybody been able to use the DVB-T adapter Club 3D zap250mini? I've > > found it in the DVB wiki, tried the firmware and all I know about loading > > modules, but no reaction on the usb-stick. > > > > I did: > > follow the steps from "How to install DVB" > > [http://www.linuxtv.org/wiki/index.php/How_to_install_DVB] > > I tried to do the manual installation as well, but although I got the new > > modules installed, I had no entry in /var/log/messages or > > /var/log/syslog about loaded firmware nor any devices under /dev/dvb - > > only a new highspeed USB device was registered. > > > > I am using kubuntu 6.06 (2.6.15-26-k7 #1 SMP PREEMPT) > > Any ideas? > > > > Best Regards, > > > > jochen -- jochen issing gpg-sig: 0A121BC8 www.isign-softart.de
diff -r 201e88a41828 linux/drivers/media/dvb/dvb-usb/dtt200u.c --- a/linux/drivers/media/dvb/dvb-usb/dtt200u.c Thu Aug 3 20:07:42 2006 +++ b/linux/drivers/media/dvb/dvb-usb/dtt200u.c Wed Aug 9 21:19:20 2006 @@ -96,6 +96,7 @@ static struct dvb_usb_properties wt220u_fc_properties; static struct dvb_usb_properties wt220u_properties; static struct dvb_usb_properties wt220u_zl0353_properties; +static struct dvb_usb_properties wt220u_zap250_properties; static int dtt200u_usb_probe(struct usb_interface *intf, const struct usb_device_id *id) @@ -103,7 +104,8 @@ 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_fc_properties,THIS_MODULE,NULL) == 0 || - dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) + dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0 || + dvb_usb_device_init(intf,&wt220u_zap250_properties,THIS_MODULE,NULL) == 0 ) return 0; return -ENODEV; @@ -118,6 +120,8 @@ { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) }, { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_COLD) }, { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_WARM) }, + { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZAP250_COLD) }, + { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZAP250_WARM) }, { 0 }, }; MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); @@ -281,6 +285,47 @@ { .name = "WideView WT-220U PenType Receiver (based on ZL353)", .cold_ids = { &dtt200u_usb_table[4], NULL }, .warm_ids = { &dtt200u_usb_table[5], NULL }, + }, + { NULL }, + } +}; + +static struct dvb_usb_properties wt220u_zap250_properties = { + .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, + .pid_filter_count = 15, + + .usb_ctrl = CYPRESS_FX2, + .firmware = "dvb-usb-wt220u-02.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 (Club3D Zap250mini)", + .cold_ids = { &dtt200u_usb_table[8], NULL }, + .warm_ids = { &dtt200u_usb_table[9], NULL }, }, { NULL }, } @@ -319,6 +364,6 @@ module_exit(dtt200u_usb_module_exit); MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@xxxxxxx>"); -MODULE_DESCRIPTION("Driver for the WideView/Yakumo/Hama/Typhoon DVB-T USB2.0 devices"); +MODULE_DESCRIPTION("Driver for the WideView/Yakumo/Hama/Typhoon/Club3D DVB-T USB2.0 devices"); MODULE_VERSION("1.0"); MODULE_LICENSE("GPL"); diff -r 201e88a41828 linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Thu Aug 3 20:07:42 2006 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Wed Aug 9 21:19:20 2006 @@ -84,6 +84,8 @@ #define USB_PID_DTT200U_WARM 0x0301 #define USB_PID_WT220U_COLD 0x0222 #define USB_PID_WT220U_WARM 0x0221 +#define USB_PID_WT220U_ZAP250_COLD 0x0220 +#define USB_PID_WT220U_ZAP250_WARM 0x0221 #define USB_PID_WT220U_FC_COLD 0x0225 #define USB_PID_WT220U_FC_WARM 0x0226 #define USB_PID_WT220U_ZL0353_COLD 0x022a
Attachment:
pgpIvTNde2ZPo.pgp
Description: PGP signature
_______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb