public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
  • * Re: [linux-dvb] TT Connect S2-3600 (was: Pinnacle PCTV Sat HDTV Pro USB (PCTV452e) and DVB-S2)
           [not found] <200801252245.58642.dkuhlen@gmx.net>
           [not found] ` <47A086D6.4080200@okg-computer.de>
    @ 2008-02-26  8:47 ` André Weidemann
      2008-02-27 23:13   ` [linux-dvb] TT Connect S2-3600 Manu Abraham
      2008-03-06 13:09   ` Ernst Peinlich
      1 sibling, 2 replies; 7+ messages in thread
    From: André Weidemann @ 2008-02-26  8:47 UTC (permalink / raw)
      To: linux-dvb
    
    [-- 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
    
    ^ permalink raw reply	[flat|nested] 7+ messages in thread

  • end of thread, other threads:[~2008-03-06 13:10 UTC | newest]
    
    Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [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 ` [linux-dvb] TT Connect S2-3600 (was: Pinnacle PCTV Sat HDTV Pro USB (PCTV452e) and DVB-S2) André Weidemann
    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
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox