RE: freecom USB dvb-t -- new vendor/product ID 14aa:022a

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux