Project

General

Profile

August DVB-T210

Added by derp derp almost 11 years ago

Hi. Was wondering if this was compatible with tvheadend as there's not much information from users about this device. Does anyone have one? Is it working well with DVB-T2 channels and HD channels?

please let me know! thanks!


Replies (450)

RE: August DVB-T210 - Added by Olli Salonen about 8 years ago

Hi Ben,

The printout above does not tell which version of the driver you are using. It tells which version of the firmware you are using - ie. 4.0.4 for Si2168 and 2.1.6 for Si2158.

- Driver: piece of code in the linux kernel
- Firmware: piece of code that is loaded to the chip when the driver is initializing

To update the driver you need to change the kernel or build media_build.
To update the firmware you need to change the files in /lib/firmware.

You can try out different firmware with your current driver - the driver supports multiple versions of the firmware.

There's no way for you to compile a different firmware. You can just take the file and place it in /lib/firmware. You can try various drivers and modify/compile them yourself.

RE: August DVB-T210 - Added by Adam Bowen about 8 years ago

Hi Ben,

Yes, well, that's what I do anyway. If you are on wheezy and the versions of the firmware you're running are not working for you then maybe your problem lies elsewhere. I originally had both of my sticks plugged in to a powered hub (along with the power end of a Y-cable for a 2.5" drive), and I did experience lock ups. I switched them both to be directly plugged in to the Pi2 (using the little USB extension leads that come with them) and those problems went away. I originally thought I'd have power problems if I plugged them direct, but that wasn't the case (the 2.5" drive is still in the hub). How have you got your stick plugged in?

That said, it may be worth switching to the 4.0.11 and 2.1.9 versions of the firmware. Chris gave concise instructions for getting them from the OpenELEC repo in his previous post:

https://tvheadend.org/boards/5/topics/10864?r=21206#message-21206

or you can just download them from here:

https://github.com/OpenELEC/dvb-firmware/tree/master/firmware

Adam

RE: August DVB-T210 - Added by Graham H about 8 years ago

Out of interest, Adam, with that setup does the USB ever choke (ie data overload, not power overload)? I would imagine recording a HD channel off both of the sticks at once and writing to the 2.5" disk would be a stretch, for example.

Just wondering...

Graham

RE: August DVB-T210 - Added by Ben Rometsch about 8 years ago

Adam Bowen wrote:

Hi Ben,

Yes, well, that's what I do anyway. If you are on wheezy and the versions of the firmware you're running are not working for you then maybe your problem lies elsewhere. I originally had both of my sticks plugged in to a powered hub (along with the power end of a Y-cable for a 2.5" drive), and I did experience lock ups. I switched them both to be directly plugged in to the Pi2 (using the little USB extension leads that come with them) and those problems went away. I originally thought I'd have power problems if I plugged them direct, but that wasn't the case (the 2.5" drive is still in the hub). How have you got your stick plugged in?

That said, it may be worth switching to the 4.0.11 and 2.1.9 versions of the firmware. Chris gave concise instructions for getting them from the OpenELEC repo in his previous post:

https://tvheadend.org/boards/5/topics/10864?r=21206#message-21206

or you can just download them from here:

https://github.com/OpenELEC/dvb-firmware/tree/master/firmware

Adam

I did have a stick that only worked when plugged into a powered hub. After a slight mishap I fried that stick, which is why I ended up with a 230. I've now got it plugged directly into the Pi, with the pi being powered by my Wifi router USB port. I have a 2.5" drive plugged into a powered hub, and that hub into my pi.

Maybe it's just the versions. I'll try 4.0.11 and 2.1.9, and then maybe try powering the pi with a dedicated USB power socket to see if that's the issue.

Thanks for the help!

RE: August DVB-T210 - Added by Adam Bowen about 8 years ago

Hi Graham,

