EzCap DVB T Stick: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
(Kernel 3.5. and above now has native support as soon as pluged in.)
 
(5 intermediate revisions by 3 users not shown)
Line 12: Line 12:
* Fiti Power FC0011
* Fiti Power FC0011


Begin Michael Lamothe's Notes
''Begin Michael Lamothe's Notes''


I picked up this device in Australia from Dick Smith Electronics (DSE) labelled "Gadget Geek".
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'''.
Also, on sale in Australia inside a box which says '''Blaze HDTV Tuner''', inside which is another package which says '''MinTV DVB-T Stick'''.
Line 21: Line 21:




== Install instructions for using alternate manufacturer driver ==
== Install instructions for using alternate manufacturer driver (needed only in kernel prior to 3.5.) ==


I've pre-hacked the manufacturer's driver:
I've pre-hacked the manufacturer's driver:
Line 34: Line 34:
<pre>uname -r</pre>
<pre>uname -r</pre>


<pre>sudo apt-get install build-essential linux-headers-2.6.35-25-generic linux-source-2.6.35 kernel-package</pre>
<pre>sudo apt-get install build-essential linux-headers-2.6.35-27-generic linux-source-2.6.35 kernel-package</pre>


Extract the source,
<pre>sudo tar jxvf /usr/src/linux-source-2.6.35.tar.bz2</pre>


<pre>
<pre>
cd /usr/src
sudo tar jxvf /usr/src/linux-source-2.6.35.tar.bz2
</pre>

<pre>
cd
wget http://me-tv.googlecode.com/files/AF903x.tar.gz
wget http://me-tv.googlecode.com/files/AF903x.tar.gz
tar zxvf AF903x.tar.gz
tar zxvf AF903x.tar.gz
cd installer
cd installer/AF903x_SRC
ln -s /usr/src/linux-source-2.6.35/drivers/media/dvb/frontends/*.h .
cd AF903x_SRC
ln -s /usr/src/linux-source-2.6.35/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/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 .
ln -s /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/media/dvb/dvb-usb/*.h .
cd ..
cd ..
sudo ./installer.sh
</pre>
</pre>


Now run the manufacturer's installer,
Have tested this in Maverick using Me TV.


<pre>
If you run
sudo ./installer.sh
</pre>

If you run,


<pre>dmesg</pre>
<pre>dmesg</pre>


you should see
You should see,

<pre>
<pre>
DRIVER_RELEASE_VERSION : v9.08.14.1
DRIVER_RELEASE_VERSION : v9.08.14.1
Line 68: Line 77:
</pre>
</pre>


End Michael Lamothe's notes.
''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.
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 97: 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.


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.
So, just to be sure, substitute:
Also, the ''v4l'' folder needs to be extended with a new subfolder with headers from the appropriate kernel 3.x.y version.
<pre>
''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).
make
sudo make install
depmod -a
</pre>

with:


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'' (as of september 2010 deprecated) ''':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]]
* 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. EzTV USB DVB-T internals 3243.jpg 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. Jump to the place where you can edit this entry

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:

  1. The source extracted from the manufactuter's driver
  2. The missing crystal frequencies commented out from line 178-187
  3. 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.

References