AVerMedia AVerTV HD Express A918R

From LinuxTVWiki
Revision as of 21:15, 1 January 2013 by Diorser (Talk | contribs)

Jump to: navigation, search

A DVB-T 34/54mm Express Card from AVerMedia.

It is currently not supported under Linux (Dec 2012).

Does not work out of the box, but can be correctly detected after source files update and compilation.

Remaining problem: couldn't get any working frequency/transponder (with 100% signal strength input).


AverTV A918R 350x196.png

Overview/Features

DVB-T tuner for 34/54mm express card slots that supports the following :

  • Fit with 34mm & 54mm Slot
  • H.264 / MPEG-2 HDTV Ready
  • Real-time iPod / PSP Format Recording
  • MHEG-5 & Digital Subtitle
  • Teletext / TimeShift / EPG (Electronic Program Guide)
  • PIP / POP Function
  • Scheduled Recording
  • Wake Up Recording from Stand By / Hibernate Mode
  • 75 Ω TV Antenna
  • see http://www.avermedia.com/Product/ProductDetail.aspx?Id=518

Package Included

  • AVerTV Express Card 34mm
  • plastic extension for 54mm slot compatibility
  • Quick Installation Guide
  • Installation CD (windows)
  • TV Antenna
  • RF Cable
  • remote control

Components

Firmware

  • dvb-usb-af9035-02.fw [LINK=12.13.15.0 OFDM=5.17.9.1] / from palosaari.fi

Modules

  • dvb_usb | dvb_usb_af9035 | af9033 | tda18218 | rc_core

Identification

dmesg

 kernel usb 2-1.3: new high-speed USB device number 10 using ehci_hcd
 kernel usb 2-1.3: New USB device found, idVendor=07ca, idProduct=0918
 kernel usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 kernel usb 2-1.3: Product: A918R
 kernel usb 2-1.3: Manufacturer: AVerMedia TECHNOLOGIES, Inc
 kernel usb 2-1.3: SerialNumber: 0000000000000
 kernel usb 2-1.3: dvb_usb_v2: found a 'AVerMedia AverTV (A918R)' in cold state
 kernel usb 2-1.3: dvb_usb_v2: downloading firmware from file 'dvb-usb-af9035-02.fw'
 kernel usb 2-1.3: dvb_usb_af9035: firmware version=12.13.15.0
 kernel usb 2-1.3: dvb_usb_v2: found a 'AVerMedia AverTV (A918R)' in warm state
 kernel usb 2-1.3: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
 kernel DVB: registering new adapter (AVerMedia AverTV (A918R))
 kernel i2c i2c-7: af9033: firmware version: LINK=12.13.15.0 OFDM=5.17.9.1
 kernel usb 2-1.3: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))...
 kernel i2c i2c-7: tda18218: NXP TDA18218HN successfully identified
 kernel Registered IR keymap rc-empty
 kernel input: AVerMedia AverTV (A918R) as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/rc/rc5/input17
 kernel rc5: AVerMedia AverTV (A918R) as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/rc/rc5
 kernel usb 2-1.3: dvb_usb_v2: schedule remote query interval to 500 msecs
 kernel usb 2-1.3: dvb_usb_v2: 'AVerMedia AverTV (A918R)' successfully initialized and connected

lsusb

Bus 002 Device 004: ID 07ca:0918 AVerMedia Technologies, Inc. 
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0x07ca AVerMedia Technologies, Inc.
 idProduct          0x0918 
 bcdDevice            2.01
 iManufacturer           1 
 iProduct                2 
 iSerial                 3 
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           97
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0x80
     (Bus Powered)
   MaxPower              500mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           5
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x85  EP 5 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x86  EP 6 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0000  1x 0 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       1
     bNumEndpoints           5
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x85  EP 5 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x86  EP 6 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x1400  3x 1024 bytes
       bInterval               1

Investigations

Patch proposal

  • Necessary patch for dvb_usb_af9035 module compatibility with AverTV A918R card:
--- /drivers/media/dvb-core/dvb-usb-ids.h   
+++ /drivers/media/dvb-core/dvb-usb-ids.h   
  @@ -233,6 +233,7 @@
  #define USB_PID_AVERMEDIA_A835                         0xa835
  #define USB_PID_AVERMEDIA_B835                         0xb835
 +#define USB_PID_AVERMEDIA_A918R                        0x0918
  #define USB_PID_AVERMEDIA_1867                         0x1867
  #define USB_PID_AVERMEDIA_A867                         0xa867
 --- /drivers/media/usb/dvb-usb-v2/af9035.c      
 +++ /drivers/media/usb/dvb-usb-v2/af9035.c      
 @@ -1125,6 +1125,8 @@
         { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B835,
               &af9035_props, "AVerMedia AVerTV Volar HD/PRO (A835)", NULL) },
 +       { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A918R,
 +             &af9035_props, "AVerMedia AverTV (A918R)", NULL) },
         { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867,
               &af9035_props, "AVerMedia HD Volar (A867)", NULL) },

Workaround

As long as 'modinfo dvb_usb_af9035 | grep v07CAp0918' is empty, compilation of af9035.c and dvb-usb-ids.h with patch above is necessary:

'modinfo dvb_usb_af9035' should report:

 filename:       /lib/modules/3.7.0-7-generic/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-af9035.ko
 firmware:       dvb-usb-af9035-02.fw
 license:        GPL
 description:    Afatech AF9035 driver
 author:         Antti Palosaari <crope@iki.fi>
 srcversion:     0B85164B0034E1BBA0A766D
 alias:          usb:v07CAp0918d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v07CAp0825d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v07CApA867d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v07CAp1867d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v07CApB835d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v07CApA835d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v0CCDp0093d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v15A4p1003d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v15A4p1002d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v15A4p1001d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v15A4p1000d*dc*dsc*dp*ic*isc*ip*in*
 alias:          usb:v15A4p9035d*dc*dsc*dp*ic*isc*ip*in*
 depends:        dvb_usb_v2,rc-core
 vermagic:       3.7.0-7-generic SMP mod_unload modversions 686 
 parm:           adapter_nr:DVB adapter numbers (array of short)

Remaining problem: couldn't get any working frequency/transponder (with 100% signal strength input).

Scanning problem

  • Test condition: kernel : 3.5.0-21 & 3.7.0-7 | firmware: dvb-usb-af9035-02.fw_12.5.13.0 | signal strength 100%
 # w_scan -ft -t3 -F -c FR
 w_scan version 20120605 (compiled for DVB API 5.5)
 using settings for FRANCE
 DVB aerial
 DVB-T FR
 scan type TERRESTRIAL, channellist 5
 Info: using DVB adapter auto detection.
  /dev/dvb/adapter0/frontend0 -> TERRESTRIAL "Afatech AF9033 (DVB-T)": good :-)
 Using TERRESTRIAL frontend (adapter /dev/dvb/adapter0/frontend0)
 -_-_-_-_ Getting frontend capabilities-_-_-_-_ 
 Using DVB API 5.6
 frontend 'Afatech AF9033 (DVB-T)' supports
 INVERSION_AUTO
 QAM_AUTO
 TRANSMISSION_MODE_AUTO
 GUARD_INTERVAL_AUTO
 HIERARCHY_AUTO
 FEC_AUTO
 FREQ (174.00MHz ... 862.00MHz)
 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 
 Scanning 8MHz frequencies...
 474000: (time: 00:00) 
 .../...
 858498: (time: 10:13) 
   ERROR: Sorry - i couldn't get any working frequency/transponder
 Nothing to scan!!

No solution identified by now.

dvbsnoop output

  • demux error reported by dvbsnoop
 # dvbsnoop -s pidscan
 dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/ 
 Transponder PID-Scan...
 Error(22): DMX_SET_PES_FILTER: Invalid argument
  • error related to some wrong tda18218 default options ??
  • Help needed...