I was also very sceptical about whether it would be able to handle all of the I/O involved in being a twin tuner PVR, so I did some back-of-a-beer-mat calculations and they suggested that it could easily handle it. I've tested recording 3 HD recordings (one from one MUX and two from a different MUX) whilst playing back a recording over the network, and it handles that fine, although it really should be able to handle more channels (I just haven't been bothered trying it). If you're interested, here are the rough notes that I made at the time (and remember that these were purely for my own peace of mind before adding a second tuner, so any wrong calculations you spot are a) inconsequential as it does in fact work, and b) deliberate, to try and catch you out :P ) :

PI has one root USB port running at 480mbps

A DVB-T2 MUX is approximately 40,200,039 bps == 40mbps
(see comments @ https://ukfree.tv/transmitters/tv/Winter_Hill/PGSTART1220/)
This is for the full MUX, not a single channel within that MUX. The T210 tuner
does not support on card (hardware) demultiplexing so we have to pull the whole 
thing across the bus.

A transport stream of 1920 x 1080 h.264 video and stereo 44khz AAC audio is
approximately 8mbps (although this can be lower for other providers, but BBC
top tier shows (nature stuff) uses this higher bitrate).

A brief proof of that is a recording of The Hunt from BBC ONE HD. It is 60 minutes,
plus 2 pre and 10 post padding. So 72 minutes, or 4320 seconds. The bitrate given by
ffmpeg (ffmpeg -i The-Hunt2015-12-0621-00-S01E06.mkv) is 7948kbs. So:

  4320 * 7948 / 8 = 4291920

The filesize on disk is 4293115805 so I'll go with that estimate.

To record a full HD MUX from a DVB-T2 USB tuner involves:

  * Moving full multiplexed stream from dongle to memory: 40mbps
  * Demultiplexing the stream.
  * Moving the demultiplexed single channel stream, which will be approximately 8mbps, 
    to a USB attached disk.

So we need ~48mbps bandwidth to record a single channel from a MUX to disk.

Now to record another HD channel from the same MUX only requires an additional 8mpbs write to disk
as we already have the full multiplexed stream coming in to memory.

To record a channel from a second MUX, on a second USB tuner, costs us the full 48mbps for the first
channel and +8mpbs for each subsequent channel.

Worst case is all 6 channels from each DVB-T2 mux (one on each tuner):

  * 40mbps * 2 = 80mbps
  * 8mbps * 12 = 96mbps
  * Total: 176mbps

To play back a stream to a network attached player, requires:

  * Read recording from disk: 8mbps
  * Write recording over the network: 8mbps
  * Total: 16mbps

In total, recording all HD channels, and watching 3 HD recordings at the same time: 224mbps

This is well within the bus speed limit, but you wouldn't want to go much above this, as the
USB bus is in use for other things too, general network traffic, root and home directory disk
IO etc. Also there are all kinds of control messages for the USB and network traffic that 
haven't been taken in to account.

Happy to receive any corrections to those calculations, of course.

Adam

RE: August DVB-T210 - Added by Graham H about 8 years ago

Phew! You're probably right ;)

My experience of data transfer speeds in general is they are never very near the headline value, but if it works, what can I say?

As I've said elsewhere, how do people find the time to watch all this stuff, but then I don't have teenage kids.

Graham

RE: August DVB-T210 - Added by lord slash about 8 years ago

Hi! I Just realized that the stick I have (Geniatech MyGica T230 C) is the same as the above mentioned August T210.
Problem is that it doesn't seem to work for me so I am wondering if the C after the T230 has a meaning.
This is the output of my lsusb:

pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 0572:c689 Conexant Systems (Rockwell), Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Note that the ID is 572:c689 instead of c688

The drivers dvb-demod-si2168-b40-01.fw dvb-tuner-si2158-a20-01.fw are in /lib/firmware

But then when I do dmesg the stick is not really recognized as described in the guide (I will paste only the part of dmesg that has something to do with the stick):

[ 4.014365] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[ 4.125618] usb 1-1.4: New USB device found, idVendor=0572, idProduct=c689
[ 4.134539] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.143739] usb 1-1.4: Product: EyeTV Stick
[ 4.149791] usb 1-1.4: Manufacturer: Geniatech
[ 4.156055] usb 1-1.4: SerialNumber: 160421

