AVerMedia AVerTV HD Express A918R: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
A [[DVB-T]] 34/54mm Express Card from [[AVerMedia]].
A [[DVB-T]] 34/54mm Express Card from [[AVerMedia]].


It is currently not supported under Linux.
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.
------------------------------------------------------

[[File:AverTV_A918R_350x196.png|right]]
=Overview/Features=
=Overview/Features=
DVB-T tuner for 34/54mm express card slots that supports the following :
DVB-T tuner for 34/54mm express card slots that supports the following :
Line 14: Line 19:
* Scheduled Recording
* Scheduled Recording
* Wake Up Recording from Stand By / Hibernate Mode
* Wake Up Recording from Stand By / Hibernate Mode
* 75 Ω TV Antenna
* see http://www.avermedia.com/Product/ProductDetail.aspx?Id=518
* see http://avertv.avermedia.com/Product/ProductDetail.aspx?Id=518

==Specifications==
Input Signal
* 75 Ω TV Antenna

==Package Included==
* AVerTV Express Card 34mm
* Quick Installation Guide
* Installation CD (windows)
* TV Antenna
* RF Cable

==Practicality==
===Advantages===
* price competitive (about 30€)
* Very compact structure (doesn't extend outside the express slot at all)

===Disadvantages===
* No Linux drivers

=Hardware=
==components==
* Afatech AF9015 (according to .inf windows file: AVerAF35.FriendlyName = "AF9015 BDA Filter")
* + to be completed (box not open)
==Identification==
Detected as usb device
===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

===dmesg===
kernel [ 1444.061515] usb 2-1.3: new high-speed USB device number 5 using ehci_hcd
kernel [ 1444.159080] usb 2-1.3: New USB device found, idVendor=07ca, idProduct=0918
kernel [ 1444.159087] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel [ 1444.159092] usb 2-1.3: Product: A918R
kernel [ 1444.159096] usb 2-1.3: Manufacturer: AVerMedia TECHNOLOGIES, Inc
kernel [ 1444.159101] usb 2-1.3: SerialNumber: 0000000000000
mtp-probe checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
mtp-probe bus: 2, device: 5 was not an MTP device

===udevadm===
udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/004)

looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3':
KERNEL=="2-1.3"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{authorized}=="1"
ATTR{avoid_reset_quirk}=="0"
ATTR{bConfigurationValue}=="1"
ATTR{bDeviceClass}=="00"
ATTR{bDeviceProtocol}=="00"
ATTR{bDeviceSubClass}=="00"
ATTR{bMaxPacketSize0}=="64"
ATTR{bMaxPower}=="500mA"
ATTR{bNumConfigurations}=="1"
ATTR{bNumInterfaces}==" 1"
ATTR{bcdDevice}=="0201"
ATTR{bmAttributes}=="80"
ATTR{busnum}=="2"
ATTR{configuration}==""
ATTR{devnum}=="4"
ATTR{devpath}=="1.3"
ATTR{idProduct}=="0918"
ATTR{idVendor}=="07ca"
ATTR{ltm_capable}=="no"
ATTR{manufacturer}=="AVerMedia TECHNOLOGIES, Inc"
ATTR{maxchild}=="0"
ATTR{product}=="A918R"
ATTR{quirks}=="0x0"
ATTR{removable}=="unknown"
ATTR{serial}=="0000000000000"
ATTR{speed}=="480"
ATTR{urbnum}=="10"
ATTR{version}==" 2.00"

=Test conditions=
==kernel==
* Kernel used for test: 3.7.0-4-generic (ubuntu)

==modules==
* available module: /lib/modules/3.7.0-4-generic/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-af9015.ko
* Loading dvb_usb_af9015 module did not help
# lsmod | grep 9015
dvb_usb_af9015 27836 0
vb_usb_v2 23191 1 dvb_usb_af9015
rc_core 21267 2 dvb_usb_v2,dvb_usb_af9015

