faq‎ > ‎

FAQ - TVB59X Linux

posted Sep 27, 2010, 10:50 PM by Jaewon Yim   [ updated Sep 28, 2010, 12:12 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.