Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jan 2011 20:41:41 -0500
From:      Andrew Gallatin <gallatin@gmail.com>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-multimedia@freebsd.org
Subject:   webcamd: PCTV 801eSE
Message-ID:  <AANLkTinh7mA5jrr1240LnOSGL37yzb2uW_yWZfBD5cpa@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi Hans,

I'm trying to use a USB stick that I just bought.
(http://linuxtv.org/wiki/index.php/Pinnacle_PCTV_HD_Stick_(801eSE))

It works perfectly under Linux (Arch Linux's 2.6.35).  Webcamd sees it, and
it seems to almost work:

#  usbconfig -u 4 -a 2 dump_device_desc
ugen4.2: <PCTV 801e YUANRD> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x2304
  idProduct = 0x023a
  bcdDevice = 0x0100
  iManufacturer = 0x0001  <YUANRD>
  iProduct = 0x0002  <PCTV 801e>
  iSerialNumber = 0x0003  <01008D3B7A>
  bNumConfigurations = 0x0001


# webcamd
<...>
dvb-usb: found a 'Pinnacle PCTV HD Pro USB Stick' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (Pinnacle PCTV HD Pro USB Stick)
DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...
xc5000 129-0064: creating new instance
xc5000: Successfully identified at address 0x64
xc5000: Firmware has been loaded previously
dvb-usb: schedule remote query interval to 50 msecs.
dvb-usb: Pinnacle PCTV HD Pro USB Stick successfully initialized and connected.
dib0700: rc submit urb failed

Creating /dev/dvb/adapter0/demux0
Creating /dev/dvb/adapter0/dvr0
Creating /dev/dvb/adapter0/frontend0
xc5000: waiting for firmware upload (dvb-fe-xc5000-1.6.114.fw)...
Loading firmware at '/boot/modules/dvb-fe-xc5000-1.6.114.fw', f=7
xc5000: firmware read Zu bytes.
xc5000: firmware uploading...
xc5000: firmware upload complete...
dib0700: i2c write error (status = -32)

s5h1411_readreg: readreg error (ret == 0)
dib0700: i2c write error (status = -32)

s5h1411_readreg: readreg error (ret == 0)


However, I'm running into issues in that the actual recorded stream is
quite corrupt, even though the signal is fine, and the same station
comes in clearly if I boot into linux.  Eg, a tool like "azap" does
not show any "uncorrectable errors", but the stream itself is
pixelated / corrupt enough to crash mplayer.   I can see just enough
of the picture to tell that I'm tuned to the correct station.   I'm
not sure if this is a tuning issue, or a USB issue or what is going
on.  I also do not see the
s5h1411_readreg and dib0700 errors on linux. These errors do not
happen all the time on FreeBSD either.  But the stream is always
corrupt.

This is on a fairly beefy machine (Xeon 5150  @ 2.66GHz) which can
easily sustain 20Gb/s through its PCIe bus (its one of my 10GbE
testing machines in my home lab)..  I'm running 9-current as of last
weekend, with witness/diagnostic disabled.  I'm running webcamd pulled
from your svn as of this evening.  A ~2 week old build also shows the
same issue.

Can you offer any advice as to how to debug this?


Thanks,

Drew

PS: One more bit of info -- when I ^C test_dvr, it hangs.  I have to
^C webcamd itself to get azap & test_dvr to exit.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinh7mA5jrr1240LnOSGL37yzb2uW_yWZfBD5cpa>