==firmware==
* /lib/firmware/dvb-usb-af9015.fw available

=Windows inf file=

[Version]
signature="$CHICAGO$"
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%MfgName%
DriverVer=03/16/2010,8.0.999.57
CatalogFile=AVerAF35.cat

[DestinationDirs]
AVerAF35.CopyDrivers=10,System32\Drivers

[SourceDisksNames]
1=%AVerAF35.Disc%,,,

[SourceDisksFiles]
AVerAF35.sys=1

[Manufacturer]
%MfgName%=AVerMedia,NTx86,NTamd64,NTx86.6,NTamd64.6

[ControlFlags]
ExcludeFromSelect=*
ExcludeFromSelect.NT=*

;Architecture & OS Type-----------------------------------------------------------
[AVerMedia.NTx86]
%AVerAF35.DeviceDesc% = AVerAF35x86,USB\VID_07CA&PID_0918

[AVerMedia.NTamd64]
%AVerAF35.DeviceDesc% = AVerAF35x64,USB\VID_07CA&PID_0918

[AVerMedia.NTx86.6]
%AVerAF35.DeviceDesc% = AVerAF35x86_Vista,USB\VID_07CA&PID_0918

[AVerMedia.NTamd64.6]
%AVerAF35.DeviceDesc% = AVerAF35x64_Vista,USB\VID_07CA&PID_0918


;Information------------------------------------------------------------------------------
[AVerAF35x86.NT]
DriverVer =03/16/2010,8.0.0.57
Include = ks.inf, kscaptur.inf, bda.inf
Needs = KS.Registration,KSCAPTUR.Registration.NT,BDA.Installation.NT
DelReg = AVerAF35.DeleteReg
AddReg = AVerAF35.AddReg
CopyFiles = AVerAF35.CopyDrivers

[AVerAF35x64.NT]
DriverVer=03/16/2010,8.0.64.57
Include = ks.inf, kscaptur.inf, bda.inf
Needs = KS.Registration,KSCAPTUR.Registration.NT,BDA.Installation.NT
DelReg = AVerAF35.DeleteReg
AddReg = AVerAF35.AddReg
CopyFiles = AVerAF35.CopyDrivers

[AVerAF35x86_Vista.NT]
DriverVer =03/16/2010,8.0.0.57
Include = ks.inf, kscaptur.inf, bda.inf
Needs = KS.Registration,KSCAPTUR.Registration.NT,BDA.Installation.NT
DelReg = AVerAF35.DeleteReg
AddReg = AVerAF35.AddReg
CopyFiles = AVerAF35.CopyDrivers

[AVerAF35x64_Vista.NT]
DriverVer=03/16/2010,8.0.64.57
Include = ks.inf, kscaptur.inf, bda.inf
Needs = KS.Registration,KSCAPTUR.Registration.NT,BDA.Installation.NT
DelReg = AVerAF35.DeleteReg
AddReg = AVerAF35.AddReg
CopyFiles = AVerAF35.CopyDrivers

[AVerAF35.CopyDrivers]
AVerAF35.sys

[AVerAF35.DeleteReg]
HKLM,System\CurrentControlSet\SERVICES\AVerAF35\DemodInit
HKLM,System\CurrentControlSet\SERVICES\AVerAF35\Parameters\0918


