[PATCH] Freecom DVB-T stick with ID 14aa:0225

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

 



Ok, here is the working patch for the Freecom DVB-T stick with USB-ID 
14aa:0225.

It uses the Firmware-file, wich Erich Focht created and wich can be obtainded 
from http://home.arcor.de/efocht/dvb-usb-wt220u-fc03.fw

Also the original patch is from Erich. It adds the proper USB-IDs and I only 
had to change the endpoint of the MPEG-2 data-transfer to 0x86.

Signed-off-by: Alexander Tuschen <atuschen@xxxxxx>

diff -ur v4l-dvb/linux/drivers/media/dvb/dvb-usb/dtt200u.c 
v4l-dvb/linux/drivers/media/dvb/dvb-usb/dtt200u.c
--- v4l-dvb/linux/drivers/media/dvb/dvb-usb/dtt200u.c	2006-07-05 
10:17:05.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/dvb-usb/dtt200u.c	2006-07-04 
16:09:35.000000000 +0200
@@ -93,6 +93,7 @@
 }
 
 static struct dvb_usb_properties dtt200u_properties;
+static struct dvb_usb_properties wt220u_fc_properties;
 static struct dvb_usb_properties wt220u_properties;
 static struct dvb_usb_properties wt220u_zl0353_properties;
 
@@ -101,6 +102,7 @@
 {
 	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)
 		return 0;
 
@@ -114,6 +116,8 @@
 	{ 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)  },
+	{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_COLD)  },
+	{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_WARM)  },
 	{ 0 },
 };
 MODULE_DEVICE_TABLE(usb, dtt200u_usb_table);
@@ -200,6 +204,47 @@
 	}
 };
 
+static struct dvb_usb_properties wt220u_fc_properties = {
+	.caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING,
+	.pid_filter_count = 15,
+
+	.usb_ctrl = CYPRESS_FX2,
+	.firmware = "dvb-usb-wt220u-fc03.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 = 0x86,
+		.u = {
+			.bulk = {
+				.buffersize = 4096,
+			}
+		}
+	},
+
+	.num_device_descs = 1,
+	.devices = {
+		{ .name = "WideView WT-220U PenType Receiver (Typhoon/Freecom)",
+		  .cold_ids = { &dtt200u_usb_table[6], NULL },
+		  .warm_ids = { &dtt200u_usb_table[7], 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,
diff -ur t/v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 
v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- t/v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2006-07-05 
10:17:05.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2006-07-01 
11:05:32.000000000 +0200
@@ -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_FC_COLD					0x0225
+#define USB_PID_WT220U_FC_WARM					0x0226
 #define USB_PID_WT220U_ZL0353_COLD			0x022a
 #define USB_PID_WT220U_ZL0353_WARM			0x022b
 #define USB_PID_WINTV_NOVA_T_USB2_COLD		0x9300


-- 
LG

    Alex

Fingerprint: 3D78 A250 CFF1 1828 9649 7E19 E05E 7071 5C90 0D91

_______________________________________________

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