27 static int dibusb_dib3000mb_frontend_attach(
struct dvb_usb_adapter *adap)
32 demod_cfg.demod_address = 0x8;
35 &adap->
dev->i2c_adap, &st->
ops);
39 adap->
fe_adap[0].fe->ops.i2c_gate_ctrl = dib3000mb_i2c_gate_ctrl;
71 u8 b[2] = { 0,0 }, b2[1];
74 { .flags = 0, .buf =
b, .len = 2 },
75 { .flags =
I2C_M_RD, .buf = b2, .len = 1 },
82 if (adap->
fe_adap[0].fe->ops.i2c_gate_ctrl)
86 err(
"tuner i2c write failed.");
90 if (adap->
fe_adap[0].fe->ops.i2c_gate_ctrl)
94 info(
"This device has the Thomson Cable onboard. Which is default.");
95 ret = dibusb_thomson_tuner_attach(adap);
97 info(
"This device has the Panasonic ENV77H11D5 onboard.");
98 ret = dibusb_panasonic_tuner_attach(adap);
171 #ifdef CONFIG_DVB_USB_DIBUSB_MB_FAULTY
184 .firmware =
"dvb-usb-dibusb-5.0.0.11.fw",
192 .pid_filter_count = 16,
197 .frontend_attach = dibusb_dib3000mb_frontend_attach,
198 .tuner_attach = dibusb_tuner_probe_and_attach,
227 .generic_bulk_ctrl_endpoint = 0x01,
229 .num_device_descs = 9,
231 {
"AVerMedia AverTV DVBT USB1.1",
232 { &dibusb_dib3000mb_table[0],
NULL },
233 { &dibusb_dib3000mb_table[1],
NULL },
235 {
"Compro Videomate DVB-U2000 - DVB-T USB1.1 (please confirm to linux-dvb)",
236 { &dibusb_dib3000mb_table[2], &dibusb_dib3000mb_table[4],
NULL},
237 { &dibusb_dib3000mb_table[3],
NULL },
239 {
"DiBcom USB1.1 DVB-T reference design (MOD3000)",
240 { &dibusb_dib3000mb_table[5],
NULL },
241 { &dibusb_dib3000mb_table[6],
NULL },
243 {
"KWorld V-Stream XPERT DTV - DVB-T USB1.1",
244 { &dibusb_dib3000mb_table[7],
NULL },
245 { &dibusb_dib3000mb_table[8],
NULL },
247 {
"Grandtec USB1.1 DVB-T",
248 { &dibusb_dib3000mb_table[9], &dibusb_dib3000mb_table[11],
NULL },
249 { &dibusb_dib3000mb_table[10], &dibusb_dib3000mb_table[12],
NULL },
251 {
"Unknown USB1.1 DVB-T device ???? please report the name to the author",
252 { &dibusb_dib3000mb_table[13],
NULL },
253 { &dibusb_dib3000mb_table[14],
NULL },
255 {
"TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device",
256 { &dibusb_dib3000mb_table[15], &dibusb_dib3000mb_table[17],
NULL},
257 { &dibusb_dib3000mb_table[16], &dibusb_dib3000mb_table[18],
NULL},
259 {
"Artec T1 USB1.1 TVBOX with AN2135",
260 { &dibusb_dib3000mb_table[19],
NULL },
261 { &dibusb_dib3000mb_table[20],
NULL },
263 {
"VideoWalker DVB-T USB",
264 { &dibusb_dib3000mb_table[25],
NULL },
265 { &dibusb_dib3000mb_table[26],
NULL },
274 .firmware =
"dvb-usb-dibusb-an2235-01.fw",
282 .pid_filter_count = 16,
287 .frontend_attach = dibusb_dib3000mb_frontend_attach,
288 .tuner_attach = dibusb_tuner_probe_and_attach,
316 .generic_bulk_ctrl_endpoint = 0x01,
318 #ifdef CONFIG_DVB_USB_DIBUSB_MB_FAULTY
319 .num_device_descs = 2,
321 .num_device_descs = 1,
324 {
"Artec T1 USB1.1 TVBOX with AN2235",
325 { &dibusb_dib3000mb_table[21],
NULL },
326 { &dibusb_dib3000mb_table[22],
NULL },
328 #ifdef CONFIG_DVB_USB_DIBUSB_MB_FAULTY
329 {
"Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)",
330 { &dibusb_dib3000mb_table[30],
NULL },
343 .firmware =
"dvb-usb-adstech-usb2-02.fw",
351 .pid_filter_count = 16,
356 .frontend_attach = dibusb_dib3000mb_frontend_attach,
357 .tuner_attach = dibusb_thomson_tuner_attach,
385 .generic_bulk_ctrl_endpoint = 0x01,
387 .num_device_descs = 2,
389 {
"KWorld/ADSTech Instant DVB-T USB2.0",
390 { &dibusb_dib3000mb_table[23],
NULL },
391 { &dibusb_dib3000mb_table[24],
NULL },
393 {
"KWorld Xpert DVB-T USB2.0",
394 { &dibusb_dib3000mb_table[27],
NULL },
406 .firmware =
"dvb-usb-dibusb-6.0.0.8.fw",
414 .pid_filter_count = 16,
419 .frontend_attach = dibusb_dib3000mb_frontend_attach,
420 .tuner_attach = dibusb_tuner_probe_and_attach,
447 .generic_bulk_ctrl_endpoint = 0x01,
449 .num_device_descs = 1,
452 { &dibusb_dib3000mb_table[28],
NULL },
453 { &dibusb_dib3000mb_table[29],
NULL },
459 static struct usb_driver dibusb_driver = {
460 .name =
"dvb_usb_dibusb_mb",
461 .probe = dibusb_probe,
463 .id_table = dibusb_dib3000mb_table,