Hi, According to the suggestions I’ve modified dvb-usb-ids.h
and cxusb.c to add a support for that card. I would appreciate someone to look at the code below and
compare it with spec on the wiki for that card. ---
ala/v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2008-12-14
23:11:28.000000000 +0100 +++ v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2008-12-14
22:08:17.000000000 +0100 @@ -234,5 +234,5 @@ #define USB_PID_XTENSIONS_XD_380 0x0381 #define USB_PID_TELESTAR_STARSTICK_2 0x8000 #define USB_PID_MSI_DIGI_VOX_MINI_III
0x8807 - +#define USB_PID_AVERMEDIA_A312
0xa312 #endif --- ala/v4l-dvb/linux/drivers/media/dvb/dvb-usb/cxusb.c 2008-12-14
23:11:28.000000000 +0100 +++ v4l-dvb/linux/drivers/media/dvb/dvb-usb/cxusb.c 2008-12-14
22:43:33.000000000 +0100 @@ -1224,6 +1224,8 @@ static struct dvb_usb_device_properties
cxusb_bluebird_nano2_properties; static struct dvb_usb_device_properties
cxusb_bluebird_nano2_needsfirmware_properties; static struct dvb_usb_device_properties
cxusb_aver_a868r_properties; +static struct dvb_usb_device_properties
cxusb_aver_a312_properties; + static struct dvb_usb_device_properties
cxusb_d680_dmb_properties; static int cxusb_probe(struct usb_interface *intf, @@ -1248,6 +1250,8 @@
THIS_MODULE, NULL, adapter_nr) || 0 == dvb_usb_device_init(intf,
&cxusb_aver_a868r_properties,
THIS_MODULE, NULL, adapter_nr) || + 0 == dvb_usb_device_init(intf,
&cxusb_aver_a312_properties, +
THIS_MODULE, NULL, adapter_nr) || 0 == dvb_usb_device_init(intf,
&cxusb_bluebird_dualdig4_rev2_properties,
THIS_MODULE, NULL, adapter_nr) || @@ -1277,6 +1281,7 @@ { USB_DEVICE(USB_VID_DVICO,
USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2) }, { USB_DEVICE(USB_VID_DVICO,
USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM) }, { USB_DEVICE(USB_VID_AVERMEDIA,
USB_PID_AVERMEDIA_VOLAR_A868R) }, + { USB_DEVICE(USB_VID_AVERMEDIA,
USB_PID_AVERMEDIA_A312) }, { USB_DEVICE(USB_VID_DVICO,
USB_PID_DVICO_BLUEBIRD_DUAL_4_REV_2) }, { USB_DEVICE(USB_VID_CONEXANT,
USB_PID_CONEXANT_D680_DMB) }, {} /*
Terminating entry */ @@ -1724,6 +1729,48 @@ } }; +static struct dvb_usb_device_properties
cxusb_aver_a312_properties = { + .caps = DVB_USB_IS_AN_I2C_ADAPTER, + + .usb_ctrl = CYPRESS_FX2, + + .size_of_priv = sizeof(struct
cxusb_state), + + .num_adapters = 1, + .adapter = { + { + .streaming_ctrl
= cxusb_aver_streaming_ctrl, + .frontend_attach
= cxusb_aver_lgdt3303_frontend_attach, + .tuner_attach
= cxusb_dvico_xc3028_tuner_attach, + /* parameter
for the MPEG2-data transfer */ + .stream = { + .type
= USB_BULK, + .count
= 5, + .endpoint
= 0x04, + .u
= { + .bulk
= { + .buffersize
= 8192, + } + } + }, + + }, + }, + .power_ctrl = cxusb_aver_power_ctrl, + + .i2c_algo =
&cxusb_i2c_algo, + + .generic_bulk_ctrl_endpoint = 0x01, + + .num_device_descs = 1, + .devices = { + { "AVerMedia AVerTVHD
(A312)", + { NULL }, + {
&cxusb_table[17], NULL }, + }, + } +}; + static struct dvb_usb_device_properties
cxusb_bluebird_dualdig4_rev2_properties = { .caps = DVB_USB_IS_AN_I2C_ADAPTER, After modprobing cxusb driver I have: vb-usb: found a 'AVerMedia AVerTVHD (A312)' in warm state. dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer. DVB: registering new adapter (AVerMedia AVerTVHD (A312)) DVB: registering adapter 0 frontend 0 (LG Electronics
LGDT3303 VSB/QAM Frontend)... xc2028 4-0061: creating new instance xc2028 4-0061: type set to XCeive xc2028/xc3028 tuner dvb-usb: AVerMedia AVerTVHD (A312) successfully initialized
and connected. usbcore: registered new interface driver dvb_usb_cxusb h3xu5 v4l-dvb # ls -laR /dev/dvb/ /dev/dvb/: total 0 drwxr-xr-x 3 root root 60 Dec 14 23:06 . drwxr-xr-x 15 root root 4640 Dec 14 23:06 .. drwxr-xr-x 2 root root 120 Dec 14 23:06 adapter0 /dev/dvb/adapter0: total 0 drwxr-xr-x 2 root root 120 Dec 14 23:06 . drwxr-xr-x 3 root root 60 Dec 14 23:06 .. crw-rw---- 1 root video 212, 0 Dec 14 23:06 demux0 crw-rw---- 1 root video 212, 1 Dec 14 23:06 dvr0 crw-rw---- 1 root video 212, 3 Dec 14 23:06 frontend0 crw-rw---- 1 root video 212, 2 Dec 14 23:06 net0 The question is if it is ok or maybe something is missing
here and what should be next steps. Regards, |
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb