Zolid USB DVB-T tuner (van de Aldi) Linux drivers.

Cellie zit graag voor een dubbeltje op de eerste rang. Recentelijk was er een USB DVB-T stick te koop bij de Aldi voor maar 20 euro. Die kon Cellie niet laten liggen en is nu dus de trotse eigenaar van een DVB-T tuner. Natuurlijk stonden er geen drivers voor Linux op de meegeleverde cd en het duurde maar liefst 14 dagen voor Cellie drivers gevonden had en kon genieten van de matige kwaliteit van Digitenne.
En dan alleen nog Nederland 1, 2, 3 en wat regionale zenders. Maar het werkt.

Hier onder vind je de stappen die je met Ubuntu 10.04 moet volgen om de driver te installeren.

Het stappenplan:

  1. We installeren eerst gcc en de linux-headers met het volgende commando:
    sudo apt-get install linux-headers-$(uname -r) gcc
  2. Download de gepatchte 32-bit sources van de drivers.
  3. Pak het archief uit naar een nieuwe folder, in dit voorbeeld ~/Desktop/aldidrivers.
  4. Open een terminal en cd naar de folder die je net hebt aangemaakt:
    cd ~/Desktop/aldidrivers
  5. Start het installatie script:
    sudo sh installer.sh
  6. Bij het menu dat er als volgt uitziet, kies 1.
    Kernel Version : 2.6.32-24-generic-pae
    1. Install ITEtech IT9135 Driver
    2. Remove  ITEtech IT9135 Driver
    Please Input Your Choise:
  7. Als de driver met goed gevolg gecompileerd is zie je de volgende boodschap:
    Driver Installer finished

De driver is nu geinstalleerd en de USB stick is klaar voor gebruik.

Hier nog een archief met alle data.
Forumthread over de Zolid tuner.

De door Jamie gelinkte installatie scripts voor Ubuntu 10.10 zijn hier opgeslagen. ( Thanks Jamie! )

Update 14 mei 2011:
http://linuxtv.org/wiki/index.php/Kworld_UB499-2T is een goede start om deze usb tuner aan de praat te krijgen.

http://linuxtv.org/wiki/index.php/Kworld_UB499-2T is a good place to go to get your usb tuner going.

62 thoughts on “Zolid USB DVB-T tuner (van de Aldi) Linux drivers.

  1. I’ve been trying to compile this driver using the files in your archive. However, the make fails. I’ve tried two approaches – (1) using installer.sh and (2) invoking make in the IT9135_SRC directory. The first approach just gives an error message saying the make failed. The second approach gives a bit more info – the dvb-usb.h file cannot be found. This looks like an include path problem – can you help me track it down.

    I’m using Ubuntu 10.10.

  2. I’ve got a bit further with this. The first issue is that I’m using Linux version 2.6.35 and your kernel files only go up to 2.6.33. I therefore modified the Makefile to force it to copy the dvb-usb file, etc from kernel-2.6.33. The next problem is that usb2impl.c looks for autoconf.h in the ‘linux’ directory. However, it is now in ‘generated’. After making an update to get round this, I now get type mismatches in some of the compile stages. So, Im now reaching the conclusion that I don’t have a consistent set of files. Is there an updated release which will work with the OS version I’m using?

  3. Sorry, don’t have any clue as to how it does in 10.10.
    One of these days (really!) I will look into that matter, probably if I make the 10.10 switch myself.

  4. I am also tying to install this on Ubuntu 10.10 but get the same make file error and the driver will not install. The kernel source is present. If anybody can help me get this DVB stick driver working I would be very grateful. Thanks!

  5. (Dirty) hack to get this working on Ubuntu 10.10:

    sudo apt-get install linux-source
    cd /usr/src/
    tar xvfj linux-source-2.6.35.tar.bz2
    cp /usr/src/linux-source-2.6.35/drivers/media/dvb/dvb-usb/*.h /usr/src/IT9135_SRC [or wherever you extracted the driver package to]
    cp /usr/src/linux-source-2.6.35/drivers/media/dvb/dvb-core/*.h /usr/src/IT9135_SRC
    cp /usr/src/linux-source-2.6.35/drivers/media/dvb/frontends/*.h /usr/src/IT9135_SRC

    cd /usr/src/IT9135_SRC
    nano src/usb2impl.c
    [CHANGE #include to #include AND SAVE]

    make [ignore errors]
    make install

  6. ^^ should be change include linux/autoconf to generated/autoconf

  7. Hi thanks very much for your reply. I tried the above and it works (using sudo each time) except the usb2impl.c file does not exist, so when I nano it, it’s empty. Do you know what the problem is? Also, I don’t really know what the implications are here. It wouldn’t stop me updating the kernel using the update manager would it? Or would it just require I go through this process after each kernel update?

    Thanks for your help,


  8. Ah, it may help if I tell you that the IT9135 source files that I got emailed from ITE contains only the following files:

    I believe that this is the latest version available (

    I think that the earlier version linked in the above article may contain the file you are referring to. Should I use the version listed here dated around July or this later version sent by ITE?



  9. Even when compiled with the (dirty) hack tha module fails to load on Ubuntu 10.10 2.6.35-24 and a Dell Vostro 1015 laptop.

    [ 7482.057050] usb 2-2: new high speed USB device using ehci_hcd and address 3
    [ 7482.198054] input: ITE Technologies, Inc. as /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.1/input/input11
    [ 7482.202848] generic-usb 0003:048D:9006.0003: input,hidraw2: USB HID v1.01 Keyboard [ITE Technologies, Inc.] on usb-0000:00:1d.7-2/input1
    [ 7482.427339] dvb_usb_it9135: disagrees about version of symbol dvb_usb_device_init
    [ 7482.427344] dvb_usb_it9135: Unknown symbol dvb_usb_device_init (err -22)

    As a workaround I installed a 2.6.33 kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.33.7-maverick/

    I can boot with this kernel, compile, install and use the device without problems.
    (I need to manually load the wifi driver though with sudo modprobe -r ssb then sudo modprobe wl)

  10. ITEtech IT9135 DVB-T USB Linux TV Driver Installation Guide
    Copyright (C) 2007-2010 ITE Technologies, INC.

    1. Release note

    This software package release.
    Driver component version information:
    DRIVER_RELEASE_VERSION : v10.12.30.1
    FW_RELEASE_VERSION : v1_0_25_5
    API_RELEASE_VERSION : 201.20101007.3
    The driver is for ITEtech 9135 based USB TV module and operates
    on Linux platform.
    This release supports x86 32bit and 64bit CPU families in Linux kernel 2.6.36.

    Latest official firmware (working fine on 10.10):


  11. The link at rapidshare does not seem to work. Jamie, could you share this latest release somehow?

  12. See the original post ^^ – cellie has kindly rehosted the files 🙂

  13. Great. It works!
    Bit confused though, are all the files now in the installer.sh?


  14. Hi,

    I also tried to install the ITE src files, but there is no makefile. I am actually noob about
    installing kernels, so if this is nescesary, it stop at my point. Strange where all these src files are installed, can you remove them?


  15. Yep all the required files are packaged in the installer.sh now, it extracts them all temporarily when you run the script.

    Bart: all you need to do is:

    download & extract the zip file
    chmod +x IT9135_Installer_i686.sh
    type 1 and press enter to install

    Simple as that!

    (replace IT9135_Installer_i686.sh with IT9135_Installer_x64.sh if appropriate)

  16. Jamie,

    Is this the zipfile from the top of the post or from the rapidshare, because rapidshare says this file is not available.

    And with your advice I have this error again; Driver Installer failed


  17. Pingback: MythTV KWorld UB499-2T DVB USB Stick installed or not?? MythTV

  18. got that Cinergy T Stick mini the day before yesterday — my birthday =.-). unfortunatelly, the giver was my 70 year old mother, not knowing there are more things around than Mac OS X. anyway, i plugged it in, checked Cinergy’s vendor ID, found out it’s a 048d:9135, and googled for a few minutes. thx god you did such a great work on it, bro… =:-)

  19. Ooops, 2nd, sorry for this. I just would like to post how i found your site — i came to it via http://www.linuxtv.org/wiki/index.php/Kworld_UB499-2T, and i did exactly as mentionend there.

    BTW, i use Ubuntu 10.04.2 LTS, yet i prefer K(DE)affeine as my favourite DVB-T player. So after my Ubuntu box was right — installed all neccessary codecs, sources, kernel-headers, etc., — just check that out yourself by playing a copy protected DVD, a DivX, a MKV — i followed the instruction in the above mentionend URI, everything went well. With just one exception: a simple modprobe dvb-usb-it9135 was not enough, Kaffeine just didn’t found the stick, although it has been shown by lsmod. Anyway, after a reboot i was able to succeed. =:-)

    Again, thank you very much for your excellent work, and many greets from your neighbours Rhein-Main-area.

  20. just trying to compile it for 2.6.38-8-generic #42-Ubuntu:
    – added v4l/kernel-2.6.38 with 10 header files from 2.6.38
    – added @cp for these files
    – corrected type.h (#end#)

    root@unb1010:~/ALDI/installer/IT9135_SRC# make
    make -s -C /lib/modules/2.6.38-8-generic/build SUBDIRS=/home/uwl/ALDI/installer/IT9135_SRC modules
    /home/uwl/ALDI/installer/IT9135_SRC/it9135-core.c:125:2: error: unknown field ‘ioctl’ specified in initializer
    /home/uwl/ALDI/installer/IT9135_SRC/it9135-core.c:125:2: warning: initialization from incompatible pointer type
    make[2]: *** [/home/uwl/ALDI/installer/IT9135_SRC/it9135-core.o] Error 1
    make[1]: *** [_module_/home/uwl/ALDI/installer/IT9135_SRC] Error 2
    make: *** [default] Error 2

    static struct file_operations it9135_usb_fops ={
    .owner = THIS_MODULE,
    .read = it9135_usb_read,
    .ioctl = it9135_usb_ioctl,
    .open = it9135_usb_open,
    .release = it9135_usb_release,

    as I can see, file_operations doesn’t have ioctl member any more. What can be used at this place? Any idea?

  21. Hello,
    I tried to install the driver, but it fails.
    I followed the instructions by Jamie:

    Quote :
    Jamie says:
    25/01/2011 at 01:22

    Yep all the required files are packaged in the installer.sh now, it extracts them all temporarily when you run the script.

    Bart: all you need to do is:

    download & extract the zip file
    chmod +x IT9135_Installer_i686.sh
    type 1 and press enter to install

    Simple as that!

    after pessing “1” i get this:

    “1. Install ITEtech IT9135 Driver
    2. Remove ITEtech IT9135 Driver
    Please Input Your Choise:
    Please wait a minute
    make -s -C /lib/modules/2.6.38-8-generic/build SUBDIRS=/tmp/ite-install/installer/IT9135_SRC modules
    make error

    Driver Installer failed”

    Anyone an idea?

  22. I have the same problem with a Cinergy T Stick Mini (AF9135) from Terratec.. “driver installer failed”

    Does anybody have a solution to install it for kernel 2.6.38 (ubuntu 11.04)

    It did work on ubuntu 10.10 but I made a full install of 11.04 from scratch and it’s the only piece i cannot install back…:-(

    Plz I don’t want to run windows just to be able to watch tv…:-(

  23. Hey shamen456,

    feels good to see that i am not the only one who isnt able to get this thing working…

    Do you already know this page? http://www.linuxtv.org/wiki/index.php/Kworld_UB499-2T
    Maybe there is an update for this stick published there in the next few days.

    I also had the idea to fall back to an older kernel which is definitlty supported but i have no clue how to do this ( i am afraid of destructing the system)


  24. maybe a way to investigate…(seen on a traduction from a forum here http://forum.ubuntu-fi.org/index.php?topic=38745.0 )

    “‘IT9135 = AF9035 + AF9033 + tuners.”

    but I don’t read finlandian(?) and google traduction is very bad for the forums…

    does it mean that we have to install AF9035 and AF9033..?

    I’ll try this on monday if I have some time…

  25. I am having same problem with 11.04 – Have 2 machines built with 11.04 and don’t want to revert to 10.xx just to use TV.

    Hope someone with smarts can fix this

  26. Thank You Jodl,

    It was a long work…but finally It works…;-)

  27. Jodi,

    Following everything, and it seems to work except for the following.

    The kernel extraction process creates all the files except the dvb-usb.h and dvb-usb-ids.h files

    The script lists
    processing dvb-usb.h but not the output file….

    The src files seem to be there in usr/src/linux-2.6.38-8-generic, but don’t get created

    I assume that when I get that working the make will work

    What am I doing wrong?

    Trev B

  28. also tried the manual from linuxtv.org but it doesn’t work… but maybe i’m just to stupid to figure out what’s the correct way to apply this work arround….

  29. Well, I followed the instructions by Jodi, all went well. But still can not watch TV.
    I had no errors during the “make” and the “make install”

    “dmesg | grep -i dvb” outposts this:

    dvb_usb_it9135: disagrees about version of symbol dvb_usb_device_init
    dvb_usb_it9135: Unknown symbol dvb_usb_device_init (err -22)

    Jodi had the same error, said was using the wrong kernel source…
    But I grabbed my source via synaptic, there is only one possible source…
    I am really frustrated right now, don’t know what to do next.

    Anybody out there with a solution???

  30. Well, I’m exactly in the the same situation as Dermeineeine:

    dvb_usb_it9135: disagrees about version of symbol dvb_usb_device_init
    dvb_usb_it9135: Unknown symbol dvb_usb_device_init

    I’m on Ubuntu 10.04 server with kernel 2.6.32-26-server

    I tried with the exact same kernel source, kernel source generic and official kernel source. All give me the same error message and module don’t load

    I’m getting crazy

    If someone has an idea ?

  31. Well, I finally made it. I can watch TV now with kaffeine. I removed the driver. Then reinstalling the kernel, headers, image and source via synaptic did the trick.

  32. For me, this is useless. I’ve tried everything, but still without success. It was a pain, but I finally got it compile, but modprobe fails:

    modprobe dvb-usb-it9135 FATAL: Error inserting dvb_usb_it9135 (/lib/modules/2.6.39-0.slh.3-aptosid-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it9135.ko): Unknown symbol in module, or unknown parameter (see dmesg)

    [ 1036.955198] dvb_usb_it9135: Unknown symbol __stack_chk_fail (err 0) [ 1036.955493] dvb_usb_it9135: Unknown symbol mcount (err 0)

    The same with firckelplatz kernel. I don’t think kernel sources are wrong. I’m not sure what exactly full kernel sources are needed (why kernel headers are not enough), but downloaded source will never match, because some files changes during kernel compilation procedure.

    Maybe I should download vanilla kernel from kernel.org, compile it from scratch and then use sources I have?

    How do you think?

  33. I get the same errors as giaur, both on 32-bit and 64-bit (tried on different openSUSE kernels).

  34. Refers: IT9135 branded WandTV
    System: pure Debian (but mixed)
    Kernel: 2.6.38 from source

    That “__stack_chk_fail” and “mcount” errors gave me some pain… The driver easily compiled on older Debian (kernel
    didn’t work as described. BUT the solution is:
    use the older driver:
    Ungzip, untar, and:
    -add the section to Makefile:
    ifneq (,$(findstring 2.6.38,$(CURRENT)))
    @cp -f v4l/kernel-2.6.38/* ./
    (or whatever kernel you run)
    -add proper path do v4l:
    kernel-2.6.38 (in my case, i just copied path kernel-2.6.33)
    -overwrite the files there with files from your kernel source (dvb_frontend.h dmxdev.h dvb_ringbuffer.h dvb_demux.h dvb-pll.h dvb-usb.h dvb_net.h dvbdev.h demux.h dvb-usb-ids)
    -change IT9135_SRC/src/it9135-core.c:
    – .ioctl = it9135_usb_ioctl,
    + .unlocked_ioctl = it9135_usb_ioctl,
    -change IT9135_SRC/src/usb2impl.c:
    – #include
    + #include

    make install
    Works in my case.

    So basically it’s what works for Kworld UB499-2T, but just use the older drivers (Version_DATE 20100302).

  35. “copy and paste” mistake above, the last change before compilation:
    -change IT9135_SRC/src/usb2impl.c:
    – #include
    + #include

    My WandTV id is: 048d:9006

    The “__stack_chk_fail” and “mcount” problem seems to be related to newer libc6 (2.13-7 vs. 2.11.2-2 on older Debian, where the compilation was OK)?

  36. To Janusz:

    I’m not sure what do you mean here:

    “-change IT9135_SRC/src/usb2impl.c:
    – #include
    + #include ”

    So… I’m confused, which include should I remove from this file and what to add – can you please describe this?

  37. Ok I confirm this does not work – don’t ever try and don’t waste your time. I compiled module as Janusz described, and still the same error exist – it’s impossible to modprobe as I wrote above (and Roger Whittaker confirmed).

    I also tried ubuntu kernel 2.6.37 on the same system with newer glib and everything works fine. So, I don’t think that glib version matters.

    It rather seems that errors are caued due to blob binary stuff from DemodApi directory (some precompiled .o files) – I think they some functions not present when using newer kernels.

  38. As I suspected, “__stack_chk_fail” and “mcount” errors are caused by wrong version of binary part (object files from DemodApi directory). It works only if I use oldest drivers.

    It works, but this driver seems to be buggy. It never works after system boot – I need to plug and unplug hardware to make it work. But, there is also worse thing – very often, after I insert tuner into usb, kernel panic messages are thrown and system stops to work at all.

  39. As for __stack_chk_fail” and “mcount”:

    obj files included in driver package are compiled with -fstack-protector GCC feature and kernel stack tracing feature on.

    Your kernel must export those symbols:

    1) enable in your kernel sources CONFIG_CC_STACKPROTECTOR option (make menuconfig, “Processor type and features” -> “Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)” = yes)
    2) enable in your kernel sources CONFIG_STACK_TRACER option (“Kernel hacking” -> “Tracers” -> “Trace max stack” = yes)
    3) recompile jsou kernel
    4) recompile IT9135 module source

    …and everything is gonna be OK. 😉

    Quality of IT9135 driver is really low, but you know…

Comments are closed.