Re: Can't use my Pinnacle PCTV HD Pro stick - what am I doing wrong?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi,

The attach_xc3028() of em28xx-dvb.c does not give the firmware filename:
static int attach_xc3028(u8 addr, struct em28xx *dev)
{
	struct dvb_frontend *fe;
	struct xc2028_config cfg;

	memset(&cfg, 0, sizeof(cfg));
	cfg.i2c_adap  = &dev->i2c_adap;
	cfg.i2c_addr  = addr;

	if (!dev->dvb->frontend) {
		printk(KERN_ERR "%s/2: dvb frontend not attached. "
				"Can't attach xc3028\n",
		       dev->name);
		return -EINVAL;
	}

	fe = dvb_attach(xc2028_attach, dev->dvb->frontend, &cfg);
	if (!fe) {
		printk(KERN_ERR "%s/2: xc3028 attach failed\n",
		       dev->name);
		dvb_frontend_detach(dev->dvb->frontend);
		dev->dvb->frontend = NULL;
		return -EINVAL;
	}

	printk(KERN_INFO "%s/2: xc3028 attached\n", dev->name);

	return 0;
}

And in the check_firmware() of tuner-xc2028.c, the
load_all_firmwares() will not be called because the xc2028/3028
firmware name not set:
		if (!priv->ctrl.fname) {
			tuner_info("xc2028/3028 firmware name not set!\n");
			return -EINVAL;
		}
		rc = load_all_firmwares(fe);

Best Regards,
Terry

2009/6/21 George Adams <g_adams27@xxxxxxxxxxx>:
>
> Hello.  I'm having problems getting my (USB) PCTV HD Pro Stick (800e,
> the "old" style) to work under V4L.  Could anyone spot the problem in
> what I'm doing?
>
> I'm running Ubuntu 8.04.2 LTS (the 2.6.24-24-server kernel), and am
> following this procedure (based on
> http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers).
> I intend to use this to tune to USA NTSC channel 3 (to capture a
> close-captioned feed inside our building)
>
> 1) Extract and copy the firmware file I need
>   (xc3028-v27.fw) to /lib/firmware
>
> 2) cd /usr/local/src
>
> 3) hg clone http://linuxtv.org/hg/v4l-dvb
>
> 4) cd v4l-dvb
>
> 5) make rminstall; make distclean; make; make install
>
> These seems to do what it's supposed to - installs the drivers into
> /lib/modules/2.6.24-24-server .  My PCTV HD Pro Stick uses the em28xx
> drivers.
>
>> find /lib/modules/ -type f -name "em28*" -mtime -1
>    /lib/modules/2.6.24-24-server/kernel/drivers/media/video/em28xx/em28xx.ko
>    /lib/modules/2.6.24-24-server/kernel/drivers/media/video/em28xx/em28xx-dvb.ko
>
> 6) Reboot with the USB capture device plugged in
>
> 7) Examine "dmesg" for details related to the capture device
>
> - em28xx: New device Pinnacle Systems PCTV 800e @ 480 Mbps (2304:0227, interface 0, class 0)
> - em28xx #0: Identified as Pinnacle PCTV HD Pro Stick (card=17)
> - em28xx #0: chip ID is em2882/em2883
> - - -> GSI 22 (level, low) -> IRQ 22
> - PCI: Setting latency timer of device 0000:00:1b.0 to 64
> - em28xx #0: i2c eeprom 00: 1a eb 67 95 04 23 27 02 d0 12 5c 03 8e 16 a4 1c
> - em28xx #0: i2c eeprom 10: 6a 24 27 57 46 07 01 00 00 00 00 00 00 00 00 00
> - em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 02 00 b8 00 00 00 5b 1c 00 00
> - em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00
> - em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> - em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> - em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 24 03 50 00 69 00
> - em28xx #0: i2c eeprom 70: 6e 00 6e 00 61 00 63 00 6c 00 65 00 20 00 53 00
> - em28xx #0: i2c eeprom 80: 79 00 73 00 74 00 65 00 6d 00 73 00 00 00 16 03
> - em28xx #0: i2c eeprom 90: 50 00 43 00 54 00 56 00 20 00 38 00 30 00 30 00
> - em28xx #0: i2c eeprom a0: 65 00 00 00 1c 03 30 00 36 00 31 00 30 00 30 00
> - em28xx #0: i2c eeprom b0: 31 00 30 00 33 00 39 00 34 00 34 00 32 00 00 00
> - em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> - em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> - em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> - em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> - em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x2de5abbf
> - em28xx #0: EEPROM info:
> - em28xx #0:       AC97 audio (5 sample rates)
> - em28xx #0:       500mA max power
> - em28xx #0:       Table at 0x27, strings=0x168e, 0x1ca4, 0x246a
> - hda_codec: Unknown model for ALC882, trying auto-probe from BIOS...
> - input: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:1a.7/usb4/4-3/input/input6
> - - -> GSI 20 (level, low) -> IRQ 23
> - Vortex: init.... em28xx #0: Config register raw data: 0xd0
> - em28xx #0: AC97 vendor ID = 0xffffffff
> - em28xx #0: AC97 features = 0x6a90
> - em28xx #0: Empia 202 AC97 audio processor detected
> - em28xx #0: v4l2 driver version 0.1.2
> - em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
> - usbcore: registered new interface driver em28xx
> - em28xx driver loaded
> - xc2028 0-0061: creating new instance
> - xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
> - em28xx #0/2: xc3028 attached
> - DVB: registering new adapter (em28xx #0)
> - DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)...
> - Successfully loaded em28xx-dvb
> - Em28xx: Initialized (Em28xx dvb Extension) extension
> - done.
>
> Everything looks good - the drivers are getting called and the card is
> recognized.  However, all my attempts to get something "out of it"
> aren't working.  I tried firing up "tvtime", but it just launches a
> blank, black screen and hanges.  The menu won't come up, the channel
> won't change, right-clicking isn't responsive, it won't close, and I
> have to kill it.
>
> I also tried mencoder, but I get this:
>
>> mencoder -nosound -tv driver=v4l2:width=640:height=480 tv://3 -o /tmp/tv.avi -ovc raw -endpos 5
>
> MEncoder 2:1.0~rc2-0ubuntu13.1+medibuntu1 (C) 2000-2007 MPlayer Team
> CPU: Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz
>  (Family: 6, Model: 23, Stepping: 10)
> CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> Compiled with runtime CPU detection.
> success: format: 9  data: 0x0 - 0x0
> TV file format detected.
> Selected driver: v4l2
>  name: Video 4 Linux 2 input
>  author: Martin Olschewski
>  comment: first try, more to come ;-)
> Selected device: Pinnacle PCTV HD Pro Stick
>  Tuner cap:
>  Tuner rxs:
>  Capabilites:  video capture  tuner  audio  read/write  streaming
>  supported norms: 0 = NTSC; 1 = NTSC-M; 2 = NTSC-M-JP; 3 = NTSC-M-KR; 4
>   = NTSC-443; 5 = PAL; 6 = PAL-BG; 7 = PAL-H; 8 = PAL-I; 9 = PAL-DK;
>   10 = PAL-M; 11 = PAL-N; 12 = PAL-Nc; 13 = PAL-60; 14 = SECAM; 15 =
>   SECAM-B; 16 = SECAM-G; 17 = SECAM-H; 18 = SECAM-DK; 19 = SECAM-L; 20
>   = SECAM-Lc;
>  inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
>  Current input: 0
>  Current format: YUYV
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> [V] filefmt:9  fourcc:0x32595559  size:640x480  fps:25.00  ftime:=0.0400
> Opening video filter: [expand osd=1]
> Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
> ==========================================================================
> Opening video decoder: [raw] RAW Uncompressed Video
> VDec: vo config request - 640 x 480 (preferred colorspace: Packed YUY2)
> VDec: using Packed YUY2 as output csp (no 0)
> Movie-Aspect is undefined - no prescaling applied.
> Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
> ==========================================================================
> Forcing audio preload to 0, max pts correction to 0.
> v4l2: select timeout
>
> Skipping frame!
> Pos:   0.0s      1f ( 0%)  0.96fps Trem:   0min   0mb  A-V:0.000 [0:0]
> Skipping frame!
> v4l2: select timeout( 0%)  1.28fps Trem:   0min   0mb  A-V:0.000 [0:0]
>
> Skipping frame!
> Pos:   0.0s      3f ( 0%)  1.44fps Trem:   0min   0mb  A-V:0.000 [0:0]
> Skipping frame!
> v4l2: select timeout( 0%)  1.54fps Trem:   0min   0mb  A-V:0.000 [0:0]
>
> Skipping frame!
> Pos:   0.0s      5f ( 0%)  1.60fps Trem:   0min   0mb  A-V:0.000 [0:0]
> Skipping frame!
> v4l2: select timeout( 0%)  1.65fps Trem:   0min   0mb  A-V:0.000 [0:0]
>
> Skipping frame!
> Pos:   0.0s      7f ( 0%)  1.68fps Trem:   0min   0mb  A-V:0.000 [0:0]
> Skipping frame!
> Pos:   0.0s      8f ( 0%)  1.71fps Trem:   0min   0mb  A-V:0.000 [0:0]
>
>
> The resulting file (/tmp/tv.avi) is only 4K and not a valid AVI file.
>
>
>
> One thing I noticed that differs from what I was expecting is that
> nowhere in the "dmesg" output does it say anything about the firmware
> file.  I was expecting to see this in "dmesg":
>
> - firmware: requesting xc3028-v27.fw
> - xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw,
> -   type: xc2028 firmware, ver 2.7
>
> but nothing approximating those lines appears at all.  I tried deleting
> /lib/firmware/xc3028-v27.fw entirely to see if it would complain, but
> it loaded up exactly the same way after I rebooted...  and still didn't
> work.
>
> So my questions are:
>
> 1) Why is the firmware file not being read?  Has something happened to
> the em28xx drivers recently that causes this file not to be needed
> anymore?  Or is something else going wrong?
>
> 2) Is that the reason for the problem, or have you spotted something
> else I've done wrong?
>
> Thanks greatly to anyone who can help!
>
> _________________________________________________________________
> Insert movie times and more without leaving Hotmail®.
> http://windowslive.com/Tutorial/Hotmail/QuickAdd?ocid=TXT_TAGLM_WL_HM_Tutorial_QuickAdd_062009
>
> --
> video4linux-list mailing list
> Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
> https://www.redhat.com/mailman/listinfo/video4linux-list
>

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

[Linux Media]     [Older V4L]     [Linux DVB]     [Video Disk Recorder]     [Linux Kernel]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [SSH]     [DVB Maintainers]     [Linux USB]     [Yosemite Information]

Add to Google Powered by Linux