Date: Sun, 21 Mar 2004 18:31:27 -0500 (EST) From: John Wehle <john@feith.com> To: multimedia@freebsd.org Cc: u431839553@navab.net Subject: Re: Hauppauge WinTV PVR 250 for FreeBSD 5.2 Message-ID: <200403212331.i2LNVRL14391@jwlab.FEITH.COM>
next in thread | raw e-mail | index | archive | help
> cxm0: <Conexant iTVC16 MPEG Coder> mem 0xc8000000-0xcbffffff irq 21 at device 11.0 on pci3 > cxm_iic0: <Conexant iTVC15 / iTVC16 I2C controller> on cxm0 > iicbb0: <I2C bit-banging driver> on cxm_iic0 > iicbus0: <Philips I2C bus> on iicbb0 master-only > cxm0: LG Innotek TPI8PSB11D tuner > cxm0: SAA7115 rev 1 video decoder > cxm0: MSP3415G-B8 audio decoder > cxm0: IR Remote > cxm0: encoder firmware version 0x2040011 > > No decoder firmware version. The iTVC16 which is used on the PVR-250 version 2 doesn't implement a decoder which is why the decoder firmware version isn't displayed. > When I try cat /dev/cxm0 > file.mpg I get > "cat: /dev/cxm0: Device not configured" and dmesg says "cxm0: video > decoder isn't locked". The driver defaults to channel 4 which is mapped to 62.25 MHz by the BG channel map used by the driver. Is something broadcast on that frequency in your area and do you have a good antenna or cable connection attached to the coax connector on the card? Enclosed is a little utility for changing channels and selecting the input. -- John ----------------8<----------------------8<---------------------------- #include <stdio.h> #include <fcntl.h> #include <sys/types.h> #include <sys/ioctl.h> #include <machine/ioctl_bt848.h> #include <machine/ioctl_meteor.h> #include <unistd.h> /****************************************************************************/ /* setchannel.c - Set the channel of the bktr tuner card. */ /* */ /* COMPILE WITH: cc -o setchannel setchannel.c */ /****************************************************************************/ static void usage() { printf("Usage: setchannel <-a {on|off}|-c|-s|-t|-t channel|channel>\n" " -a Enable / disable AFC.\n" " -c Select composite input.\n" " -s Select svideo input.\n" " -t Select tuner.\n"); } int main( int argc, char *argv[] ) { int afc; int c; int status; int tfd; unsigned int channel; unsigned long device; afc = -1; channel = 0; device = 0; status = 0; while ((c = getopt (argc, argv, "a:cst")) != -1) switch (c) { case 'a': if (strcasecmp (optarg, "on") == 0) afc = 1; else if (strcasecmp (optarg, "off") == 0) afc = 0; else { usage (); exit (1); } break; case 'c': device = METEOR_INPUT_DEV2; break; case 's': device = METEOR_INPUT_DEV_SVIDEO; break; case 't': device = METEOR_INPUT_DEV1; break; default: usage (); exit (1); } if ( optind < argc) channel = atoi( argv[optind] ); if (afc == -1 && ! channel && ! device) { usage (); exit (1); } tfd = open( "/dev/cxm0", O_RDONLY ); if ( tfd < 0 ) { perror( "open() of /dev/cxm0 failed." ); exit(1); } if (afc != -1) if ( ioctl( tfd, TVTUNER_SETAFC, &afc ) < 0 ) { perror( "ioctl( tfd, TVTUNER_SETAFC ) failed." ); status = 1; } if (device) if ( ioctl( tfd, METEORSINPUT, &device ) < 0 ) { perror( "ioctl( tfd, METEORSINPUT ) failed." ); status = 1; } if (channel) if ( ioctl( tfd, TVTUNER_SETCHNL, &channel ) < 0 ) { perror( "ioctl( tfd, TVTUNER_SETCHNL ) failed." ); status = 1; } close ( tfd ); exit ( status ); } ------------------------------------------------------------------------- | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com | | John Wehle | Fax: 1-215-540-5495 | | -------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403212331.i2LNVRL14391>