Hi,
I've been away for a bit long.... But i'm very happy to see this nice
surprise when i'm back... a good firmware!! wonderful! i never thought
the parser could need some tuning, that was a very good work!
I'm willing to test the firmware, i'll post results as soon as i try it.
Regards,
Pere Blay
(PD.: I've seen now that i got 'undelivered' the message i sent long
ago with some 'snoopy' usblogs posted, surely it was because the
message was too 'big')
2007/11/26, Román <[EMAIL PROTECTED]>:
> Hi again,
>
> As I didn't get any replies yet, I'll try to keep this subject alive.
> Here are the two patches you need to apply to m920x.c and
> dvb-usb-ids.h to get the TVGo DVB-T02Q a step further (anyway, no
> tuning so far: I've finally tested it using a strong enough signal,
> with no success). As I said before, they are completely based on Pere
> Blay's work. If someone is interested in this particular model,
> PLEASE, LET ME KNOW.
> (And remember, in my last post you can get a valid firmware for the device).
>
>
>
> diff -r 6b1892ed1e74 linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
> --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Fri Oct 26
> 02:26:53 2007 +0200
> +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h Mon Nov 26
> 18:40:46 2007 +0100
> @@ -75,6 +75,7 @@
> #define USB_PID_DPOSH_M9206_COLD 0x9206
> #define USB_PID_DPOSH_M9206_WARM 0xa090
> #define USB_PID_UNIWILL_STK7700P 0x6003
> +#define USB_PID_GENIUS_DVBT_TVGO_T02Q 0x702b
> #define USB_PID_GRANDTEC_DVBT_USB_COLD 0x0fa0
> #define USB_PID_GRANDTEC_DVBT_USB_WARM 0x0fa1
> #define USB_PID_KWORLD_VSTREAM_COLD 0x17de
>
>
>
> diff -r 6b1892ed1e74 linux/drivers/media/dvb/dvb-usb/m920x.c
> --- a/linux/drivers/media/dvb/dvb-usb/m920x.c Fri Oct 26 02:26:53 2007 +0200
> +++ b/linux/drivers/media/dvb/dvb-usb/m920x.c Mon Nov 26 18:36:42 2007 +0100
> @@ -16,6 +16,8 @@
> #include "qt1010.h"
> #include "tda1004x.h"
> #include "tda827x.h"
> +#include "zl10353.h"
> +#include "mt2060.h"
>
> /* debug */
> static int dvb_usb_m920x_debug;
> @@ -469,11 +471,23 @@ static struct tda1004x_config m920x_tda1
> .request_firmware = NULL, /* uses firmware EEPROM */
> };
>
> +static struct zl10353_config tvgot02q_zl10353_config = {
> + .demod_address = 0x0f,
> + //.adc_clock = 22528,
> + .no_tuner = 1,
> + .parallel_ts = 1,
> +};
> +
> /* tuner configurations */
> static struct qt1010_config m920x_qt1010_config = {
> .i2c_address = 0x62
> };
>
> + static struct mt2060_config tvgot02q_mt2060_config = {
> + //.clock_out = 1,
> + .i2c_address = 0x60,
> +};
> +
> /* Callbacks for DVB USB */
> static int m920x_mt352_frontend_attach(struct dvb_usb_adapter *adap)
> {
> @@ -510,6 +524,16 @@ static int m920x_tda10046_0b_frontend_at
>
> return 0;
> }
> +
> +static int tvgot02q_frontend_attach(struct dvb_usb_adapter *adap)
> +{
> + deb("tvgot02q_frontend_attach!\n");
> +
> + if ((adap->fe = dvb_attach(zl10353_attach, &tvgot02q_zl10353_config,
> + &adap->dev->i2c_adap)) == NULL)
> + return -EIO;
> + return 0;
> +}
>
> static int m920x_qt1010_tuner_attach(struct dvb_usb_adapter *adap)
> {
> @@ -539,6 +563,12 @@ static int m920x_tda8275_61_tuner_attach
> return -ENODEV;
>
> return 0;
> +}
> +
> +static int mt2060_tuner_attach(struct dvb_usb_adapter *adap)
> +{
> + return dvb_attach(mt2060_attach,adap->fe, &adap->dev->i2c_adap,
> + &tvgot02q_mt2060_config,0) == NULL ? -ENODEV : 0;
> }
>
> /* device-specific initialization */
> @@ -554,6 +584,12 @@ static struct m920x_inits tvwalkertwin_r
> { 0xff28, 0x00 },
> { 0xff23, 0x00 },
> { 0xff21, 0x30 },
> + { } /* terminating entry */
> +};
> +
> +static struct m920x_inits tvgot02q_rc_init [] = {
> + { M9206_RC_INIT2, 0xa8 },
> + { M9206_RC_INIT1, 0x51 },
> { } /* terminating entry */
> };
>
> @@ -597,11 +633,15 @@ static struct dvb_usb_rc_key tvwalkertwi
> { 0x0, 0x1e, KEY_VOLUMEUP },
> };
>
> +static struct dvb_usb_rc_key tvgot02q_rc_keys [] = {
> +};
> +
> /* DVB USB Driver stuff */
> static struct dvb_usb_device_properties megasky_properties;
> static struct dvb_usb_device_properties digivox_mini_ii_properties;
> static struct dvb_usb_device_properties tvwalkertwin_properties;
> static struct dvb_usb_device_properties dposh_properties;
> +static struct dvb_usb_device_properties tvgot02q_properties;
>
> static int m920x_probe(struct usb_interface *intf,
> const struct usb_device_id *id)
> @@ -642,6 +682,12 @@ static int m920x_probe(struct usb_interf
> /* Remote controller not supported yet. */
> goto found;
> }
> +
> + if ((ret = dvb_usb_device_init(intf, &tvgot02q_properties,
> + THIS_MODULE, &d)) == 0) {
> + rc_init_seq = tvgot02q_rc_init;
> + goto found;
> + }
>
> return ret;
> } else {
> @@ -673,6 +719,7 @@ static struct usb_device_id m920x_table
> USB_PID_LIFEVIEW_TV_WALKER_TWIN_WARM) },
> { USB_DEVICE(USB_VID_DPOSH, USB_PID_DPOSH_M9206_COLD) },
> { USB_DEVICE(USB_VID_DPOSH, USB_PID_DPOSH_M9206_WARM) },
> + { USB_DEVICE(USB_VID_KYE, USB_PID_GENIUS_DVBT_TVGO_T02Q) },
> { } /* Terminating entry */
> };
> MODULE_DEVICE_TABLE (usb, m920x_table);
> @@ -886,6 +933,57 @@ static struct dvb_usb_device_properties
> }
> };
>
> +static struct dvb_usb_device_properties tvgot02q_properties = {
> + .caps = DVB_USB_IS_AN_I2C_ADAPTER,
> +
> + .usb_ctrl = DEVICE_SPECIFIC,
> + .firmware = "dvb-usb-t02q-02.fw",
> + .download_firmware = m920x_firmware_download,
> +
> + .rc_interval = 100,
> + .rc_key_map = tvgot02q_rc_keys,
> + .rc_key_map_size = ARRAY_SIZE(tvgot02q_rc_keys),
> + .rc_query = m920x_rc_query,
> +
> + .size_of_priv = sizeof(struct m920x_state),
> +
> + .identify_state = m920x_identify_state,
> + .num_adapters = 1,
> + .adapter = {{
> + .caps = DVB_USB_ADAP_HAS_PID_FILTER |
> + DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF,
> +
> + .pid_filter_count = 8,
> + .pid_filter = m920x_pid_filter,
> + .pid_filter_ctrl = m920x_pid_filter_ctrl,
> +
> + .frontend_attach = tvgot02q_frontend_attach,
> + .tuner_attach = mt2060_tuner_attach,
> +
> + .stream = {
> + .type = USB_BULK,
> + .count = 8,
> + .endpoint = 0x81,
> + .u = {
> + .bulk = {
> + .buffersize = 512,
> + }
> + }
> + },
> + }},
> + .i2c_algo = &m920x_i2c_algo,
> +
> + .num_device_descs = 1,
> + .devices = {
> + { "Genius TVGo DVB-T02Q",
> + { &m920x_table[6], NULL },
> + { NULL },
> + },
> + }
> +};
> +
> +
> +
> static struct usb_driver m920x_driver = {
> #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,15)
> .owner = THIS_MODULE,
>
>
>
>
> --
>
> Román
>
> _______________________________________________
> linux-dvb mailing list
> [email protected]
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb