Leadtek Winfast 2000XP Expert Install HOWTO


Section 1: (preface)

This howto, hopefully, will be able to explain how to install these kinds of cards. All of the errors will be written down which i have seen during the process. If you still have any questions, write a mail to dss@sch.bme.hu.


Section 2: (preparation 1)

If your kernel contains Video For Linux support higher than 0.0.3 version (2.6.8 and higher versions of kernel do), then go to section 3 (the version can be found out by the "kernel's-source-directory/drivers/media/video/cx88/cx88.h" file's line which contains #define CX88_VERSION_CODE KERNEL_VERSION(x,y,z) - where x,y,z mean the version number seperated by commas instead of dots). But if you don't have a good version of program, then first of all, you will need a cx88-version.tar.gz (version>0.0.3) file directly from this server or indirectly from http://bytesex.org/ (this is the OFFICIAL version; the file can be found at video4linux -> releases). If you are NOT A DEBIAN USER, jump to section 3, else (if you are a DEBIAN USER) you will have to replace the kernel's driver to the downloaded one or get the changed kernel from here and go to section 3.

If you want to replace this, then first you must compare the "kernel's-source-directory/drivers/media/video" and "kernel's-source-directory/drivers/media/video/cx88" to the downloaded file's directory. There will be some files which has exactly the same name - they must be overwritten by the newer ones. In the downloaded file's directory there will be some files remaining which can't be found in kernel. If these have the same names as files in "kernel's-source-directory/include/linux" or "kernel's-source-directory/include/media", then you must overwrite them. If there will still be some files, then search the already copied source files and look for #include lines. If these says #include <linux/remaining-file's-name> or #include <media/remaining-file's-name>, then they must be copied in "kernel's-source-directory/include/linux" or "kernel's-source-directory/include/media", but if #include "remaining-file's-name" looks like this, then using the "kernel's-source-directory/drivers/media/video" directory as actual, the path will be given by the string between " characters.

ATTENTION! If you couldn't replace your driver by reading the section above, then you still can send a letter to me with the kernel type (version,...) and the cx88 version.


Section 3: (preparation 2)

First you must check your compiler's version, it must be higher than 3.2 (to check this, write: cc --version or gcc --version). If you have lower version, then you must choose between updating your compiler or rewriting some code in the driver. If you replace your cc or gcc, then you can go to section 4. But if you choose modifing the code (of course, you don't have to update you compiler), you must edit "kernel's-source-directory/drivers/media/video/cx88/cx88-vbi.c" (in cx8800-0.0.4 this file was the only one which needed to be changed, later this file list can grow) and search for switch statement(s) (mostly those switches must be rewritten which contains dev->tvnorm->id variable). After finding these you must replace switches with simple if instructions.


Section 4: (compiling a kernel 1)

If you didn't have to download the cx88-version.tar.gz file or you had to, but you are a Debian user, then go to section 5.
First you must check your kernel. It has to have Video For Linux, I2C support and I2C bit-banging interfaces modules. If you don't know anything about what i am writing, then i suggest you to read the Kernel-HOWTO. If you don't have these in your kernel, then you must compile one. To make cx88 work you must enable Device Drivers -> I2C support, Device Drivers -> I2C support -> I2C Algorithms -> I2C bit-banging interfaces, Device Drivers -> Multimedia devices -> Video For Linux as modules (M before the option represents that it will be a module). After you have installed your new kernel and rebooted your computer with that, the downloaded file can be unpacked. To install the driver go to "cx88-version" directory and type make; make install; doc/MAKEDEV. If it didn't show error, then type as root: modprobe cx8800. If there were no errors, then your driver is complete.
In this way of making the driver if you restart your computer, the cx88 won't be in the kernel and cannot be used. To make it work, after reboot or halt you will always have to type the previous modprobe command. Go to section 6.


Section 5: (compiling a kernel 2)

If you haven't compiled a kernel before, then i suggest you to read the Kernel-HOWTO. For making the tv-tuner work you must decide between:

  • module: (WARNING! If you are a DEBIAN USER, then you MUSTN'T CHOOSE THIS.)
    ATTENTION! If you install this way, then to make the card work you will have to type a command after every restarting of the machine. If you don't want this, then choose built-in.
    To make the card work you must enable Code maturity level options -> Prompt for development and/or incomplete code/drivers as built-in (* before the option represents that it will be built-in), Device Drivers -> I2C support, Device Drivers -> I2C support -> I2C Algorithms -> I2C bit-banging interfaces, Device Drivers -> Multimedia devices -> Video For Linux, Device Drivers -> Multimedia devices -> Video For Linux -> Video For Linux -> Conexant 2388x (bt878 successor) support as modules during the kernel configuration (M before the option represents that it will be a module).
    After you have installed your new kernel, go to "kernel's-source-directory" and type Documentation/video4linux/bttv/MAKEDEV.
    Reboot your computer with the new kernel. By typing as root: modprobe cx8800 you can use the card (the previous modprobe command will always have to be written, if you want to use your card after starting of the machine). Go to section 6.
  • built-in:
    To make the card work you must enable Code maturity level options -> Prompt for development and/or incomplete code/drivers, Device Drivers -> I2C support, Device Drivers -> I2C support -> I2C Algorithms -> I2C bit-banging interfaces, Device Drivers -> Multimedia devices -> Video For Linux, Device Drivers -> Multimedia devices -> Video For Linux -> Video For Linux -> Conexant 2388x (bt878 successor) support as built-in during the kernel configuration (* before the option represents that it will be built-in).
    After you have installed your new kernel, go to "kernel's-source-directory" and type Documentation/video4linux/bttv/MAKEDEV.
    Reboot your computer with the new kernel. Go to section 6.


  • Section 6: (mission accomplished)

    Now, hopefully you can use your card. If you looking for a tv-watcher program which is good and user-friendly, i think tvime is an excellent choice. And if you are from Hungary, i can help you with config files to tvtime (here you can find the general config for tv - copy it to "tvtime-installed-directory/etc/tvtime"; here is the user config, which by the way contains the channels setup - MTV1, RTL Klub, TV2 -, copy the compressed file's contents to your home directory).


    STILL HAVE PROBLEMS?

    ProblemFixReason
    *** Warning: "__ucmpdi2" [drivers/media/video/cx88/cx8800.ko] undefined! message under kernel compilingchoose between updating your compiler (to version>=3.3) or rewriting some code in the driver; if you replace your cc or gcc, then you don't have to do anything else; but if you choose modifing the code (of course, you don't have to update you compiler), you must edit "kernel's-source-directory/drivers/media/video/cx88/cx88-vbi.c" (in cx8800-0.0.4 this file was the only one which needed to be changed, later this file list can grow) and search for switch statement(s) (mostly those switches must be rewritten which contains dev->tvnorm->id variable); after finding these you must replace switches with simple if instructionsold c compilers (like 2.95.4) are not able to make 64-bit wide switch statements
    Unknown symbol: __ucmpdi2 message under running modprobe commandsame as the previous rowsame as the previous row
    Segmentation fault message under running modprobe commandcompile the driver in the kernel, not as modules (if you don't know how, then read the part of section 2, which is written for Debian users) - IF YOU ARE NOT A DEBIAN USER AND HAVE THIS PROBLEM AND THIS SOLUTION WORKS FOR YOU, THEN PLEASE SEND ME A LETTER WITH YOUR OPERATION SYSTEM'S NAME AND VERSIONunknown
    no sounduse higher driver version than 0.0.3 (>=0.0.4)no support in lower version than 0.0.4
    strange noisesuse mono audio modeno support
    only black and white coloursuse higher hue and colour valueunknown

    Written by,
    DSS Production
    in 2004