From owner-freebsd-multimedia@FreeBSD.ORG Sun Jun 11 08:24:03 2006 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B69716A41A for ; Sun, 11 Jun 2006 08:24:03 +0000 (UTC) (envelope-from cyberbotx@cyberbotx.com) Received: from samus.cyberbotx.com (cyberbotx.com [70.88.125.110]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0CCC43D45 for ; Sun, 11 Jun 2006 08:24:02 +0000 (GMT) (envelope-from cyberbotx@cyberbotx.com) Received: from localhost (localhost [127.0.0.1]) by samus.cyberbotx.com (Postfix) with ESMTP id 99CCCC6D5 for ; Sun, 11 Jun 2006 04:26:54 -0400 (EDT) X-Virus-Scanned: amavisd-new at cyberbotx.com Received: from samus.cyberbotx.com ([127.0.0.1]) by localhost (samus.cyberbotx.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7IlttlEWt9lF; Sun, 11 Jun 2006 04:26:38 -0400 (EDT) Received: from metroid (c-68-61-58-20.hsd1.mi.comcast.net [68.61.58.20]) by samus.cyberbotx.com (Postfix) with SMTP id A6B0EC7CA; Sun, 11 Jun 2006 04:26:37 -0400 (EDT) Message-ID: <0aa901c68d30$5acb7e30$fe02a8c0@metroid> From: "Naram Qashat" To: Date: Sun, 11 Jun 2006 04:23:44 -0400 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0AA6_01C68D0E.D37E5BD0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1506 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 Cc: Subject: bktr problems X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jun 2006 08:24:03 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0AA6_01C68D0E.D37E5BD0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit I've been having problems with my bktr-based TV Tuner card. It's a Hauppauge WinTV GO-Plus, and a pretty recent model too. Next is the messages for the driver upon bootup: bktr0: mem 0xdc000000-0xdc000fff irq 11 at device 9.0 on pci1 bktr0: [GIANT-LOCKED] bktr0: Hauppauge Model 29440 @ % bktr0: Warning - Unknown Hauppauge Tuner 0xd5 bktr0: Hauppauge WinCast/TV. Now for my problems: I'm unable to watch TV with the tuner, only use the component a/v. I use FXTV, and for the component a/v, it works great. But when I try to use it to watch TV, it was bombing on me. I can't remember if this started happening before or after I upgraded from 5.4 to 6.1, but I believe it was 6.1 where the problem really started. I've attached a gdb log of what I get from FXTV when I compile it in debug mode and trace it. When FXTV gets to the ioctl of TVTUNER_SETCHNL, my system's X freezes, but oddly enough, my keyboard still works. But when I try to use CTRL+ALT+F1 to switch back to a console, the system reboots, either that or I just did it at the same time it was rebooting anyways. Prior to having this problem, I was able to get a signal. That's one part of the problem. The other problem was that when I was able to get a signal, it wasn't a very good one. Or rather, it was wrong. Every "channel" up to 24 shows the exact same thing. Above channel 24, it's mostly static, and it seems that sometimes something changes, but there's too much static to tell. I was only able to get any signal at all by manually setting hw.bt848.tuner to 1 for Temic NTSC, since the card isn't properly detected at bootup. None of the other settings for hw.bt848.tuner work for me. What could be done about this? Naram Qashat ------=_NextPart_000_0AA6_01C68D0E.D37E5BD0 Content-Type: text/plain; name="fxtvgdb.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="fxtvgdb.txt" [kirby /usr/ports/multimedia/fxtv/work/fxtv-1.03]> gdb fxtv=0A= GNU gdb 6.1.1 [FreeBSD]=0A= Copyright 2004 Free Software Foundation, Inc.=0A= GDB is free software, covered by the GNU General Public License, and you = are=0A= welcome to change it and/or distribute copies of it under certain = conditions.=0A= Type "show copying" to see the conditions.=0A= There is absolutely no warranty for GDB. Type "show warranty" for = details.=0A= This GDB was configured as "i386-marcel-freebsd"...=0A= (gdb) break TVSetInitialCaptureDefaults=0A= Breakpoint 1 at 0x8056c16: file tv.c, line 419.=0A= (gdb) run=0A= Starting program: /usr/ports/multimedia/fxtv/work/fxtv-1.03/fxtv=0A= Xlib: extension "XFree86-DGA" missing on display ":0.0".=0A= Xlib: extension "XFree86-VidModeExtension" missing on display ":0.0".=0A= =0A= Breakpoint 1, TVSetInitialCaptureDefaults (c=3D0x80af8a0, p=3D0x80afc30) = at tv.c:419=0A= 419 TV_DISK *dsk =3D &G_glob.disk;=0A= (gdb) next=0A= 428 if ( !TVCAPTUREQueryDriverState( c, &s ) ) {=0A= (gdb)=0A= 434 if ( !App_res.driver_defaults ) {=0A= (gdb)=0A= 437 input_format =3D TV_INPUT_NTSCM;=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 440 input_format =3D formats[i].mode;=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 439 if ( strcasecmp( App_res.input_format, = formats[i].str ) =3D=3D 0 )=0A= (gdb)=0A= 438 for ( i =3D 0; i < XtNumber(formats); i++ )=0A= (gdb)=0A= 442 TVCAPTURESetInputFormat( c, input_format );=0A= (gdb)=0A= 443 dsk->video.geom.w =3D c->width_max / 2;=0A= (gdb)=0A= 444 dsk->video.geom.h =3D c->height_max / 2;=0A= (gdb)=0A= 445 dsk->video.fps =3D c->fps_max;=0A= (gdb)=0A= 448 if ( App_res.display_fps < 0 )=0A= (gdb)=0A= 449 App_res.display_fps =3D c->fps_max;=0A= (gdb)=0A= 450 App_res.display_fps =3D MAX( 1, MIN( c->fps_max, = App_res.display_fps ) );=0A= (gdb)=0A= 453 p->ant_freq_set =3D 1;=0A= (gdb)=0A= 454 p->cable_freq_set =3D 1;=0A= (gdb)=0A= 456 for ( i =3D 0; i < 2; i++ ) {=0A= (gdb)=0A= 457 TV_FREQ_SET *set =3D (i =3D=3D 0) ? &p->ant_freq_set=0A= (gdb)=0A= 461 str[0] =3D '\0';=0A= (gdb)=0A= 462 if ( i =3D=3D 0 )=0A= (gdb)=0A= 463 strncat( str, App_res.ant_freq_set , = sizeof(str)-1 );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 469 for ( j =3D 1; ; j++ ) {=0A= (gdb)=0A= 470 if ( (p =3D TVCAPTUREGetTunerFreqSetName(c,j)) = =3D=3D NULL ) {=0A= (gdb)=0A= 475 if ( strstr( str, p ) !=3D NULL ) {=0A= (gdb)=0A= 476 *set =3D j;=0A= (gdb)=0A= 477 break;=0A= (gdb)=0A= 456 for ( i =3D 0; i < 2; i++ ) {=0A= (gdb)=0A= 457 TV_FREQ_SET *set =3D (i =3D=3D 0) ? &p->ant_freq_set=0A= (gdb)=0A= 461 str[0] =3D '\0';=0A= (gdb)=0A= 462 if ( i =3D=3D 0 )=0A= (gdb)=0A= 465 strncat( str, App_res.cable_freq_set, = sizeof(str)-1 );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 467 *p =3D tolower( *p );=0A= (gdb)=0A= 466 for ( p =3D str; *p !=3D '\0'; p++ )=0A= (gdb)=0A= 469 for ( j =3D 1; ; j++ ) {=0A= (gdb)=0A= 470 if ( (p =3D TVCAPTUREGetTunerFreqSetName(c,j)) = =3D=3D NULL ) {=0A= (gdb)=0A= 475 if ( strstr( str, p ) !=3D NULL ) {=0A= (gdb)=0A= 469 for ( j =3D 1; ; j++ ) {=0A= (gdb)=0A= 470 if ( (p =3D TVCAPTUREGetTunerFreqSetName(c,j)) = =3D=3D NULL ) {=0A= (gdb)=0A= 475 if ( strstr( str, p ) !=3D NULL ) {=0A= (gdb)=0A= 476 *set =3D j;=0A= (gdb)=0A= 477 break;=0A= (gdb)=0A= 456 for ( i =3D 0; i < 2; i++ ) {=0A= (gdb)=0A= 483 p->tuner_mode =3D TV_TUNER_MODE_ANTENNA;=0A= (gdb)=0A= 484 if (( strstr( App_res.tuner_mode, "cable" ) !=3D NULL ) = ||=0A= (gdb)=0A= 488 if ( p->tuner_mode =3D=3D TV_TUNER_MODE_ANTENNA )=0A= (gdb)=0A= 489 TVCAPTURESetTunerFreqSet( c, p->ant_freq_set );=0A= (gdb) step=0A= TVCAPTURESetTunerFreqSet (c=3D0x80af8a0, set=3D1) at tvcapture.c:649=0A= 649 larg =3D set;=0A= (gdb) next=0A= 651 if ( ioctl( c->tfd, TVTUNER_SETTYPE, &larg ) < 0 ) {=0A= (gdb)=0A= 660 if ( !TVCAPTUREQueryDriverState( c, &s ) ) {=0A= (gdb)=0A= 664 TVCAPTURESetTunerChannel( c, s.tuner_chan );=0A= (gdb) step=0A= TVCAPTURESetTunerChannel (c=3D0x80af8a0, chan_num=3D0) at tvcapture.c:599=0A= 599 TV_INT32 larg =3D chan_num;=0A= (gdb)=0A= 604 if ( ioctl( c->tfd, BT848_GAUDIO, &old_audio ) < 0 ) {=0A= (gdb)=0A= 609 if ( ioctl( c->tfd, TVTUNER_SETCHNL, &larg ) < 0 ) {=0A= ------=_NextPart_000_0AA6_01C68D0E.D37E5BD0--