E3C EC168

From LinuxTVWiki

(Difference between revisions)
Jump to: navigation, search
(EC168 Devices)
(EC168 Devices: some cleanup and lots of external link)
Line 4: Line 4:
==EC168 Devices==
==EC168 Devices==
 +
 +
{{Note| The list of devices here is quite a mess. Mostly because cheap EC168 devices are sold under a bazillion different pseudo brands and generic names. That makes it hard to trace the original manufacturer so if you know any better please correct the information on this page.
 +
 +
* If you own such a device please check the pictures below to see if your device is already here.
 +
** If it is then please add the brand and device name you bought it as.
 +
** If your device is not yet here please open it up and see whats inside. (Sometimes the plasic case can differ but the innards are just the same.)
 +
 +
And please, if your device or its PCB differ from the ones that are here, please take some pictures and add them.
 +
}}
Known USB IDs are 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001 and 18b4:1002 (for devices with a second tuner).
Known USB IDs are 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001 and 18b4:1002 (for devices with a second tuner).
-
* DUTV002    Shen Zhen MinTV-DVB-T Stick (USB ID 18b4:1001)
+
 
-
* DUTV007B    USB TNT Basic LIGHT from PC-Basic (Graphics) with [[MXL5003S]] tuner and 256 byte EEPROM 24C02N (USB ID 18b4:1001).
+
* Sweex MM002V2 Microtune [[MT2060]] silicon tuner (USB ID 18b4:1689)
-
* DUTV009    SinoVideo 3420A-2 with [[MXL5003S]] but no eeprom (USB ID 18b4:1689/18b4:fffb)
+
* Tvisto USB DVB-T with [[MXL5003S]] tuner (USB ID 18b4:fffa)  
-
* SV3420D-V02 SinoVideo SV3420D-V02 with [[MXL5003S]]. (USB ID 18b4:1689)
+
* ZAP DVB-T USB stick with [[MXL5003S]] tuner and no external eeprom. (USB ID 18b4:1689)  
-
* SKU08309    USB DVB-T TV Dongle with Remote from DealExtreme uses this chip. (USB ID 18b4:1689)
+
 
-
* MM002V2    Sweex MM002V2 Microtune [[MT2060]] silicon tuner (USB ID 18b4:1689)
+
===DUTV002 MinTV-DVB-T Stick===
-
*             Tvisto USB DVB-T with [[MXL5003S]] tuner (USB ID 18b4:fffa)  
+
 
-
*             ZAP DVB-T USB stick with [[MXL5003S]] tuner and no external eeprom. (USB ID 18b4:1689)  
+
USB ID: 18b4:1001
-
* WS-DVBTM2 Tevion USB-DVB-T Stick from Hofer/Aldi
+
 
 +
Tuner: MT2060
 +
 
 +
Sold as
 +
