Good things to do before ansking a question:

We are not soothsayers ! We need informations to help you. Please give us all about your hardware, your errors messages etc.. if you want any help.

1) Give us any informations about the BTTV version you use: open a shell and type this command:

dmesg | grep bttv

This command help us to know if any error message appears when the bttv module is loaded.

2) Give us any informations about the X server: all this infos are recorded into a specific log file: type this command with root right:

less /var/log/XFree86.0.log
or
less /var/log/Xorg.0.log

3) If your TV application freeze your operation system:

a) Give us your kernel version and its origin (Mandrake kernel installed from rpm package, gentoo kernel and its release & type,  specific kernel with specific patches : which ones, etc....).

b) Copy & paste all logs you find onto the forum: if you use the very classical syskdlog (main log system used by all the main Linux distribution), type this command with root right:
tail -f /var/log/messages
if you use metalog (Gentoo for example), type this command with root right:
tail -f /var/log/kernel/log-aaaa-mm-jj-hh:min:ss
or
tail -f /var/log/kernel/current

4) Install a more recent BTTV tarball:

If your kernel version is 2.4.x: you must use the BTTV 0.7.x versions (Video For Linux ou v4l1).
if your kernel version is 2.6.x: you must use the BTTV 0.9.x versions (v4l2, some bugfixes can sometimes be distributed).

All needed kernel modules can be discovered, if you type this command with root rights:
lsmod | grep bttv

bttv                       78688    0  (unused)
videodev             6336      2  [bttv]
i2c-algo-bit         8360       1  [bttv]
i2c-core              15816     0  [tuner bttv i2c-algo-bit]
soundcore          4164       4  [snd bttv]

a) Untar the tarball file & type this command:
tar -xzvf bttv-0.7.107.tar.gz

b) Compile all the drivers & type this command:
make

c) Install all the drivers & type this command:
make install

d) Verify all dependencies & type this command:
depmod -a


5) Howto use the GDB command:

a) You have to compile XdTV with the debug mode: type this command:
./configure --disable-nodebug && make

b) howto use gdb
1) Launch XdTV with gdb: gdb xdtv
2) After the prompt, type this command: run (or run -v 2, if you want more messages)
3) If you meet a such message:

   Program received signal SIG32, Real-time event 32.
   0x4076c714 in pthread_getconcurrency () from /lib/i686/libpthread.so.0

4) After the prompt, type this command: c (or continue)
until the XdTV main window appears on screen.

5) If you know howto reproduce a segfault, open XdTV and play actions
that make the crash. When XdTV is crashed, you can have a such message:

   Program received signal SIGSEGV, Segmentation fault.
   0x4065e6c8 in XInternAtom () from /usr/X11R6/lib/libX11.so.6

6) Return back to the gdb prompt and try to find which function makes the crash: type this command:
a)  where (or backtrace)

   (gdb) where
   #0  0x4065e6c8 in XInternAtom () from /usr/X11R6/lib/libX11.so.6
   #1  0x08082a46 in main ()
   #2  0x407cac57 in __libc_start_main () from /lib/i686/libc.so.6

Here we can discovered that the crash appears into the main() function and is realized by the XInternAtom () function.

b) Use the up command to know where the crash really appears.

7) You found where the crash is: type this command reach it
- break "the function name"
- run
- step (several times until you reach the crash)

8) Howto leave GDB:
After the gdb prompt type: quit


To learn more informations about GDB, open a shell and type this command: man gdb

 

Copyright (c) 2002 Keuleu - Pingus - BlindMan
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
A copy of the license is included in the section entitled "GNU
Free Documentation License".