And then of course TVHeadend doesn't see any DVB-Stick.
I am using a Raspberry Pi B+ with Raspian but I also tried with a Raspberry Pi 2 and Openelec (same results).
Can you help me please?

RE: August DVB-T210 - Added by Olli Salonen about 8 years ago

lord slash wrote:

Hi! I Just realized that the stick I have (Geniatech MyGica T230 C) is the same as the above mentioned August T210.
Problem is that it doesn't seem to work for me so I am wondering if the C after the T230 has a meaning.
This is the output of my lsusb:

pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 0572:c689 Conexant Systems (Rockwell), Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Note that the ID is 572:c689 instead of c688

That's a new version of the stick. Based on some googling it seems to contain Si2168-D60 demodulator, which isn't supported by the si2168 driver in Linux kernel.

Most likely adding support would not be difficult if the other parts are pretty much the same. If that would be the case, then:

1) Add D60 version in the si2168 driver. Probably the API is the same, so no need for more modifications here.
2) Rip the Si2168-D60 firmware from the Windows drivers.
3) Add the new USB ID into the existing dvb-usb-dvbsky driver.

Could probably do this in an evening if I had the stick. Is it available on AliExpress or other site?

RE: August DVB-T210 - Added by Crazy Cat about 8 years ago

si2168: D60 chip support - https://github.com/crazycat69/linux_media/commit/678ea7c77fa1fabc82196d2d90b0f6f8b34f824a
cxusb: Geniatech T230 with PID=0xC689 - https://github.com/crazycat69/linux_media/commit/9b764ceaab1a709b4a57a30dbe8a5b07438e9725

Si2168-D60 firmware from windows driver attached.
Now demod init ok, but look like also new tuner chip and maybe on diff i2c addr

[ 16.649236] DVB: registering new adapter (Mygica T230_1 DVB-T/T2/C)
[ 16.649240] usb 1-1.1: media controller created
[ 16.649497] dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 16.659756] i2c i2c-9: Added multiplexed i2c bus 10
[ 16.659758] si2168 9-0064: Silicon Labs Si2168-D60 successfully identified
[ 16.659759] si2168 9-0064: firmware version: D 6.0.1
[ 16.664224] si2157 10-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[ 16.664231] usb 1-1.1: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[ 16.664235] dvb_create_media_entity: media entity 'Silicon Labs Si2168' registered.
[ 16.665780] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/input/input16
[ 16.665867] dvb-usb: schedule remote query interval to 100 msecs.
[ 16.666100] dvb-usb: Mygica T230_1 DVB-T/T2/C successfully initialized and connected.
[ 16.666122] usbcore: registered new interface driver dvb_usb_cxusb
[ 46.550525] si2168 9-0064: downloading firmware from file 'dvb-demod-si2168-d60-01.fw'
[ 46.634932] si2168 9-0064: firmware version: D 6.0.1
[ 46.650184] si2157 10-0060: unknown chip version Si21128-\xffffff80\xffffff80\xffffff80
[ 46.651845] usb 1-1.1: DVB: adapter 0 frontend 0 frequency 0 out of range (42000000..870000000)
[ 46.976580] si2157 10-0060: unknown chip version Si21128-\xffffff80\xffffff80\xffffff80

RE: August DVB-T210 - Added by lord slash about 8 years ago

thanks for your answers. I tried to copy the attached firmware in /lib/firmware but nothing changed in my dmesg output.. what else do I need or can I try?

RE: August DVB-T210 - Added by Graham H about 8 years ago

As Olli says above, it's not just the firmware but the drivers need updating. Crazy Cat is working on it but seems to have hit a snag. Unless you are good at hacking driver code, you will have to wait for Crazy Cat and/or Olli to sort it out. Then you may have to compile media_tree.

