Skip site navigation (1)Skip section navigation (2)
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>