Pinnacle PCTV HD Mini Stick (80e)

From LinuxTVWiki
Revision as of 23:42, 5 January 2013 by Oatkinson (talk | contribs) (→‎Making It Work)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Pinnacle PCTV HD mini Stick (80e)

An ATSC USB 2.0 device by Pinnacle.

It not supported under Linux, although there is now a beta driver which can be found here: [1]. A more up to date driver can be found here: [2]

Overview/Features

An USB TV Tuner that supports 8-VSB and QAM. The unit ships with an IR remote control & telescopic antenna.

Components Used

Circuit board
Circuit board
Manufacturer IC Part # Function I²C address GPIO(s)
Philips / NXP TDA18271 C2 Tuner 0xc0 n/a
Micronas DRX 3933J 8VSB / QAM Digital Demodulator [3] 0x52 reset=6
Empia EM2874 USB Bridge n/a n/a
EEPROM 0xa0 n/a
LED n/a active=7

Identification

USB Subsystem ID is: 2304:023f.

Output of lsusb -v:

Bus 007 Device 003: ID 2304:023f Pinnacle Systems, Inc. [hex]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x2304 Pinnacle Systems, Inc. [hex]
  idProduct          0x023f
  bcdDevice            1.00
  iManufacturer           1 Pinnacle Systems
  iProduct                2 PCTV 80e
  iSerial                 3 123456789012
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Making It Work

On July 4, 2010, KernelLabs released a beta driver for this device. It is intended to be merged upstream once it has been cleaned up to meet the Linux kernel coding standards. More Information can be found in this blog post: KernelLabs blog

Note: The patches do not work with current kernels like 2.6-35 due to changes in the surrounding mainline kernel (API breakage).

In October 2011, Patrick Dickey created a project on Github to clean up the code an apply it to the latest base code at the time. It can be found at: [4] The readme has very good information on how to get it to work.

External Links