Difference between revisions of "Trident TM6000"

From LinuxTVWiki
Jump to: navigation, search
(TM6010 based Devices)
Line 16: Line 16:
 
Note: according to the Trident SEC filing the TM5400 is PIN compatible with the TM6000 but without a digital TV TS support.
 
Note: according to the Trident SEC filing the TM5400 is PIN compatible with the TM6000 but without a digital TV TS support.
  
== Driver Development ==
+
== Updated info ==
 +
 
 +
There were some efforts on developing a driver for tm5600/tm6000/tm6010 chips.
 +
 
 +
Michel Ludwig (michel.ludwig gmail.com) did some development mostly focused at DVB-T of tm6000.
 +
Mauro Carvalho Chehab did some development moslty focused at analog support, and extended support for tm6010.
 +
 
 +
There are some versions of the driver at http://linuxtv.org/~hg that merged both developments.
 +
 
 +
The driver is still at the TODO list, however its development is currently frosen. Mauro intends to return back to it, but this is
 +
not on his current top priorities.
 +
 
 +
Those chips are very buggy and they behave badly if the driver doesn't do exactly the same thing as the original one (it
 +
starts to loose frames). The reason is unknown, but it is suspected that there is a firmware or hardware bug at those chips.
 +
 
 +
Maybe the conversion of the driver to the new i2c approach could help to fix this issue, since this will avoid sending probing packets at i2c bus, as it is known that some i2c probe sequences can hang those chips.
 +
 
 +
Also, on all tests we've done so far, it can't reliably read data from an i2c device. This prevents that tools like scan work, since you can't be sure if a signal lock happened. Also, driver can't even be sure if xc3028 firmware were successfully loaded on this device.
 +
 
 +
It is important to notice that the vendor (Trident) doesn't seem to want helping with open source development. Contacts with the vendor were tried during 2007 and 2008 in order to get their help by opening docs, via Linux Foundation NDA program, without success.
 +
 
 +
