Leadtek WinFast DTV2000DS PLUS

From LinuxTVWiki
Revision as of 11:12, 4 November 2013 by Jaredquinn (Talk | contribs)

Jump to: navigation, search


This is a dual tuner DVB-T PCI card. It uses an onboard VIA PCI-USB bridge so behaves like a USB device, with USB ID 0413:6f12.

It has the RealTek RTL2832U chipset, unlike its sibling the Leadtek WinFast DTV2000DS which has the Afatech AF9015 and AF9013 chipset. Therefore drivers for the non-plus version will certainly not work.

Note that the official Leadtek product page [1] falsely states that it has the AF9015 and AF9013.

The card is currently unsupported, but it is possible to get it working with the existing RTL2832U drivers - see below. It may be similar to the Mygica T1800B PCI card, since they have very similar general specifications.


Output of lsusb -v:

Bus 003 Device 002: ID 0413:6f12 Leadtek Research, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0413 Leadtek Research, Inc.
  idProduct          0x6f12 
  bcdDevice            1.00
  iManufacturer           1 Realtek
  iProduct                2 WinFast DTV2000 DS Plus
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 USB2.0-Bulk&Iso
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              5 Bulk-In, Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      2
Device Status:     0x0000
  (Bus Powered)

Use with jaredquinn's driver

I have gotten this card to work by patching the Ambrosa project (listed below) and keeping it updated to work with the latest Linux kernel sources (right up to 3.11.4 currently).

1- Ensure you have a full compile kit, Linux Source and git.

$ sudo apt-get install build-essential linux-headers-$(uname -r) linux-source-$(uname -r) git

2- clone the repository using git and go to source directory

$ git clone https://github.com/jaredquinn/DVB-Realtek-RTL2832U.git
$ cd DVB-Realtek-RTL2832U/src 

3- build it!

$ make


  • In Ubuntu you may need to extract/unpack the kernel source or have a suitable symlink at /usr/src/linux-source-$(uname -r)

Use with Ambrosa's driver in Xubuntu 12.04

I have got this card to work using this driver [2] in Xubuntu 12.04 with the kernel. I followed the instructions in the driver's README and made one minor edit. The full process is described here. Please note: distro selection is important. The driver only compiles against 3.2.x kernel headers, so Xubuntu 12.04.1 is okay, but for 12.04.2 (3.5.0 kernel) the compile will fail.

1- Install compile kit, linux headers and git

$ sudo apt-get install build-essential
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get install git 

2- clone the repository using git and go to source directory

$ git clone https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0.git
$ cd DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0 

3- edit Makefile to change the option INCLUDE_EXTRA_DVB to suit the 3.2 kernel. This means commenting out the line "INCLUDE_EXTRA_DVB := include-300" and uncommenting the line "INCLUDE_EXTRA_DVB := include-320". Obviously don't do this if you have a 3.0 kernel. (3.0 kernel is untested with this card).

4- Now the special step! Edit the header file rtl2832u.h so that our device is recognised. The simplest way is to find the line
"#define USB_PID_LEADTEK_WARM_2 0x6F11"
and change the last digit to 2 so it reads
"#define USB_PID_LEADTEK_WARM_2 0x6F12".
This means we have stolen the Product ID of another Leadtek device that uses this driver. Simply adding a new line like
"#define USB_PID_LEADTEK_WARM_4 0x6F12"
is not sufficient.

5- Now continue with the README instructions. Compile the code, install and insert the module.

$ make clean
$ make
$ sudo make install
$ sudo modprobe dvb_usb_rtl2832u

The driver module should now load automatically each time you boot. This method worked with Scan and VLC. (Create a channels.conf file with scan, then open the file in VLC, or run $ vlc channels.conf).

The driver seems to cause problems with suspend.