E3C EC168: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
The E3C EC168 is used in many cheap DVB-T Sticks. |
The E3C EC168 is used in many cheap DVB-T Sticks. |
||
It is currently unsupported under Linux. |
It is currently unsupported under Linux. |
||
==DVB-T Devices== |
|||
Known USB IDs are 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001 and 18b4:1002 (second tuner). |
Known USB IDs are 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001 and 18b4:1002 (second tuner). |
||
Line 20: | Line 22: | ||
[ 8.922137] input,hidraw4: USB HID v1.11 Keyboard [HID 18b4:1001] on usb-0000:00:04.1-2 |
[ 8.922137] input,hidraw4: USB HID v1.11 Keyboard [HID 18b4:1001] on usb-0000:00:04.1-2 |
||
==SinoVideo 3420A-2== |
===SinoVideo 3420A-2=== |
||
No eeprom in this one [[Image:http://plone.lucidsolutions.co.nz/dvb/t/usb/images/SV-3420A%20-PCB%20top.JPG]] |
No eeprom in this one [[Image:http://plone.lucidsolutions.co.nz/dvb/t/usb/images/SV-3420A%20-PCB%20top.JPG]] |
||
Links: [http://plone.lucidsolutions.co.nz/dvb/t/usb/sinovideo-3420a-2] |
Links: [http://plone.lucidsolutions.co.nz/dvb/t/usb/sinovideo-3420a-2] |
||
==SKU 08309 USB DVB-T Dongle== |
===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] |
SKU 08309 USB DVB-T Dongle requires Firmware-File called EC168BDA.bin contained in Windows Driver [http://www.e3ctech.com/download/TVGo_Genius.rar] |
||
Produced by E3C [http://www.e3ctech.com/products.html] (Tai-Hui Inc) |
Produced by E3C [http://www.e3ctech.com/products.html] (Tai-Hui Inc) |
||
==GRTNTUSBV4 USB TNT Basic LIGHT== |
===GRTNTUSBV4 USB TNT Basic LIGHT=== |
||
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) |
||
Line 42: | Line 44: | ||
Maybe the next (5th) version (which has the same enclosure) but also named dutv005 [http://sites.google.com/site/moosyresearch/dutv005] |
Maybe the next (5th) version (which has the same enclosure) but also named dutv005 [http://sites.google.com/site/moosyresearch/dutv005] |
||
==Uploading Firmware to the device== |
|||
* Firmware upload utility by Tanguy Pruvot : [http://tanguy.ath.cx/index.php?q=EC168] |
* Firmware upload/download utility by Tanguy Pruvot : [http://tanguy.ath.cx/index.php?q=EC168] |
||
==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 read_status: ? Ci:C003 0000 FF01 0001 |
|||
#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_WRITE_BUF 0x10 //--X ??? |
|||
#define CMD_EC168_READ_BUF 0x20 //R-- ex: dfu_ctrl_get(device, 0x20, 0x0000, 0x01A0, buffer, 0x1A); read buffer |
|||
#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 |
USB subsytem ID is: 18b4:1001 |
||
Revision as of 01:44, 26 November 2008
The E3C EC168 is used in many cheap DVB-T Sticks. It is currently unsupported under Linux.
DVB-T Devices
Known USB IDs are 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001 and 18b4:1002 (second tuner).
- SinoVideo 3420A-2 DVB-T USB TV stick with MXL5003S tuner S/N:SV07113420A01555 18b4:1689
- SKU 08309 USB DVB-T TV Dongle with Remote from DealExtreme uses this chip and has USB ID 18b4:1689.
- GRTNTUSBV4 USB TNT Basic LIGHT from PC-Basic (Graphics) with MXL5003S tuner and has USB ID 18b4:1001.
- DUTV002 Shen Zhen MinTV-DVB-T Stick 18b4:1001
- 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
SinoVideo 3420A-2
No eeprom in this one File:Http://plone.lucidsolutions.co.nz/dvb/t/usb/images/SV-3420A -PCB top.JPG Links: [1]
SKU 08309 USB DVB-T Dongle
SKU 08309 USB DVB-T Dongle requires Firmware-File called EC168BDA.bin contained in Windows Driver [2] Produced by E3C [3] (Tai-Hui Inc)
GRTNTUSBV4 USB TNT Basic LIGHT
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 :
The windows driver also upload a 7109-bytes sized firmware (EC168BDA.bin) to get the device working...
From "Graphics" french web site [6] the driver references another chips : the Intel CE6230/9500 (VID_8086&PID_9500)
Maybe the next (5th) version (which has the same enclosure) but also named dutv005 [7]
Uploading Firmware to the device
- Firmware upload/download utility by Tanguy Pruvot : [8]
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 read_status: ? Ci:C003 0000 FF01 0001 #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_WRITE_BUF 0x10 //--X ??? #define CMD_EC168_READ_BUF 0x20 //R-- ex: dfu_ctrl_get(device, 0x20, 0x0000, 0x01A0, buffer, 0x1A); read buffer #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