USB DVB-T based on the AF9035 chip and FC0011 tuner.

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 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.

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
For instance, I've installed
sudo apt-get install build-essential linux-headers-2.6.31-17-generic linux-source-2.6.31 kernel-package

Continue with downloading the needed driver-file from Terratec.
wget http://linux.terratec.de/files/Linux-Driver-for-T-Stick.rar

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).
sudo apt-get install rar rpm
then
rar x Linux-Driver-for-T-Stick.rar
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
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)
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 ./

Now we're ready to make and install...
make
sudo make install
depmod -a

reboot or do a
modprobe dvb_af903x

If you run
cat /var/log/messages | grep DVB
you should see
dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
DVB: registering adapter 0 frontend 0 (AF903X USB DVB-T)...
dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.

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.
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 incompatability between the Hauppauge driver and the Afatech, but I thought a heads up might be in place.



Happy TV-viewing,
Andreas Mattsson.