FAQ - TVB59X Linux

Post date: Sep 28, 2010 5:50:06 AM

Q. Where Linux SDK available?


As TVB590 series software CD file size is big, we moved those files to our FTP server.

You can find Linux SDK from http:\\ftp.teleview.com using ID:TELEVIEW\Guest, password:teleview.

goto folder TVB590_5_7_Linux folder.

Q. Which Linux version is tested ?

We are using Linux Ubuntu10.0.4(Kernel 2.6.31, gcc 4.4.1).

Q. 64 bit Linux driver supported ?

A. 64 bit Linux version driver is not available.

Q. Can not find TVB59X modulator on TVBAgent / Linux

After completing the documentation attached to the

drivers (Linux), the tool does not find tvbagent boxes:

$. / Tvbagent


TVB595LAN: argc = 1

PRESS 'e' key to End the program

Refer The Log Files At The installtion folder (Maybe no availabe board )!!!.

gnActiveBoard = 0


I would recommend user to check the issue as following.

1. Did he build and execute with root permission ? (use $su root)

2. Did he set the USB library environment (libusb-0.1.12) ? (use $./configure)

3. Did the LLD/HLD library build and installation was done

successfully ? (use $./build.sh lld 595)

It looks luke the LLD library was not built and installed properly

according the the messages from Nagra.

Please build and execute the TVBAgent with following sequence.

<I assumed the software installed on /home/testpc/work/teleview/Agent/TVBAgent>

$su root






$cd libusb-0.1.12




$cd ..



$./build.sh lld 595

$./build.sh hld

$./build.sh app


Q. How to support multiple boards/USB modulators from Linux?

A. For example, in case of two device use,

1. At your application, load /usr/lib/libtsplld0381.so.1.0.0 and /usr/lib/libtsplld0382.so.1.0.0 dynamically for each board #1 and #2.

To access board #1, you should use functions of libtsplld0381.so.1.0.0 and use functions of libtsplld0382.so.1.0.0 for board #2.

To load libtsplld038#.so.1.0.0 files dynamically,

you should use linux functions "dlopen", dlsym" and "dlclose".

For your understanding, refer to hld/LLDWrapper.cpp :: BOOL CLldWrapper::InitialDLL(LPCSTR str) function.

2. When libtsplld038#.so.1.0.0 is loaded, TVB597 USB device driver is autometically opened.

You should check device handle is opened correctly for each board, not duplicated.

For your understanding, refer to lld/lldmain.c :: struct usb_device* tvb595_usb_ready(void) function.

3. Edit license.dat for multi-board as like.

782E2FA7E8DA3FD2B4A111F2245264C3 <== L/N of 1st board

2998B761CD5EF51D7C73C64F87051B51 <== L/N of 2nd board

And copy to your working directory.

lld/ds2401_util.c :: int read_modulator_option() will access the license.dat.