It will always be that way while manufacturers keep changing their components and don't bother to provide linux drivers :(

RE: August DVB-T210 - Added by lord slash about 8 years ago

I don't have experience but I have a stick availabe and would be happy to help as much as I can!

RE: August DVB-T210 - Added by lord slash about 8 years ago

Hello again! The factory who produces the stick sent me the Linux Driver for the stick. I will attach it here for you!

RE: August DVB-T210 - Added by lord slash about 8 years ago

now that I look at the content of the package it seems to me just the usual V4L-DVB Device Drivers package.. or am I wrong?!

RE: August DVB-T210 - Added by Gavin Ridgway about 8 years ago

I've taken a quick look and it's not quite the same - it is a copy of media_build from March 2015. However, 'cxusb' (the Connexant USB driver) has had the original T230 properties and attach functions commented out.

They've been replaced by code tagged with 'rmidt2' (whatever this means). This appears to setup an si2168 demod and a si2148 tuner. These drivers are not the same ones as those normally found in 'media_build'. The device USB PID/VID codes used are the same as for an original T230 (when warm), but the code indicates that the PID is 0xc687 when cold. It would appear that the FX2 loads a firmware file 'dvb-usb-rmtd-t2.fw' (which I can't locate in the archive) and this is presumably responsible for the VID change when warm.

If this 'rmidt2 device' is a T230 Rev C then I would guess that the VID has changed to 0xc689 on the final production model and the firmware is now embedded in the FX2 bridge.

I guess now it all comes down to why the si2148 driver is used and how this differs to the si2157 driver normally found in 'media_build'. We need to make si2157 driver work for this device - which I think is where Crazycat was 12 days ago by his last post.

Cheers.

P.S. lord slash: You never did say where you got the device from. It might be useful to know as the more of us with one, the more likely we are to discover a solution.

RE: August DVB-T210 - Added by Olli Salonen about 8 years ago

The si2157.c header says: "Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver"

Si2148 is already supported. However, it might be a different version of the tuner. There are 2 things that would make it probably a lot easier to make a driver for this device:

- Open the case and have a look at the chips used in the device (there should be something like "2168 40" for Si2168-B40 chip for example).
- Install the Windows drivers the manufacturer provides and capture the USB bus with a software like "USBlyzer" when you plug in the device and tune to a channel.

RE: August DVB-T210 - Added by lord slash about 8 years ago

sorry I thought I posted the link. I bought it here: http://www.ebay.it/itm/GENIATECH-MyGica-USB-TV-Stick-T230-DVB-T2-DVB-T-DVB-C-Tuner-for-Laptop-PC-/162135041930

I captured the USB bus with USBLyzer as requested, in attachment you can find the HTML report. I will open the stick and take a picture later.
If there's something else that I can do let me know!

RE: August DVB-T210 - Added by Olli Salonen about 8 years ago

Thanks for the capture, but it looks like you had the stream running already when the capture was started. In other words, we're missing the important initialization sequence. Do it this way:

- unplug the device
- open USBlyzer
- make sure the option Capture > Capture hot-plugged is enabled
start capture
- plug in the device
- start a program to watch TV.
- as soon as you get the picture, stop the capture (we don't need more than 1 second of captured TV stream, it just keeps filling the trace)

Send the capture file over.

RE: August DVB-T210 - Added by lord slash about 8 years ago

ok this time I followed the procedure you mentioned, in attachment the report

RE: August DVB-T210 - Added by Olli Salonen about 8 years ago

Hi,

The second attachment contains the s same trace as the first attachment. :)

RE: August DVB-T210 - Added by lord slash about 8 years ago

for some reasons i cannot save the ulz file, but the html file that I attached was the right one.. I will attach it again.. is it enough or do you need the ulz file?

RE: August DVB-T210 - Added by Olli Salonen about 8 years ago

That report is fine. I can now tell that the device contains the following two components:

Tuner (I2C address 0x60): Si2141-A10
Demodulator (I2C address 0x64): Si2168-D60

