public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: "André Weidemann" <Andre.Weidemann@web.de>
To: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] TT Connect S2-3600 (was: Pinnacle PCTV Sat HDTV Pro USB (PCTV452e) and DVB-S2)
Date: Tue, 26 Feb 2008 09:47:02 +0100	[thread overview]
Message-ID: <47C3D206.9020507@web.de> (raw)
In-Reply-To: <200801252245.58642.dkuhlen@gmx.net>

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

Dominik Kuhlen wrote:
> Hi all,
> 
> Manus multiproto HG tree (jusst.de/hg/multiproto) and the attached patch make the pctv452e work with DVB-S2 and DVB-S :)

Hi all,
I took Dominiks patch and added support for the TT connect S2-3600.

The S2-3600 is tuning to DVB-S and DVB-S2 but I still got some image 
distortions. I'm quite sure I got the correct firmware for the S2-3600 
but I only did some quick testing last night.
The patch may still have some quirks... so use at your own risk.

If anyone should volunteer to try the attached patch, please make sure 
to apply the patch for the PCTV 452e first!
The firmware for the S2-3600 can be found here:
http://ilpss8.dyndns.org/dvb-usb-tt-connect-s2-3600-01.fw

I will also have a PCTV 452e for testing at the end of the week. So I 
can test both USB boxes with the driver.

  André

[-- Attachment #2: patch-TT_connect_S2-3600.diff --]
[-- Type: text/plain, Size: 5741 bytes --]

diff -Nrubw multiproto-pctv452e/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h multiproto-s2-3600/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- multiproto-pctv452e/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2008-02-26 08:50:03.484626963 +0100
+++ multiproto-s2-3600/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2008-02-26 09:04:17.757309187 +0100
@@ -40,6 +40,7 @@
 #define USB_VID_MSI				0x0db0
 #define USB_VID_OPERA1				0x695c
 #define USB_VID_PINNACLE			0x2304
+#define USB_VID_TECHNOTREND                     0x0b48
 #define USB_VID_TERRATEC			0x0ccd
 #define USB_VID_VISIONPLUS			0x13d3
 #define USB_VID_TWINHAN				0x1822
@@ -142,6 +143,7 @@
 #define USB_PID_PCTV_400E				0x020f
 #define USB_PID_PCTV_450E				0x0222
 #define USB_PID_PCTV_452E                               0x021f
+#define USB_PID_TECHNOTREND_CONNECT_S2_3600             0x3007
 #define USB_PID_NEBULA_DIGITV				0x0201
 #define USB_PID_DVICO_BLUEBIRD_LGDT			0xd820
 #define USB_PID_DVICO_BLUEBIRD_LG064F_COLD		0xd500
diff -Nrubw multiproto-pctv452e/linux/drivers/media/dvb/dvb-usb/Kconfig multiproto-s2-3600/linux/drivers/media/dvb/dvb-usb/Kconfig
--- multiproto-pctv452e/linux/drivers/media/dvb/dvb-usb/Kconfig	2008-02-26 08:49:32.034834741 +0100
+++ multiproto-s2-3600/linux/drivers/media/dvb/dvb-usb/Kconfig	2008-02-26 08:55:36.495604176 +0100
@@ -240,7 +240,7 @@
 	  Afatech AF9005 based receiver.
 
 config DVB_USB_PCTV452E
-	tristate "Pinnacle PCTV HDTV Pro USB device"
+	tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600"
 	depends on DVB_USB
 	select DVB_LNBP22
 	select DVB_STB0899
diff -Nrubw multiproto-pctv452e/linux/drivers/media/dvb/dvb-usb/pctv452e.c multiproto-s2-3600/linux/drivers/media/dvb/dvb-usb/pctv452e.c
--- multiproto-pctv452e/linux/drivers/media/dvb/dvb-usb/pctv452e.c	2008-02-26 08:49:32.174842719 +0100
+++ multiproto-s2-3600/linux/drivers/media/dvb/dvb-usb/pctv452e.c	2008-02-26 08:55:36.943629708 +0100
@@ -370,6 +370,7 @@
 static struct stb0899_config stb0899_config;
 static struct stb6100_config stb6100_config;
 static struct dvb_usb_device_properties pctv452e_properties;
+static struct dvb_usb_device_properties tt_connect_s2_3600_properties;
 
 int pctv452e_frontend_attach(struct dvb_usb_adapter *a) {
 
@@ -395,9 +396,12 @@
 	return 0;
 }
 
-static int pctv452e_usb_probe(struct usb_interface *intf,
-    const struct usb_device_id *id) {
-  return dvb_usb_device_init(intf, &pctv452e_properties, THIS_MODULE, NULL);
+static int pctv452e_usb_probe(struct usb_interface *intf,const struct usb_device_id *id) {
+	int ret=-ENOMEM;
+        if ((ret=dvb_usb_device_init(intf, &pctv452e_properties, THIS_MODULE, NULL))==0){
+		return ret;
+	}
+        return dvb_usb_device_init(intf, &tt_connect_s2_3600_properties,THIS_MODULE,NULL);
 }
 
 
@@ -423,7 +427,7 @@
 // 	{ STB0899_IRQMSK_3      , 0xff },
 // 	{ STB0899_IRQMSK_4      , 0xff },
 	{ STB0899_I2CCFG        , 0x88 },
-	{ STB0899_I2CRPT        , 0x5c },
+	{ STB0899_I2CRPT        , 0x58 },
 	{ STB0899_GPIO00CFG     , 0x82 },
 	{ STB0899_GPIO01CFG     , 0x82 }, /* 0x02 -> LED green 0x82 -> LED orange */
 	{ STB0899_GPIO02CFG     , 0x82 },
@@ -1007,6 +1011,7 @@
 
 static struct usb_device_id pctv452e_usb_table[] = {
 	{USB_DEVICE(USB_VID_PINNACLE, USB_PID_PCTV_452E)},
+	{USB_DEVICE(USB_VID_TECHNOTREND, USB_PID_TECHNOTREND_CONNECT_S2_3600)},
 	{}
 };
 MODULE_DEVICE_TABLE(usb, pctv452e_usb_table);
@@ -1066,6 +1071,61 @@
 	}
 };
 