* "MinTV-DVB-T Stick" by Shenzhen ForwardVideo.Co.,Ltd. [http://cathyvideo.en.ec21.com/product_detail.jsp?group_id=GC01773338&product_id=CA01773364&product_nm=MinTV-DVB-T_Stick_]
 +
* DUTV007 [http://www.szforwardvideo.com/product/Pro_9_7.html] (please note that it is DUTV007 not DUTV007A or DUTV007B)
 +
* DUTV002 [http://www.zenithdubai.com/DUTV002.html]
 +
 
 +
Linux owner
 +
* Marco Rossini [http://www.qbik.ch/usb/devices/showdev.php?id=4355]
===DUTV009 SinoVideo 3420A-2===
===DUTV009 SinoVideo 3420A-2===
[[Image:SV-3420A-top.JPG|thumb]]
[[Image:SV-3420A-top.JPG|thumb]]
-
SinoVideo 3420A-2 with [[MXL5003S]] (USB ID 18b4:1689/18b4:fffb)
+
USB ID: 18b4:1689/18b4:fffb (can anybody confirm that second USB ID ?)
 +
Tuner: [[MXL5003S]]
 +
 +
Sold as:
 +
* SinoVideo 3420A-2
 +
* "EzTV DUTV009 USB DVB-T Receiver" by [http://www.szforwardvideo.com/product/Pro_5_7.html ForwardVideo]
 +
* "USB DVB-T TV Dongle with Remote SKU 8309" by [http://www.dealextreme.com/details.dx/sku.8309 DealExtreme]
 +
 +
The firmware file EC168BDA.bin is contained in the Windows driver directory.
 +
 +
External links:
* [http://plone.lucidsolutions.co.nz/dvb/t/usb/sinovideo-3420a-2 A Linux owner site]
* [http://plone.lucidsolutions.co.nz/dvb/t/usb/sinovideo-3420a-2 A Linux owner site]
* [http://www.sinovideo.com.cn/en/lib/2009/03/08/173002393/ Manufacturer product page]
* [http://www.sinovideo.com.cn/en/lib/2009/03/08/173002393/ Manufacturer product page]
Line 31: Line 59:
-
===SinoVideo SV3420D-V02===
+
===SinoVideo SV3420D===
[[Image:Dvb-t-usb-sinovideo-sv3420d-v02-005.jpg|thumb]]
[[Image:Dvb-t-usb-sinovideo-sv3420d-v02-005.jpg|thumb]]
-
SinoVideo 3420D with [[MXL5003S]] (USB ID 18b4:1689).
+
USB ID: 18b4:1689
 +
Tuner: [[MXL5003S]]
 +
 
The PCB says ''SV3420D-V02''.
The PCB says ''SV3420D-V02''.
Apparently produced by SinoVideo and sold under lots of different names.
Apparently produced by SinoVideo and sold under lots of different names.
-
* [http://www.sinovideo.com.cn/en/ Manufacturer]
+
Sold as
-
* [http://www.sinovideo.com.cn/en/lib/2009/03/11/162409936/ Product page]
+
* SinoVideo 3420D [http://www.sinovideo.com.cn/en/lib/2009/03/11/162409936/ Product page]
 +
 
 +
External links:
 +
* [http://www.sinovideo.com.cn/en/ Manufacturer(?)]
As the windows driver CD is labeled ''SV3420A'' and timestamps are rather old, I suspect that the drivers didn't change since SV3420A. Equally the Linux driver should work for all revisions.
As the windows driver CD is labeled ''SV3420A'' and timestamps are rather old, I suspect that the drivers didn't change since SV3420A. Equally the Linux driver should work for all revisions.
Line 55: Line 88:
</gallery>
</gallery>
-
===SKU 08309 USB DVB-T Dongle===
 
-
SKU 08309 USB DVB-T Dongle requires Firmware-File called EC168BDA.bin contained in Windows Driver [http://www.e3ctech.com/download/TVGo_Genius.rar TVGo_Genius.rar]
 
===WS-DVBTM2 Tevion USB-DVB-T===
===WS-DVBTM2 Tevion USB-DVB-T===
 +
Cheap offer at Hofer (Aldi) in Austria. Has an EC168 and MXL5003s built in, which refers to the E3C reference design.
Cheap offer at Hofer (Aldi) in Austria. Has an EC168 and MXL5003s built in, which refers to the E3C reference design.
Reffering to the link, the system only freezes after loading the dvb-usb-ec168.ko module under debian 5.0 unstable. All other modules load fine. Maybe other distros and/or hardware has better success.
Reffering to the link, the system only freezes after loading the dvb-usb-ec168.ko module under debian 5.0 unstable. All other modules load fine. Maybe other distros and/or hardware has better success.
Line 67: Line 99:
[[Image:DUTV007B.JPG|thumb]]
[[Image:DUTV007B.JPG|thumb]]
 +
 +
USB ID: 18b4:1001
 +
 +
Tuner: [[MXL5003S]]
 +
 +
Sold as
 +
* DUTV007B USB TNT Basic LIGHT from PC-Basic (Graphics)
Same USB descriptors as SinoVideo 3420A-2, but with another PID... IR is detected directly by the hidraw driver (usbhid)
Same USB descriptors as SinoVideo 3420A-2, but with another PID... IR is detected directly by the hidraw driver (usbhid)

Revision as of 21:38, 29 April 2009

An USB controller, that also contains an embedded DVB-T demodulator, produced by Tai-Hui and marketed under the brand name e3C Technologies.

This IC is used in many cheap DVB-T USB Sticks. Support is currently very experimental under Linux. (Only the combination with MXL5003S will work and only with 7 and 8 MHz channels.)

Contents

EC168 Devices

Note: The list of devices here is quite a mess. Mostly because cheap EC168 devices are sold under a bazillion different pseudo brands and generic names. That makes it hard to trace the original manufacturer so if you know any better please correct the information on this page.
  • If you own such a device please check the pictures below to see if your device is already here.
    • If it is then please add the brand and device name you bought it as.
    • If your device is not yet here please open it up and see whats inside. (Sometimes the plasic case can differ but the innards are just the same.)

And please, if your device or its PCB differ from the ones that are here, please take some pictures and add them.

Known USB IDs are 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001 and 18b4:1002 (for devices with a second tuner).

  • Sweex MM002V2 Microtune MT2060 silicon tuner (USB ID 18b4:1689)
  • Tvisto USB DVB-T with MXL5003S tuner (USB ID 18b4:fffa)
  • ZAP DVB-T USB stick with MXL5003S tuner and no external eeprom. (USB ID 18b4:1689)

DUTV002 MinTV-DVB-T Stick

USB ID: 18b4:1001

Tuner: MT2060

Sold as

  • "MinTV-DVB-T Stick" by Shenzhen ForwardVideo.Co.,Ltd. [1]
  • DUTV007 [2] (please note that it is DUTV007 not DUTV007A or DUTV007B)
  • DUTV002 [3]

Linux owner

  • Marco Rossini [4]

DUTV009 SinoVideo 3420A-2

SV-3420A-top.JPG

USB ID: 18b4:1689/18b4:fffb (can anybody confirm that second USB ID ?)

Tuner: MXL5003S

Sold as:

  • SinoVideo 3420A-2
  • "EzTV DUTV009 USB DVB-T Receiver" by ForwardVideo
  • "USB DVB-T TV Dongle with Remote SKU 8309" by DealExtreme

The firmware file EC168BDA.bin is contained in the Windows driver directory.

External links:


SinoVideo SV3420D

Dvb-t-usb-sinovideo-sv3420d-v02-005.jpg

USB ID: 18b4:1689 Tuner: MXL5003S

The PCB says SV3420D-V02.

Apparently produced by SinoVideo and sold under lots of different names.

Sold as

External links:

As the windows driver CD is labeled SV3420A and timestamps are rather old, I suspect that the drivers didn't change since SV3420A. Equally the Linux driver should work for all revisions. Remote control part is recognized as HID device by the kernel.

Works with the driver from Antti's mercurial repository as described in [5]


WS-DVBTM2 Tevion USB-DVB-T

Cheap offer at Hofer (Aldi) in Austria. Has an EC168 and MXL5003s built in, which refers to the E3C reference design. Reffering to the link, the system only freezes after loading the dvb-usb-ec168.ko module under debian 5.0 unstable. All other modules load fine. Maybe other distros and/or hardware has better success. It's even impossible to load the firmware via dfu-ec168

DUTV007B USB TNT Basic LIGHT (GRTNTUSBV4)

DUTV007B.JPG

USB ID: 18b4:1001

Tuner: MXL5003S

Sold as

  • DUTV007B USB TNT Basic LIGHT from PC-Basic (Graphics)

Same USB descriptors as SinoVideo 3420A-2, but with another PID... IR is detected directly by the hidraw driver (usbhid)

The PC-Basic v4 USB Stick contains following chips :

  • EC168 (USB 2.0 µ-controller, could be also a preprogrammed AVR or PIC)
  • Maxlinear MXL5003S Tuner [6]
  • EEPROM 24C02N I²C 0xA0 (256 Bytes) [7]

The windows driver also upload a 7109-bytes sized firmware (EC168BDA.bin) to get the device working...

Uploading Firmware to the device

  • EC168 Direct Firmware Upload tool based on libusb by Tanguy Pruvot : dfu-ec168

Something interresting with this device : We can patch USB ID and descriptors included in the firmware and/or device memory...

Known USB requests

#define CMD_EC168_RAM       0x00 //RW- Read/Write RAM (Firmware go to addr 0-0x1EFF)
#define CMD_EC168_GETSTATUS 0x01 //R-- ex: dfu_ctrl_get(device,0x01,0,1,buffer,1);
                                 //        to know if firmware is ready
#define CMD_EC168_STREAM    0x03 //R-X ex: dfu_ctrl(device,0x03,0/0x20,0xFF00);
                                 //        disable/enable streaming 
#define CMD_EC168_SET_POWER 0x04 //R-X ex: ex: dfu_ctrl(device,0x04,0/1,index); dfu_ctrl_get(device,0x04,0,index,buffer,1);
                                 //        disable/enable LED : index=8
                                 //        indexes seen in trace: 0x8,0x9,0xA,0xB,0x206,0x208 - Not a Binary Mask !
#define CMD_EC168_UNKNOWN   0x10 //--X ???
#define CMD_EC168_READ_BUF  0x20 //R-- ex: dfu_ctrl_get(device,0x20,0x0000,0x01A0,buffer,0x1A); 
                                 //        read eeprom ?
#define CMD_EC168_WRITE_BUF 0x21 //-W- 
#define CMD_EC168_SET       0x30 //--X ex: dfu_ctrl(device, 0x30, 0x0709, 0x1A);
                                 //        set IR Key ?

Identification

USB subsytem ID is: 18b4:1001

output of 'lsusb -vv -d 18b4:1001':

Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0        64
 idVendor           0x18b4
 idProduct          0x1001
 bcdDevice            0.02
 iManufacturer           0
 iProduct                0
 iSerial                 0
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           50
   bNumInterfaces          2
   bConfigurationValue     1
   iConfiguration          0
   bmAttributes         0x80
     (Bus Powered)
   MaxPower              100mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass         3 Human Interface Device
     bInterfaceSubClass      1 Boot Interface Subclass
     bInterfaceProtocol      1 Keyboard
     iInterface              0
       HID Device Descriptor:
         bLength                 9
         bDescriptorType        33
         bcdHID               1.11
         bCountryCode            0 Not supported
         bNumDescriptors         1
         bDescriptorType        34 Report
         wDescriptorLength      63
        Report Descriptors:
          ** UNAVAILABLE **
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0008  1x 8 bytes
       bInterval               7
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        1
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface              0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 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      1
Device Status:     0x0001
 Self Powered

External Links

Personal tools