There's also firmware loaded into the Si2141. Otherwise it looks like it could work with the si2157 driver.

It'd be easy to add support for this device, if I had the device. Maybe CrazyCat can do it as he seems to have the device?

RE: August DVB-T210 - Added by Crazy Cat about 8 years ago

yes, today CrazyCat receive this device :) Some debug output from windows BDA driver on init:

CSI2168_SI2141Tuner::~CSI2168_SI2141Tuner
Driver Build: Jul 13 2016 , 02:47:44
CSI2168BDemod Build: Jun 13 2016 , 01:04:25
CSI2168_SI2141Tuner::CSI2168_SI2141Tuner()
CSI2168BDemod::initHardware
CSI2168BDemod::initDemodHardware
Si2183_L2_EVB_SW_Init starting...

--------------------------------------
Demod Si2183 at 0x00
Demod Source code V0.2.1.0
TER clock from TER Tuner (24 MHz)
TER clock input CLKIO
FEF mode 'SLOW NORMAL AGC'
--------------------------------------

Si2183_L2_EVB_SW_Init complete
dvb_i2c_WriteRegister
CSI2168BDemod::initHardware
CSI2168BDemod::initDemodHardware : hw_init is already running
dvb_i2c_WriteRegister -------[c8]<<<<<<<<--c0 0d 01..(3)
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c8]-->>>>>>>>80
DEMOD Communication OK
dvb_i2c_WriteRegister
dvb_i2c_WriteRegister -------[c8]<<<<<<<<--c0 0d 00..(3)
dvb_i2c_WriteRegister
dvb_i2c_WriteRegister -------[c8]<<<<<<<<--c0 0d 01..(3)
CSI2168BDemod::initDemodHardware()
Si2141_Init starting...
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c0]-->>>>>>>>fe
Si2141 RESET_HW

dvb_i2c_WriteRegister
dvb_i2c_WriteRegister -------[c0]<<<<<<<<--c0..(4)
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c0]-->>>>>>>>fe
Si2141 POWER_UP

dvb_i2c_WriteRegister
dvb_i2c_WriteRegister -------[c0]<<<<<<<<--c0..(10)
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c0]-->>>>>>>>80
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c0]-->>>>>>>>80
Si2141 WAKE_UP

dvb_i2c_WriteRegister
dvb_i2c_WriteRegister -------[c0]<<<<<<<<--c0..(7)
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c0]-->>>>>>>>80
Si2141 PART_INFO

dvb_i2c_WriteRegister
dvb_i2c_WriteRegister -------[c0]<<<<<<<<--02..(1)
dvb_i2c_ReadRegister
dvb_i2c_ReadRegister -------[c0]-->>>>>>>>80..(14)
chiprev 1
part Si2141
romid 97
pmajor 49
pminor 48
pbuild 1
pmajor '1'
pminor '0'
Full Info 'Si2141-A10 ROM61 NVM1_0b1'

Si2141_LoadFirmware_16 starting...
Si2141_LoadFirmware_16 nbLines 98

RE: August DVB-T210 - Added by Crazy Cat about 8 years ago

btw latest PadTV HD 2.1.7.4beta for Android (from Google Play market) also not support T230C :)

RE: August DVB-T210 - Added by lord slash about 8 years ago

Hi CrazyCat! I see on GooglePlay Market that the last version of PadTV HD is 2.1.7.7 updated on the 20th of September.
Moreover on this AliExpress page https://www.aliexpress.com/store/product/DVB-T2-receiver-Geniatech-T230-DVB-T2-DVB-T-USB-TV-Stick/1263392_1857742736.html?spm=2114.12010108.0.99.v5IdTt it's mentioned that the 230C supports Android: "Android OS 4.1 or higher (only usable with Geniatech Android Box & firmware)"
Anyway did you give a look at the media_build_for_14.10.tar.bz2 driver that the device producer sent me? Let me know if there's something that I can ask them because I am in contact with them and they seem kind of helpful

(326-350/450)