=Package Included=
[AVerAF35.AddReg]
* AVerTV Express Card 34mm
HKR,,DevLoader,,*ntkern
* plastic extension for 54mm slot compatibility
HKR,,NTMPDriver,,AVerAF35.sys
* Quick Installation Guide
HKR,,PageOutWhenUnopened,3,01
* Installation CD (windows)
HKLM,System\CurrentControlSet\Control\MediaCategories\{1A9333B6-3704-4b18-A6DD-E1979FC56970}
* TV Antenna
HKLM,System\CurrentControlSet\Control\MediaCategories\{1A9333B6-3704-4b18-A6DD-E1979FC56970},Display,0x00010001,0
* RF Cable
HKLM,System\CurrentControlSet\Control\MediaCategories\{1A9333B6-3704-4b18-A6DD-E1979FC56970},Name,,"Tuner Node"
* remote control
HKLM,System\CurrentControlSet\Control\MediaCategories\{F65394A2-A018-4307-8D12-35AA494A406F}
HKLM,System\CurrentControlSet\Control\MediaCategories\{F65394A2-A018-4307-8D12-35AA494A406F},Display,0x00010001,0
HKLM,System\CurrentControlSet\Control\MediaCategories\{F65394A2-A018-4307-8D12-35AA494A406F},Name,,"Demodulator Node"
HKLM,System\CurrentControlSet\Control\MediaCategories\{870E4D6F-77E7-4c40-ADE3-BEF8708A9D52}
HKLM,System\CurrentControlSet\Control\MediaCategories\{870E4D6F-77E7-4c40-ADE3-BEF8708A9D52},Display,0x00010001,0
HKLM,System\CurrentControlSet\Control\MediaCategories\{870E4D6F-77E7-4c40-ADE3-BEF8708A9D52},Name,,"Antenna In Pin"
HKLM,System\CurrentControlSet\SERVICES\AVerAF35\Parameters\0918,SSEnable,0x00010001,0x00
HKLM,System\CurrentControlSet\SERVICES\AVerAF35\Parameters\0918,IRMode,0x00010001,0x01
HKLM,System\CurrentControlSet\SERVICES\AVerAF35\Parameters\0918,AVerCustom,0x00010001,0x00


