E3C EC168

From LinuxTVWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

This IC is used in many cheap DVB-T USB Sticks. It is currently unsupported under Linux.

EC168 Devices

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 18b4:1001
  • DUTV007B USB TNT Basic LIGHT from PC-Basic (Graphics) with MXL5003S tuner and has USB ID 18b4:1001.
  • DUTV009 SinoVideo 3420A-2 with MXL5003S but no eeprom (has USB ID 18b4:1689)
  • SKU08309 USB DVB-T TV Dongle with Remote from DealExtreme uses this chip and has USB ID 18b4:1689.
  • ??????? ZAP DVB-T USB stick
  • MM002V2 Sweex MM002V2 Microtune MT2060 silicon tuner 18b4:1689
  • Tvisto USB DVB-T with MXL5003S tuner 18b4:fffa

Without drivers, ubuntu 8.10 detect the dongle as an USB Keyboard :

[    8.729023] usb 3-2: new high speed USB device using ehci_hcd and address 2
[    8.844654] usb 3-2: configuration #1 chosen from 1 choice
[    8.844992] usb 3-2: New USB device found, idVendor=18b4, idProduct=1001
[    8.844994] usb 3-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    8.919832] input: HID 18b4:1001 as /devices/pci0000:00/0000:00:04.1/usb3/3-2/3-2:1.0/input/input5
[    8.922137] input,hidraw4: USB HID v1.11 Keyboard [HID 18b4:1001] on usb-0000:00:04.1-2

DUTV009 SinoVideo 3420A-2

DUTV009 PCB.jpg

No eeprom in this one

SKU 08309 USB DVB-T Dongle

SKU 08309 USB DVB-T Dongle requires Firmware-File called EC168BDA.bin contained in Windows Driver [1] Produced by E3C [2] (Tai-Hui Inc)

DUTV007B USB TNT Basic LIGHT (GRTNTUSBV4)

DUTV007B.JPG

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 [3]
  • EEPROM 24C02N I²C 0xA0 (256 Bytes) [4]

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

Uploading Firmware to the device

  • Firmware upload/download utility by Tanguy Pruvot : [5]

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,0x0000,0x01A0,buffer,0x1A);
#define CMD_EC168_STREAM    0x03 //R-X ex: dfu_ctrl(device,0x03,0/0x20,0xFF00);
                                 //    disable/enable streaming 
#define CMD_EC168_SET_POWER 0x04 //--X ex: dfu_ctrl(device,0x04,0/1,0x0008);
                                 //    disable/enable LED
                                 //    indexes seen: 206,208,8,9,A,B
#define CMD_EC168_UNKNOWN   0x10 //--X ???
#define CMD_EC168_READ_BUF  0x20 //R-- ex: dfu_ctrl_get(device,0x20,0x0000,0x01A0,buffer,0x1A); 
#define CMD_EC168_WRITE_BUF 0x21 //-W- 
#define CMD_EC168_SET       0x30 //--X ex: dfu_ctrl(device, 0x30, 0x0709, 0x1A);

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