EzCap DVB T Stick: Difference between revisions
(new comments, after additional testing, after upgrading kernel from 2.6.31. to 2.6.32-22 (Ubuntu automatic update)) |
(Kernel 3.5. and above now has native support as soon as pluged in.) |
||
(18 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
'''[[Afatech]] USB 2.0 DVB-T Stick''' is a [[USB|USB 2.0]] [[DVB-T]] device. |
'''[[Afatech]] USB 2.0 DVB-T Stick''' is a [[USB|USB 2.0]] [[DVB-T]] device. |
||
{{Device List Full Detail/Header |
|||
'''Note:''' There is also a card with exactly same ID data , hence based on same hardware, just rebranded, sold as '''Infinity PC-TV Nano DVB-T USB stick''' brand (at least in Croatia). This is a best buy model. Procedure for geting this DVB stick working is described below inside NOTE blocks. If your stick is not Infinity Nano, disregard this comments. |
|||
| content = |
|||
{{USB_Device_Data|renderwith=Device_List_Full_Detail/Row |
|||
Currently not supported by LinuxTV. No manufacturer website. |
|||
|selatt1=did |
|||
|selval1=ezcap-afatech-9035}} |
|||
}} |
|||
Based on: |
Based on: |
||
Line 9: | Line 12: | ||
* Fiti Power FC0011 |
* Fiti Power FC0011 |
||
''Begin Michael Lamothe's Notes'' |
|||
[[Category:DVB-T USB Devices]] |
|||
I picked up this device in Australia from Dick Smith Electronics (DSE) labelled "Gadget Geek". Have tested this in Maverick using Me TV. |
|||
Also, on sale in Australia inside a box which says '''Blaze HDTV Tuner''', inside which is another package which says '''MinTV DVB-T Stick'''. |
|||
== Install instructions for using alternate manufacturer driver == |
|||
[[Category:DVB-T USB Devices]] |
|||
This is provided by Andreas Mattsson and lifted (mostly) verbatim from his website [http://strobe.anti.nu/af9035_fc0011.html]. |
|||
'''Note for ''Infinity Nano'' ''': Infinity PC-TV Nano instructions were written by [[User:Phantom25]], after painfull try&mistake process lasting three days with final success. |
|||
Data aquired by mixing Andreas Mattson website data, Ubuntu Forums [http://ubuntuforums.org/showthread.php?s=a4c2eb78ea05c68b9121e9ddc4f89226&t=1364396] and trial&error experiments.'''End note for ''Infinity Nano'' ''' |
|||
== Install instructions for using alternate manufacturer driver (needed only in kernel prior to 3.5.) == |
|||
This is a simple how-to in order to quickly get up and running if you've got a card based on this combination. |
|||
As of 20100123, the LinuxTV-project doesn't support this yet and I have not found any working instructions anywhere, only questions about how to get it to work. |
|||
I'm running Xubuntu and will thus be using apt, but the instructions should work for most any distribution if you fix the dependencies in another way. |
|||
Most cards with the AF9035 seems to be combined with the Infineon TUA9001 tuner, with vendor supplied Linux-drivers that only support this tuner. |
|||
For instance, [[Terratec's current Cinergy T-stick|TerraTec_Cinergy_T_Stick]] driver in the archive "terratec_af9035.zip" available via their linux-driver site is one such driver. |
|||
Luckily, they also have an older driver version where they have sourcecode supporting the FC0011 tuner in place. |
|||
As a matter of fact, there's support for a whole bunch of tuners in there, like Microtune MT2266, Philips TDA18291 and of course Infineon TUA9001. |
|||
We're going to use this. |
|||
You can't find it via their web-page, but it's still available. |
|||
I've pre-hacked the manufacturer's driver: |
|||
# The source extracted from the manufactuter's driver |
|||
# The missing crystal frequencies commented out from line 178-187 |
|||
# Commented out #include <autoconf.h> from api/usb2impl.c |
|||
First up, you'll need a working build environment, the kernel-headers and the kernel-source. |
First up, you'll need a working build environment, the kernel-headers and the kernel-source. |
||
Line 35: | Line 34: | ||
<pre>uname -r</pre> |
<pre>uname -r</pre> |
||
<pre>sudo apt-get install build-essential linux-headers-2.6.35-27-generic linux-source-2.6.35 kernel-package</pre> |
|||
For instance, I've installed |
|||
Extract the source, |
|||
<pre>sudo apt-get install build-essential linux-headers-2.6.31-17-generic linux-source-2.6.31 kernel-package</pre> |
|||
Continue with downloading the needed driver-file from Terratec. |
|||
<pre>wget http://linux.terratec.de/files/Linux-Driver-for-T-Stick.rar</pre> |
|||
'''Note for ''Infinity Nano'' ''': The mentioned URL is an outdated driver, and does improperly support this card (module error -12). |
|||
Newer version (Year 2009 instead of year 2008) is on: |
|||
<pre>wget http://www.linux-cam.com/downloads/9035.linux.PC.dvb-tV9.07.10.1.zip</pre>'''End note for ''Infinity Nano'' ''' |
|||
In order to unpack the archives, you'll need rar and rpm. (Actually, I'm not sure about rpm. You'll at least need the rpm2cpio which I think comes with the rpm package). |
|||
<pre>sudo apt-get install rar rpm</pre> |
|||
then |
|||
<pre> |
<pre> |
||
cd /usr/src |
|||
rar x Linux-Driver-for-T-Stick.rar |
|||
sudo tar jxvf /usr/src/linux-source-2.6.35.tar.bz2 |
|||
cd Linux_PC_AF9035_Afatech_2008.12.17/Linux-32bit_AF9035_20081217 |
|||
rpm2cpio AF903x-32bit-2.0-1.src.rpm | cpio -idmv |
|||
tar -xzf AF903x_SRC.tar.gz |
|||
</pre> |
</pre> |
||
'''Note for ''Infinity Nano'' ''': The mentioned URL is an outdated driver, and does inproperly support this card. |
|||
The newer driver needs to be unpacked via unzip, instead using rar, replace the procedure with: |
|||
<pre> |
<pre> |
||
cd |
|||
unzip 9035.linux.PC.dvb-tV9.07.10.1.zip |
|||
wget http://me-tv.googlecode.com/files/AF903x.tar.gz |
|||
cd 32bit |
|||
tar |
tar zxvf AF903x.tar.gz |
||
cd installer/AF903x_SRC |
|||
</pre>'''End note for ''Infinity Nano'' ''' |
|||
ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/frontends/*.h . |
|||
ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/dvb-core/*.h . |
|||
ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/dvb-usb/*.h . |
|||
cd .. |
|||
</pre> |
|||
Now run the manufacturer's installer, |
|||
There! Now we got a folder called AF903x_SRC containing the source for the driver. |
|||
If you're running a kernel version between 2.6.16 and 2.6.27, all you should have to do is to compile and install the driver, although I haven't actually tested this. |
|||
I'm running 2.6.31, so I had to manually copy a few files. |
|||
Enter AF903x_SRC and copy the following files there. (I've unpacked my kernel source into /usr/src/linux-source-2.6.31) |
|||
<pre> |
<pre> |
||
sudo ./installer.sh |
|||
cd AF903x_SRC |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/demux.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/dmxdev.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/dvb_demux.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/dvb_frontend.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/dvb_net.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/dvb_ringbuffer.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-core/dvbdev.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-usb/dvb-usb.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/dvb-usb/dvb-usb-ids.h ./ |
|||
cp /usr/src/linux-source-2.6.31/drivers/media/dvb/frontends/dvb-pll.h ./ |
|||
</pre> |
</pre> |
||
If you run, |
|||
Now we're ready to make and install... |
|||
<pre> |
|||
make |
|||
sudo make install |
|||
depmod -a |
|||
</pre> |
|||
<pre>dmesg</pre> |
|||
reboot or do a |
|||
You should see, |
|||
<pre>modprobe dvb_af903x</pre> |
|||
'''Note for ''Infinity Nano'' ''':The module name has been changed, use instead: |
|||
<pre>modprobe dvb_usb_af903x</pre> |
|||
USB hotpluging should start working immediately, however, some Linuxes wrong identify this stick as USB HID device, due to conflicting ID woth some possibly existing HID device !??????? Therefore, further steps should be neccessary. Please see below.'''End note for ''Infinity Nano'' ''' |
|||
If you run |
|||
<pre>cat /var/log/messages | grep DVB</pre> |
|||
you should see |
|||
<pre> |
<pre> |
||
DRIVER_RELEASE_VERSION : v9.08.14.1 |
|||
dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state. |
|||
FW_RELEASE_VERSION : v8_8_63_0 |
|||
DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier) |
|||
API_RELEASE_VERSION : 200.20090402.0 |
|||
DVB: registering adapter 0 frontend 0 (AF903X USB DVB-T)... |
|||
usbcore: registered new interface driver hiddev |
|||
dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected. |
|||
dvb-usb: found a 'ITEtech USB2.0 DVB-T Recevier' in warm state. |
|||
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. |
|||
DVB: registering new adapter (ITEtech USB2.0 DVB-T Recevier) |
|||
DVB: registering adapter 0 frontend 0 (AF903X USB DVB-T).. |
|||
</pre> |
</pre> |
||
''End Michael Lamothe's notes'' |
|||
'''Note for ''Infinity Nano'' ''':The output is slightly different, depending on cold or warm state, anyhow, success message must be shown.'''End note for ''Infinity Nano'' ''' |
|||
Your Afatech USB card is now ready to be used. Happyhappyjoyjoy! =) |
|||
Beware if you have more than one DVB adapter, though. It seem like the dvb_af903x driver can't tune if it isn't adapter 0, at least not in my system. |
Beware if you have more than one DVB adapter, though. It seem like the dvb_af903x driver can't tune if it isn't adapter 0, at least not in my system. |
||
Line 125: | Line 86: | ||
Now, with the Afatech as adapter 0 and the Hauppauge as adapter 1, both work great. |
Now, with the Afatech as adapter 0 and the Hauppauge as adapter 1, both work great. |
||
Might simply be some specific |
Might simply be some specific incompatibility between the Hauppauge driver and the Afatech, but I thought a heads up might be in place. |
||
'''Note for ''Infinity Nano'' ''':Newer driver version procedure tested upto kernel 2.6.32 (2.6.32-22 more specific) and still works flawlessly.'''End note for ''Infinity Nano'' ''' |
|||
===''' General important note! (1) ''' USB DVB is wrongly identified as a HID device=== |
===''' General important note! (1) ''' USB DVB is wrongly identified as a HID device=== |
||
Line 147: | Line 106: | ||
*3. '''Reboot''', just in case. :) Or, unload and reload the usbhid module, in order for the changes to take effect! |
*3. '''Reboot''', just in case. :) Or, unload and reload the usbhid module, in order for the changes to take effect! |
||
===''' Compiling with Linux kernel 3.x.y. ''' Needs small patching of the source === |
|||
===''' General important note! (2) ''' in order to compile, install or even load modules, root privileges might be required=== |
|||
This driver can also be compiled with kernel 3.x.y, if the source is properly patched. |
|||
Albeit making '''may look successfull''', even if performed from non-root privileges, the resulting module might cause the error of being invalid module, when loaded! |
|||
Kernel 3.x.y does contain a generic replacement simple driver for Afatech, but not in early revisions. |
|||
Also, the included driver does not work with all Afatech compatible cards. |
|||
So, just to be sure, substitute: |
|||
<pre> |
|||
make |
|||
sudo make install |
|||
depmod -a |
|||
</pre> |
|||
All occurences of ''smp_lock.h'' inside headers and source files must be changed to ''smp.h'', since kernel 3.x. changed the name of this file. |
|||
with: |
|||
Also, the ''v4l'' folder needs to be extended with a new subfolder with headers from the appropriate kernel 3.x.y version. |
|||
''Makefile'' must be altered, in order to copy and use the 3.x. headers, and not 2.6. or 2.4. headers (the part near the top with copying written inside). |
|||
Also, the above mentioned path to symbolic links needs to be altered, i.e. : |
|||
<pre> |
<pre> |
||
cd /usr/src |
|||
sudo make |
|||
sudo tar jxvf /usr/src/linux-source-3.0.0.tar.bz2 |
|||
sudo make install |
|||
cd |
|||
sudo depmod -a |
|||
cd installer/AF903x_SRC |
|||
ln -s /usr/src/linux-source-3.0.0/drivers/media/dvb/frontends/*.h . |
|||
ln -s /usr/src/linux-source-3.0.0/drivers/media/dvb/dvb-core/*.h . |
|||
ln -s /usr/src/linux-source-3.0.0/drivers/media/dvb/dvb-usb/*.h . |
|||
cd .. |
|||
</pre> |
</pre> |
||
After all this is done, then the manufacturer's installer can executed, as noted above. |
|||
also: |
|||
After a successfull instalation, the stick needs to be re-plugged or the usb subsystem or the computer restarted. |
|||
<pre>sudo modprobe dvb_af903x</pre> ('''Note for ''Infinity Nano'' ''':or <pre>sudo modprobe dvb_usb_af903x</pre> respectivelly.'''End note for ''Infinity Nano'' ''') |
|||
==''' Kernel 3.5. and beyond '''== |
|||
Happy TV-viewing. |
|||
Native support built in since kernel 3.5. . |
|||
Only the correct firmware must be obtained for the model (dvb-usb-af9035-02.fw). |
|||
There are several revisions of the firmware, depending on the particular model used. |
|||
== References == |
== References == |
||
* |
* Drivers: http://www.szforwardvideo.com/support/Supp_32_4.html |
||
* Firmware: http://palosaari.fi/linux/v4l-dvb/firmware/af9035/ |
Latest revision as of 22:20, 16 August 2013
Afatech USB 2.0 DVB-T Stick is a USB 2.0 DVB-T device.
did | vendor | device | standard | supported | pic | url | hostinterface | usbid | hw | tuner | demodulator | usbbridge | fw | comment | E |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ezcap-afatech-9035 | EzCap | DVB-T USB2.0 stick | DVB-T | ✔ Yes, but see device page for details. | USB2.0 | 15a4:1001 | Afatech AF9035 | fc0011 | af9035 | af903x | Sold as Infinity PC-TV Nano DVB-T USB stick (at least in Croatia) and as Blaze HDTV Tuner in Australia. An EzCAP USB 2.0 DVB-T Stick exist with rtl2832u chipset. |
Based on:
- Afatech AF9035
- Fiti Power FC0011
Begin Michael Lamothe's Notes
I picked up this device in Australia from Dick Smith Electronics (DSE) labelled "Gadget Geek". Have tested this in Maverick using Me TV.
Also, on sale in Australia inside a box which says Blaze HDTV Tuner, inside which is another package which says MinTV DVB-T Stick.
Install instructions for using alternate manufacturer driver (needed only in kernel prior to 3.5.)
I've pre-hacked the manufacturer's driver:
- The source extracted from the manufactuter's driver
- The missing crystal frequencies commented out from line 178-187
- Commented out #include <autoconf.h> from api/usb2impl.c
First up, you'll need a working build environment, the kernel-headers and the kernel-source. If you don't know which kernel you're running, you can find out with
uname -r
sudo apt-get install build-essential linux-headers-2.6.35-27-generic linux-source-2.6.35 kernel-package
Extract the source,
cd /usr/src sudo tar jxvf /usr/src/linux-source-2.6.35.tar.bz2
cd wget http://me-tv.googlecode.com/files/AF903x.tar.gz tar zxvf AF903x.tar.gz cd installer/AF903x_SRC ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/frontends/*.h . ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/dvb-core/*.h . ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/dvb-usb/*.h . cd ..
Now run the manufacturer's installer,
sudo ./installer.sh
If you run,
dmesg
You should see,
DRIVER_RELEASE_VERSION : v9.08.14.1 FW_RELEASE_VERSION : v8_8_63_0 API_RELEASE_VERSION : 200.20090402.0 usbcore: registered new interface driver hiddev dvb-usb: found a 'ITEtech USB2.0 DVB-T Recevier' in warm state. dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. DVB: registering new adapter (ITEtech USB2.0 DVB-T Recevier) DVB: registering adapter 0 frontend 0 (AF903X USB DVB-T)..
End Michael Lamothe's notes
Beware if you have more than one DVB adapter, though. It seem like the dvb_af903x driver can't tune if it isn't adapter 0, at least not in my system. In my case, I also have a Hauppauge PCI DVB-T card that always got installed as adapter 0, with the Afatech as adapter 1. With the Hauppauge card installed, the Afatech would always fail at tuning. With it removed, it worked. I got around this by blacklisting the cx88_dvb, cx88xx, cx8800 and cx8802 modules and loading them manually after the dvb_af903x had loaded. Now, with the Afatech as adapter 0 and the Hauppauge as adapter 1, both work great.
Might simply be some specific incompatibility between the Hauppauge driver and the Afatech, but I thought a heads up might be in place.
General important note! (1) USB DVB is wrongly identified as a HID device
Most Linuxes improperly identify this USB stick as USB HID, which it is not! This leads to driver conflicts. When looking into:
dmesg
There is mention of a HID device, by default, after plugging in the stick.
This has to be done, in order to remedy this:
- 1. /etc/modprobe.d/usbhid.conf needs to have the line (for module version):
options usbhid quirks=0x15a4:0x1001:0x0004
This line ignores this ID from HID devices! If there is a real physical USB device present, which is HID, i.e. keyboard, mouse (funny, this should never have happened, according to the specification, that two or more devices share the same USB ID!), it must not be 15a4:1001, or it will be ignored!
- 2. if HID driver is incorporated into kernel, these boot parameters must be appended:
usbhid.quirks=0x15a4:0x1001:0x0004
this goes in, i.e. /boot/grub/menu.lst (grub.conf) , or other means of linux bootconfig.
- 3. Reboot, just in case. :) Or, unload and reload the usbhid module, in order for the changes to take effect!
Compiling with Linux kernel 3.x.y. Needs small patching of the source
This driver can also be compiled with kernel 3.x.y, if the source is properly patched. Kernel 3.x.y does contain a generic replacement simple driver for Afatech, but not in early revisions. Also, the included driver does not work with all Afatech compatible cards.
All occurences of smp_lock.h inside headers and source files must be changed to smp.h, since kernel 3.x. changed the name of this file. Also, the v4l folder needs to be extended with a new subfolder with headers from the appropriate kernel 3.x.y version. Makefile must be altered, in order to copy and use the 3.x. headers, and not 2.6. or 2.4. headers (the part near the top with copying written inside).
Also, the above mentioned path to symbolic links needs to be altered, i.e. :
cd /usr/src sudo tar jxvf /usr/src/linux-source-3.0.0.tar.bz2 cd cd installer/AF903x_SRC ln -s /usr/src/linux-source-3.0.0/drivers/media/dvb/frontends/*.h . ln -s /usr/src/linux-source-3.0.0/drivers/media/dvb/dvb-core/*.h . ln -s /usr/src/linux-source-3.0.0/drivers/media/dvb/dvb-usb/*.h . cd ..
After all this is done, then the manufacturer's installer can executed, as noted above. After a successfull instalation, the stick needs to be re-plugged or the usb subsystem or the computer restarted.
Kernel 3.5. and beyond
Native support built in since kernel 3.5. . Only the correct firmware must be obtained for the model (dvb-usb-af9035-02.fw). There are several revisions of the firmware, depending on the particular model used.