The vendor also seems to be refusing so far to help the development of a driver fortheir demod DRX-K line that they acquired from Micronas (as pointed at http://linux.terratec.de/tv_en.html).
 +
 
 +
In brief, while we want to fix the driver issues, it is recommend to avoid buying any devices with tm5600/tm6000/tm6010 (and DRX demod) chips.
 +
 
 +
== Old info about previous versions of the driver ==
  
 
===Developers===
 
===Developers===

Revision as of 08:20, 21 August 2009

TM6000 Decoder & USB bridge

The TV-Master TM6000 is an integrated Video decoder and USB bridge IC from Trident.

TM6000 based Devices

Driver development in progress:

The following device might work with the driver as well:

If you discover that a device that is not listed here actually works with the driver (see below), please report it to the developers!

Note: according to the Trident SEC filing the TM5400 is PIN compatible with the TM6000 but without a digital TV TS support.

Updated info

There were some efforts on developing a driver for tm5600/tm6000/tm6010 chips.

Michel Ludwig (michel.ludwig gmail.com) did some development mostly focused at DVB-T of tm6000. Mauro Carvalho Chehab did some development moslty focused at analog support, and extended support for tm6010.

There are some versions of the driver at http://linuxtv.org/~hg that merged both developments.

The driver is still at the TODO list, however its development is currently frosen. Mauro intends to return back to it, but this is not on his current top priorities.

Those chips are very buggy and they behave badly if the driver doesn't do exactly the same thing as the original one (it starts to loose frames). The reason is unknown, but it is suspected that there is a firmware or hardware bug at those chips.

Maybe the conversion of the driver to the new i2c approach could help to fix this issue, since this will avoid sending probing packets at i2c bus, as it is known that some i2c probe sequences can hang those chips.

Also, on all tests we've done so far, it can't reliably read data from an i2c device. This prevents that tools like scan work, since you can't be sure if a signal lock happened. Also, driver can't even be sure if xc3028 firmware were successfully loaded on this device.

It is important to notice that the vendor (Trident) doesn't seem to want helping with open source development. Contacts with the vendor were tried during 2007 and 2008 in order to get their help by opening docs, via Linux Foundation NDA program, without success.

The vendor also seems to be refusing so far to help the development of a driver fortheir demod DRX-K line that they acquired from Micronas (as pointed at http://linux.terratec.de/tv_en.html).

In brief, while we want to fix the driver issues, it is recommend to avoid buying any devices with tm5600/tm6000/tm6010 (and DRX demod) chips.

Old info about previous versions of the driver

Developers

Michel Ludwig (michel.ludwig gmail.com)

Roadmap

A improved driver with analogue TV support is currently being developed. DVB-T seems to be working fairly well in an experimental driver, which can be found on this page.

Acknowledgements

The hosting of the driver files has been generously provided by François Beerten! Thanks a lot!

Experimental Driver

  • Due to high demand, the experimental driver is now available to the public. It provides basic DVB-T support for devices with the USB Id 14aa:0620.

Disclaimer: The experimental driver was never intended to be released. The code contains lots of ugly hacks and no guarantee can given that it is even working at all. Moreover, despite the fact that the driver has been used for several months, the extremely unlikely case of causing hardware damage cannot be fully excluded! In summary, you are using the driver at your own risk!

Additional Warning: It is recommanded to disconnect the USB stick after having stopped watching TV as there is currently no instruction implemented to disable the decoding of the TV signal.

  • Compilation/Installation Instructions

In short, the driver code needs to be copied into a v4l-dvb tree. More detailed instructions are given below.

Please note that you need the Mercurial version control systems installed on your system.

Step 1: Clone a v4l-dvb tree in a directory of your choice

$hg clone http://linuxtv.org/hg/v4l-dvb

Step 2: Apply the Makefile patch to the tree (which allows to build the driver later on)

$ cd v4l-dvb
$ wget http://colabti.de/~feb/tm6000-makefile-dvb-tree.patch
$ patch -p1 < tm6000-makefile-dvb-tree.patch

Step 3: Download the driver and extract it

$ cd linux/drivers/media/video/
$ wget http://colabti.de/tm6000/tm6000.tar.gz
$ tar xvzf tm6000.tar.gz

Step 4: Compile everything

$ cd ../../../../
$ make

Step 5: Install everything

$ su -c "make install"

Step 6: Remove all the V4L/DVB modules that are currently loaded (or alternatively reboot the system) and load the driver module

$ su -c "make rmmod; /sbin/modprobe tm6000"
  • Firmware

The firmware necessary for the device currently needs to be extracted from the driver files on the installation CD.

Step 1: Copy the file "tridvid.sys" from the CD into a directory of your choice

Step 2: Extract the firmware files

$dd if=tridvid.sys ibs=1 skip=145441 count=2632 of=tm6000-firmware1
$dd if=tridvid.sys ibs=1 skip=148089 count=3870 of=tm6000-firmware2

Step 3: Copy the firmware files to the firmware directory

$su -c "cp tm6000-firmware1 /lib/firmware; cp tm6000-firmware2 /lib/firmware"
  • If the compilation and the extraction of the firmware was successful, you should be able to watch TV via DVB-T now! If you want, you can report your geographical location to the developers, so that a list which contains the locations where the driver is working can be kept.

TM6010 based Devices

A new version of the TM6000 is present in some devices :

  • Hauppauge HVR900H
  • Compro VideoMate Vista U2800F (DVB-T Hybrid USB stick), black: Article and photos of the PCB: http://www.ixbt.com/monitor/compro-u2800f.shtml
  • Compro VideoMate U2600F (DVB-T Hybrid USB stick), white: This device is almost identical to the U2800F (though does not come with a seperate USB IR reciever module. As far as the stick goes it is just a cosmetic "Vistarization" of the 2600: The components and PCB look identical to the U2800F above, except the rectangular component; T1. The U2800F in the image above shows T1 and T2 to be identical. On my U2600F, T1 is different and has the numbers TA6C 12000S on it. This looks like just a batch difference though. The PCB in my U2600F is identified as 94V-0 w the number 0G9MUH0012 Rev B (This number is obscured on the abovelinked U2800F), but is probably the same (there are no components located there anyway). BTW; my U2600F reports in WinXP's Device Manager as USB\VID_185B&PID_2600\5&23FD63D6&0&8. Compro provide the same rotten software and driver for both models.
  • LifeView "Not Only TV" Hybrid LV5H, Hybrid LV5H Power (Windows drivers for reference to developers)

An experimental driver is available from http://linuxtv.org/hg/~mchehab/tm6010/ (currently completely broken - analogue, firmware extraction, etc)

External Links