+static struct dvb_usb_device_properties tt_connect_s2_3600_properties = {
+	.caps = DVB_USB_IS_AN_I2C_ADAPTER, /* more ? */
+	.usb_ctrl = DEVICE_SPECIFIC,
+
+	.size_of_priv     = sizeof(struct pctv452e_state),
+
+	.identify_state   = 0, // this is a warm only device
+
+	.power_ctrl       = pctv452e_power_ctrl,
+
+	.rc_key_map       = pctv452e_rc_keys,
+	.rc_key_map_size  = ARRAY_SIZE(pctv452e_rc_keys),
+	.rc_query         = pctv452e_rc_query,
+	.rc_interval      = 100,
+
+	.num_adapters     = 1,
+	.adapter = {{
+		.caps             = 0,
+		.pid_filter_count = 0,
+
+		.streaming_ctrl   = pctv452e_streaming_ctrl,
+
+		.frontend_attach  = pctv452e_frontend_attach,
+		.tuner_attach     = pctv452e_tuner_attach,
+
+		/* parameter for the MPEG2-data transfer */
+		.stream = {
+			.type     = USB_ISOC,
+			.count    = 7,
+			.endpoint = 0x02,
+			.u = {
+				.isoc = {
+					.framesperurb = 4,
+					.framesize    = 940,
+					.interval     = 1
+				}
+			}
+		},
+		.size_of_priv     = 0
+	}},
+
+	.i2c_algo = &pctv452e_i2c_algo,
+
+	.generic_bulk_ctrl_endpoint = 1, /* allow generice rw function*/
+
+	.num_device_descs = 1,
+	.devices = {
+		{ .name = "Technotrend TT Connect S2-3600",
+		  .cold_ids = { NULL, NULL }, // this is a warm only device
+		  .warm_ids = { &pctv452e_usb_table[1], NULL }
+		},
+		{ 0 },
+	}
+};
+
 
 
 static struct usb_driver pctv452e_usb_driver = {
@@ -1078,19 +1138,33 @@
 	.id_table   = pctv452e_usb_table,
 };
 
+static struct usb_driver tt_connects2_3600_usb_driver = {
+#if LINUX_VERSION_CODE <=  KERNEL_VERSION(2,6,15)
+	.owner      = THIS_MODULE,
+#endif
+	.name       = "dvb-usb-tt-connect-s2-3600-01.fw",
+	.probe      = pctv452e_usb_probe, 
+	.disconnect = dvb_usb_device_exit,
+	.id_table   = pctv452e_usb_table,
+};
+
 static int __init pctv452e_usb_init(void) {
-	int err;
+	int err=0;
 
 	if ((err = usb_register(&pctv452e_usb_driver))) {
 		printk("%s: usb_register failed! Error number %d", __FILE__, err);
 		return err;
 	}
+	if ((err = usb_register(&tt_connects2_3600_usb_driver))) {
+		printk("%s: usb_register failed! Error number %d", __FILE__, err);
+	}
 
-	return 0;
+	return err;
 }
 
 static void __exit pctv452e_usb_exit(void)  {
 	usb_deregister(&pctv452e_usb_driver);
+	usb_deregister(&tt_connects2_3600_usb_driver);
 }
 
 module_init(pctv452e_usb_init);

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

  parent reply	other threads:[~2008-02-26  8:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200801252245.58642.dkuhlen@gmx.net>
     [not found] ` <47A086D6.4080200@okg-computer.de>
     [not found]   ` <200801301908.36169.dkuhlen@gmx.net>
     [not found]     ` <47A0CD3C.40508@okg-computer.de>
     [not found]       ` <47A0E8CC.3080207@okg-computer.de>
2008-02-11 21:45         ` [linux-dvb] Pinnacle PCTV Sat HDTV Pro USB (PCTV452e) and DVB-S2 Jens Krehbiel-Gräther
2008-02-12 14:56           ` Jens Krehbiel-Gräther
2008-02-17 12:14             ` Ernst Peinlich
2008-02-26  8:47 ` André Weidemann [this message]
2008-02-27 23:13   ` [linux-dvb] TT Connect S2-3600 Manu Abraham
2008-02-28  8:36     ` André Weidemann
2008-03-06 13:09   ` Ernst Peinlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47C3D206.9020507@web.de \
    --to=andre.weidemann@web.de \
    --cc=linux-dvb@linuxtv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox