Emtec S830

From LinuxTVWiki
Revision as of 23:38, 21 January 2008 by D.s (talk | contribs) (Add to USB category.)
Jump to navigation Jump to search
s830 Inside, back
s830 Inside, front

A DVB-T USB Stick from Emtec.

It is currently not supported under Linux, though some experimental patches exist (see below ... in particular, the user experiences section).

Overview/Features

It features dual tuners, remote control, and 'diversity' tuning capabilities (not sure about the last). Evidently this device is a rebranded YUAN High-Tech Development Co., Ltd Product.

Its says PD-870 on the PCB though emtec sells it as S830, so clearly some rebranding is going on.

Components Used

  • 2 x MT2266F (tuners)
  • 2 x DiBcom7000PC1-AXXXa-G QGYN8 (demodulators)

Identification

Output from "lsusb -v":

Bus 002 Device 007: ID 1164:1e8c YUAN High-Tech Development Co., Ltd
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0        64
 idVendor           0x1164 YUAN High-Tech Development Co., Ltd
 idProduct          0x1e8c
 bcdDevice            1.00
 iManufacturer           1 YUANRD
 iProduct                2 STK7700D
 iSerial                 3 0000000001
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           46
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0
   bmAttributes         0xa0
     (Bus Powered)
     Remote Wakeup
   MaxPower              500mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           4
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0
     bInterfaceProtocol      0
     iInterface              0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x01  EP 1 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1
     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               1
     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               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1
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


Making it Work

Firmware

August 21, 2008 - New firmware file fixing the last cause for i2c errors and disconnects and providing a new, more modular i2c request formatting.

You will need the dvb-usb-dib0700-1.20.fw firmware file in /lib/firmware or the relevant place for your distribution.

You may need to change the name of the file to dvb-usb-dib0700-1.10.fw or create a link until the driver code reflects that change.

For archival purposes: dvb-usb-dib0700-1.10.fw firmware file

August 29,2008 - Issues with Firmware 1.20. Some issues have been found with the latest version of the firmware. Users may wish to continue to use 1.10 unless they have patched their v4l-dvb code with dib0700_new_i2c_api.patch.

November 15,2008 - Issues with Firmware 1.20.

  • The above mentioned dib0700_new_12c_api.patch is not available discretely but is now rolled into the mercurial drivers
  • dvb-usb-dib0700-1.20.fw firmware file is now stable for reception, but remote control functionality is broken; any key press is repeated until the next key is pressed. The only way to get remote control functionality presently is to roll back to 1.10 firmware and suffer the occasional disconnect.
  • The mercurial drivers have been changed so they now load 1.20 firmware. To revert to 1.10 firmware you need to rename your firmware file to dvb-usb-dib0700-1.20.fw or provide a link of that name.
  • To avoid spurious remote control signals with 1.20 firmware, you need to edit /etc/modprobe.d/options or from Ubuntu onwards /etc/modprobe.d/options.confand add:
options dvb_usb disable-rc-polling=1

November 28,2008 - i2c errors. Changes were made to the remote control drivers on November 16,2008 to correct the repeat key problem. The card is generally stable for dual tuner reception and remote control function with Firmware 1.20.

November 10,2009 - mt2060 I2C write failed. Possible regression of a driver bug raised against Ubuntu running 2.6.27-14 and 2.6.31-2.17 causing mt2060 I2C errors in MythTV useage with firmware 1.20. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/397696 Recommend check the kernel extensions listed here for Low Noise Activation and rc_polling are loaded with correct config file name for your distribution, EIT listings information is turned off until a suitable delay (500ms-1000ms)is added to a single card (not both) and the card has correctly been added to the database as two tuners (no additional NULL entries) in the mythtv recordcard table.

Drivers

A patch which adds the usbid for this device to the required LinuxTV drivers is available here.

Sample kernel output

[  183.731819] usb 2-7: new high speed USB device using ehci_hcd and address 3
[  183.798267] usb 2-7: configuration #1 chosen from 1 choice
[  183.880076] dib0700: loaded with support for 5 different device-types
[  183.880182] dvb-usb: found a 'EMTEC S830 TD Stick' in cold state, will try to load a firmware
[  183.903331] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.10.fw'
[  184.008207] dib0700: firmware started successfully.
[  184.259443] dvb-usb: found a 'EMTEC S830 TD Stick' in warm state.
[  184.259497] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  184.259585] DVB: registering new adapter (EMTEC S830 TD Stick)
[  184.378936] DVB: registering frontend 2 (DiBcom 7000PC)...
[  184.400418] MT2266: successfully identified
[  184.482671] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  184.482792] DVB: registering new adapter (EMTEC S830 TD Stick)
[  184.559678] DVB: registering frontend 3 (DiBcom 7000PC)...
[  184.561611] MT2266: successfully identified
[  184.642628] input: IR-receiver inside an USB DVB receiver as /class/input/input8
[  184.642653] dvb-usb: schedule remote query interval to 150 msecs.
[  184.642658] dvb-usb: EMTEC S830 TD Stick successfully initialized and connected.
[  184.643047] usbcore: registered new interface driver dvb_usb_dib0700

Remote Control Support

The usb stick comes with an Irda Remote

User Experiences

So far unsuccessful. After adding the usbid, as described in the patch above, the same results are obtained as the user in that original mailinglist post .... i.e. the led on the device goes on, the driver modules are loaded, but no lock on frequencies is obtained.

It should be behaving like a Pinnacle PCTV Dual DVB-T Diversity (PCTV 2000e USB), but attempting to tune to a frequency from a valid channels.conf file (obtained from a working DVB-T card) results in no lock being established:

$ tzap -a 3 -c /home/waldo/Desktop/channels.conf "een"
using '/dev/dvb/adapter3/frontend0' and '/dev/dvb/adapter3/demux0'
tuning to 482000000 Hz
video pid 0x1011, audio pid 0x1012
status 00 | signal fc25 | snr 0000 | ber 001fffff | unc 00000000 |
status 01 | signal f1e4 | snr 0000 | ber 001fffff | unc 00000000 |
status 01 | signal dfe9 | snr 0000 | ber 001fffff | unc 00000000 |
status 01 | signal e1b9 | snr 0000 | ber 001fffff | unc 00000000 |
status 00 | signal e9cd | snr 0000 | ber 001fffff | unc 00000000 |
status 01 | signal dcc9 | snr 0000 | ber 001fffff | unc 00000000 |
status 01 | signal e207 | snr 0000 | ber 001fffff | unc 00000000 |
status 01 | signal db09 | snr 0000 | ber 001fffff | unc 00000000 |