Author Topic: Hauppauge HDPVR (1480) Gameplayer edition - any chance I can get it working?  (Read 5015 times)

jamo

  • Guru
  • ****
  • Posts: 463
    • View Profile
    • LMCE user Page
So I tried to use the HD_PVR with LInuxMCE... but the newer 1480 or gameplayer edition. LinuxMCE didn't respond at all when I plugged it into the MD and I've verified it's working so it seemed to be a driver issue or similar.

lsusb showed:

Bus 001 Device 003: ID 2040:e502 Hauppauge

So it was connected etc but dmesg had no record of a driver responding.

On doing some reading, it appears that this model is not supported by LInux. Blast. Apparently the driver in question is called hdpvr and I even came across some forum entries where people had managed to get newer HDPVR versions (than the original 1212) working by modifying the driver code to detect the model.

I gave this a bash - adding a new product id with the code (e502) reported on lsusb for my model-
Code: [Select]
i media/drivers/media/usb/hdpvr/hdpvr.h

added ID5:
#define HD_PVR_VENDOR_ID        0x2040
#define HD_PVR_PRODUCT_ID       0x4900
#define HD_PVR_PRODUCT_ID1      0x4901
#define HD_PVR_PRODUCT_ID2      0x4902
#define HD_PVR_PRODUCT_ID4      0x4903
#define HD_PVR_PRODUCT_ID3      0x4982
#define HD_PVR_PRODUCT_ID5      0xe502

vi media/drivers/media/usb/hdpvr/hdpvr-core.c

/* table of devices that work with this driver */
static struct usb_device_id hdpvr_table[] = {
        { USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID) },
        { USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID1) },
        { USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID2) },
        { USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID3) },
        { USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID4) },
        { USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID5) },
        { }                                     /* Terminating entry */
};

And then recompiled the driver and modprobed it. Then, on plugging in the hdpvr, at least the driver did try to respond but dmesg shows it crashing out on initialisation with the message -
Code: [Select]
kern.log:Jan 18 06:21:18 moon76 kernel: [49733.312114] hdpvr 1-1:1.0: unexpected answer of status request, len -32
kern.log:Jan 18 06:21:18 moon76 kernel: [49733.312127] hdpvr 1-1:1.0: device init failed
kern.log:Jan 18 06:21:18 moon76 kernel: [49733.312206] hdpvr: probe of 1-1:1.0 failed with error -12

Am I on a hiding to nothing here or is there a chance I'll be able to sort out this driver to support the device? Any suggestions?

The offending bit of code, if anyone eats C++ for breakfast, is at http://pastebin.com/3eeNqkfB
and it's in a function called "device_authorization":
Code: [Select]
        ret = usb_control_msg(dev->udev,
                              usb_rcvctrlpipe(dev->udev, 0),
                              rcv_request, 0x80 | request_type,
                              0x0400, 0x0003,
                              dev->usbc_buf, 46,
                              10000);
        if (ret != 46) {
                v4l2_err(&dev->v4l2_dev,
                         "unexpected answer of status request, len %d\n", ret);
                goto unlock;
So I guess it's requesting control of the usb device, expecting 46 back but getting 32 and, quite understandably, getting flustered when it receives 32. And then cowardly bailing out.

Any thoughts or suggestions?

cheers
James


Marie.O

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3676
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Return it and get a support one.

tkmedia

  • wants to work for LinuxMCE
  • **
  • Posts: 937
    • View Profile
    • LMCECompatible
Return it and get a support one.

He will have to return it to lmcecompatible then. soon to be lmceincompatible

The 1212 has been replaced by this version and my supplier was kind enough to send it without notifying me.
So we are hoping to get it working for the community.
Jamo was kind enough to offer his help in trying to get it working.

From my understanding there are issues with 1004 and the 1212 as well.

Jamo guess you were right. ;)


Tim


« Last Edit: January 20, 2013, 01:51:30 am by tkmedia »
My Setup http://wiki.linuxmce.org/index.php/User:Tkmedia

For LinuxMce compatible  systems and accessories
http://lmcecompatible.com/