=Components=
* [http://www.linuxtv.org/wiki/index.php/Afatech_AF9035 Afatech AF9035]
* Afatech AF9033 (DVB-T front-end)
* NXP TDA18218HN


=Firmware=
;Service-----------------------------------------------------------------------------------------
* dvb-usb-af9035-02.fw [LINK=12.13.15.0 OFDM=5.17.9.1] / from [http://www.palosaari.fi/linux/v4l-dvb/firmware/af9035/ palosaari.fi]
[AVerAF35x86.NT.Services]
Addservice = AVerAF35, 0x00000002, AVerAF35.AddService


=Modules=
[AVerAF35x64.NT.Services]
* dvb_usb | dvb_usb_af9035 | af9033 | tda18218 | rc_core
Addservice = AVerAF35, 0x00000002, AVerAF35.AddService


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


==usb-devices==
[AVerAF35x64_Vista.NT.Services]
T: Bus=02 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 5 Spd=480 MxCh= 0
Addservice = AVerAF35, 0x00000002, AVerAF35.AddService
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=07ca ProdID=0918 Rev=02.01
S: Manufacturer=AVerMedia TECHNOLOGIES, Inc
S: Product=A918R
S: SerialNumber=0000000000000
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 5 Cls=ff(vend.) Sub=00 Prot=00 Driver=dvb_usb_af9035


=Investigations=
[AVerAF35.AddService]
== Patch proposal ==
DisplayName = %AF9035Devcie.FriendlyName%
* Necessary patch for '''dvb_usb_af9035''' module compatibility with AverTV A918R card:
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %10%\System32\Drivers\AVerAF35.sys
LoadOrderGroup = Base


--- /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
;Interface---------------------------------------------------------------------------------------
+++ /drivers/media/usb/dvb-usb-v2/af9035.c
[AVerAF35x86.NT.Interfaces]
@@ -1125,6 +1125,8 @@
AddInterface=%GUID.TunerCatID%,%KSNAME_Filter%,AVerAF35.Interfaces,
{ DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B835,
AddInterface=%GUID.BdaReceiverCtrl%,%KSNAME_Filter%,AVerAF35.Interfaces,
&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==
[AVerAF35x64.NT.Interfaces]
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:
AddInterface=%GUID.TunerCatID%,%KSNAME_Filter%,AVerAF35.Interfaces,
AddInterface=%GUID.BdaReceiverCtrl%,%KSNAME_Filter%,AVerAF35.Interfaces,


''''modinfo dvb_usb_af9035'''' should report:
[AVerAF35x86_Vista.NT.Interfaces]
AddInterface=%GUID.TunerCatID%,%KSNAME_Filter%,AVerAF35.Interfaces,
AddInterface=%GUID.BdaReceiverCtrl%,%KSNAME_Filter%,AVerAF35.Interfaces,


filename: /lib/modules/3.7.0-7-generic/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-af9035.ko
[AVerAF35x64_Vista.NT.Interfaces]
firmware: dvb-usb-af9035-02.fw
AddInterface=%GUID.TunerCatID%,%KSNAME_Filter%,AVerAF35.Interfaces,
license: GPL
AddInterface=%GUID.BdaReceiverCtrl%,%KSNAME_Filter%,AVerAF35.Interfaces,
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.
[AVerAF35.Interfaces]
AddReg=AVerAF35.Interface.AddReg


== Scanning problem ==
[AVerAF35.Interface.AddReg]
* Test condition: kernel : 3.5.0-21 & 3.7.0-7 | firmware: dvb-usb-af9035-02.fw_12.5.13.0 | good signal strength (external antenna)
HKR,,CLSID,,%AVerAF35.CLSID%
# '''w_scan''' -ft -t3 -F -c FR
HKR,,FriendlyName,,%AVerAF35.FriendlyName%
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!!'''


* '''tzap''' test with A918R


tzap -r TEST
;Constant-----------------------------------------------------------------------------------------------
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
[Strings]
reading channels from file '~/.tzap/channels.conf'
MfgName = "AVerMedia TECHNOLOGIES, Inc"
tuning to '''586167000''' Hz
AVerAF35.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
video pid 0x0200, audio pid 0x028a
AVerAF35.Disc = "AVerMedia AF35 BDA Driver Installation Disc"
status 00 | signal 0000 | snr 0000 | ber 00000000 | unc 00000000 |
AVerAF35.DeviceDesc = "AVerMedia A918R Express DVB-T"
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
AF9035Devcie.FriendlyName = "AVerMedia A918R Express DVB-T"
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
AVerAF35.FriendlyName = "AF9015 BDA Filter"
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
KSNAME_Filter = "{9B365890-165F-11D0-A195-0020AFD156E4}"
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
status 00 | signal 0000 | snr 0000 | ber 00000000 | unc 00000000 |
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |


* same '''tzap''' test made with same antenna and with AverTV_Super_007 (for comparison)
Plugin_BdaDevice = "BDA Device Control Plug-in"
tzap -r TEST
GUID.TunerCatID = "{71985F48-1CA1-11d3-9CC8-00C04F7971E0}"
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
AMcatID = "{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}"
reading channels from file '~/.tzap/channels.conf'
BDAReceivers = "BDA Streaming Receiver Components"
tuning to '''586167000''' Hz
MediaCategories = "SYSTEM\CurrentControlSet\Control\MediaCategories"
video pid 0x0200, audio pid 0x028a
Pin.BdaTransport = "BDA Transport Stream"
status 00 | signal bdbd | snr 3535 | ber 0001fffe | unc 0000000c |
GUID.BdaTransport = "{78216A81-CFA8-493e-9711-36A61C08BD9D}"
status 1f | signal bebe | snr fefe | ber 00000000 | unc ffffffff | FE_HAS_LOCK
GUID.BdaReceiverCtrl = "{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}"
status 1f | signal bdbd | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal bebe | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal bdbd | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal bdbd | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal bebe | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK


A918R tuning is then not working as expected.
; ServiceType values
SERVICE_KERNEL_DRIVER = 0x00000001
SERVICE_FILE_SYSTEM_DRIVER = 0x00000002
SERVICE_ADAPTER = 0x00000004
SERVICE_RECOGNIZER_DRIVER = 0x00000008
SERVICE_WIN32_OWN_PROCESS = 0x00000010
SERVICE_WIN32_SHARE_PROCESS = 0x00000020
SERVICE_INTERACTIVE_PROCESS = 0x00000100
SERVICE_INTERACTIVE_SHARE_PROCESS = 0x00000120


= Comments =
; StartType values
1] still some doubt on exact dvb-usb-af9035-02.fw firmware to be used (several LINK/OFDM versions tested)
SERVICE_BOOT_START = 0x00000000
SERVICE_SYSTEM_START = 0x00000001
SERVICE_AUTO_START = 0x00000002
SERVICE_DEMAND_START = 0x00000003
SERVICE_DISABLED = 0x00000004


2] AVerTV_Volar_HD_PRO_'''A835''' using same components is reported to work including tuning/scanning;
; ErrorControl values
SERVICE_ERROR_IGNORE = 0x00000000
SERVICE_ERROR_NORMAL = 0x00000001
SERVICE_ERROR_SEVERE = 0x00000002
SERVICE_ERROR_CRITICAL = 0x00000003


3] function "static int af9035_tuner_attach(struct dvb_usb_adapter *adap)" of '''af9035.c''' does not include any '''gpio''' settings for '''tda18218''': problem or not ? to be clarified.
; Registry types
REG_MULTI_SZ = 0x10000
REG_EXPAND_SZ = 0x20000
REG_DWORD = 0x10001


Then still some hope, but no solution identified by now.


[[Category:DVB-T ExpressCard Devices]]
[[Category:DVB-T ExpressCard Devices]]

Latest revision as of 20:44, 18 June 2014

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.


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://avertv.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

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

usb-devices

T:  Bus=02 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=07ca ProdID=0918 Rev=02.01
S:  Manufacturer=AVerMedia TECHNOLOGIES, Inc
S:  Product=A918R
S:  SerialNumber=0000000000000
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 5 Cls=ff(vend.) Sub=00 Prot=00 Driver=dvb_usb_af9035

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.

Scanning problem

  • Test condition: kernel : 3.5.0-21 & 3.7.0-7 | firmware: dvb-usb-af9035-02.fw_12.5.13.0 | good signal strength (external antenna)
 # 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!!
  • tzap test with A918R
 tzap -r TEST
 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
 reading channels from file '~/.tzap/channels.conf'
 tuning to 586167000 Hz
 video pid 0x0200, audio pid 0x028a
 status 00 | signal 0000 | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal 0000 | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
 status 00 | signal ffff | snr 0000 | ber 00000000 | unc 00000000 |
  • same tzap test made with same antenna and with AverTV_Super_007 (for comparison)
 tzap -r TEST
 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
 reading channels from file '~/.tzap/channels.conf'
 tuning to 586167000 Hz
 video pid 0x0200, audio pid 0x028a
 status 00 | signal bdbd | snr 3535 | ber 0001fffe | unc 0000000c | 
 status 1f | signal bebe | snr fefe | ber 00000000 | unc ffffffff | FE_HAS_LOCK
 status 1f | signal bdbd | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
 status 1f | signal bebe | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
 status 1f | signal bdbd | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
 status 1f | signal bdbd | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
 status 1f | signal bebe | snr ffff | ber 00000000 | unc 00000000 | FE_HAS_LOCK

A918R tuning is then not working as expected.

Comments

1] still some doubt on exact dvb-usb-af9035-02.fw firmware to be used (several LINK/OFDM versions tested)

2] AVerTV_Volar_HD_PRO_A835 using same components is reported to work including tuning/scanning;

3] function "static int af9035_tuner_attach(struct dvb_usb_adapter *adap)" of af9035.c does not include any gpio settings for tda18218: problem or not ? to be clarified.

Then still some hope, but no solution identified by now.