Hello, I have a DTD adapter from Costar (CST-DT600-MA), as accessory in a Arima UM650UV1 laptop. It has a gl861 USB controller, a wjce6353 demuxer (recognized as zl10353) and a mxl5003 tuner. I added their ids to mxl500x brach of mercurial repository and run with gl861 module, the kernel recognizes it in warm state, register the zl10353 demuxer and attach the mxl5003 tuner, without error messages at loading. I dont have info about the device mxl5003 config, so I've added some values from a hauppauge hvr1600 (the values one Ive seen for this tuner), but no luck: scandvb fails. Any ideas about how can I know the right config values for this tuner? Thanks. This is the patch Ive used: diff -u -r mxl500x-7e116c8c7962/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h mxl500x-7e116c8c7962.new/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- mxl500x-7e116c8c7962/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2008-01-21 21:58:02.000000000 +0100 +++ mxl500x-7e116c8c7962.new/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2008-01-24 02:53:13.000000000 +0100 @@ -53,6 +53,7 @@ #define USB_PID_ADSTECH_USB2_WARM 0xa334 #define USB_PID_AFATECH_AF9005 0x9020 #define USB_VID_ALINK_DTU 0xf170 +#define USB_PID_COSTAR_CST_DT600_MA 0x0504 #define USB_PID_AVERMEDIA_DVBT_USB_COLD 0x0001 #define USB_PID_AVERMEDIA_DVBT_USB_WARM 0x0002 #define USB_PID_AVERMEDIA_DVBT_USB2_COLD 0xa800 diff -u -r mxl500x-7e116c8c7962/linux/drivers/media/dvb/dvb-usb/gl861.c mxl500x-7e116c8c7962.new/linux/drivers/media/dvb/dvb-usb/gl861.c --- mxl500x-7e116c8c7962/linux/drivers/media/dvb/dvb-usb/gl861.c 2008-01-21 21:58:02.000000000 +0100 +++ mxl500x-7e116c8c7962.new/linux/drivers/media/dvb/dvb-usb/gl861.c 2008-01-24 04:42:16.000000000 +0100 @@ -10,6 +10,7 @@ #include "zl10353.h" #include "qt1010.h" +#include "mxl500x.h" /* debug */ static int dvb_usb_gl861_debug; @@ -116,12 +117,34 @@ return -EIO; } +static struct mxl500x_config costar_dst_ct600_tuner = { + .delsys = MXL500x_MODE_ATSC, + .octf = MXL500x_OCTF_CH, + .xtal_freq = 16000000, + .iflo_freq = 5380000, + .ref_freq = 15, + .rssi_ena = MXL_RSSI_ENABLE, + .addr = 0x63, +}; + static struct qt1010_config gl861_qt1010_config = { .i2c_address = 0x62 }; static int gl861_tuner_attach(struct dvb_usb_adapter *adap) { + + if (adap->dev->udev->descriptor.idVendor == USB_VID_ALINK && + adap->dev->udev->descriptor.idProduct == USB_PID_COSTAR_CST_DT600_MA) { + + return dvb_attach ( + mxl500x_attach, + adap->fe, + &costar_dst_ct600_tuner, + &adap->dev->i2c_adap + ) == NULL ? -ENODEV : 0; + + } return dvb_attach(qt1010_attach, adap->fe, &adap->dev->i2c_adap, &gl861_qt1010_config) == NULL ? -ENODEV : 0; @@ -158,6 +181,7 @@ static struct usb_device_id gl861_table [] = { { USB_DEVICE(USB_VID_MSI, USB_PID_MSI_MEGASKY580_55801) }, { USB_DEVICE(USB_VID_ALINK, USB_VID_ALINK_DTU) }, + { USB_DEVICE(USB_VID_ALINK, USB_PID_COSTAR_CST_DT600_MA) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, gl861_table); @@ -188,7 +212,7 @@ }}, .i2c_algo = &gl861_i2c_algo, - .num_device_descs = 2, + .num_device_descs = 3, .devices = { { "MSI Mega Sky 55801 DVB-T USB2.0", { &gl861_table[0], NULL }, @@ -198,6 +222,11 @@ { &gl861_table[1], NULL }, { NULL }, }, + { "COSTAR CST-DT600-MA DVB-T USB2.0", + { &gl861_table[2], NULL }, + { NULL }, + }, + } }; _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb