Wine + HID USB

Questions about Wine on Linux
Locked
faykfox
Newbie
Newbie
Posts: 1
Joined: Sat May 24, 2014 4:59 pm

Wine + HID USB

Post by faykfox »

I know this has been covered before, but Wine keeps updating, and I couldn't find anything more recent than a year ago, so I thought it might be good to re-visit this topic.

I've got a USB device that I use for programming electronic speed controllers on my racing RC cars. It's a proprietary device that comes with no drivers, but a companion windows application. (shown here http://www.hobbywing.com/product_show.asp?id=218)

Wine 1.7 runs the windows application flawlessly.

The device is listed as a "USB Input Device" on windows, and driver details show that isuses the following drivers:

Code: Select all

hidclass.sys
hidparse.sys
hidusb.sys
Linux recognizes the device when plugged in. Here's the DMESG logs for when it's connected:

Code: Select all

[ 5693.515274] usb 5-1: new full-speed USB device number 8 using xhci_hcd
[ 5693.552268] usb 5-1: New USB device found, idVendor=10c4, idProduct=82cd
[ 5693.552290] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5693.552301] usb 5-1: Product: HOBBYWING LINK
[ 5693.552312] usb 5-1: Manufacturer: SILICON LABORATORIES
[ 5693.552888] usb 5-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 5693.552908] usb 5-1: ep 0x1 - rounding interval to 64 microframes, ep desc says 80 microframes
and finally, the LSUSB output for the device

Code: Select all

lsusb -d 10c4:82cd -v

Bus 005 Device 007: ID 10c4:82cd Cygnal Integrated Products, Inc. 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x10c4 Cygnal Integrated Products, Inc.
  idProduct          0x82cd 
  bcdDevice            0.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               64mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
      Warning: Descriptor too short
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode           30 Taiwan
          bNumDescriptors         2
          bDescriptorType        34 Report
          wDescriptorLength     143
          bDescriptorType         0 (null)
          wDescriptorLength       0
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0032  1x 50 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0032  1x 50 bytes
        bInterval              10
Unfortuantely, the companion application running under wine cannot see the device when it's plugged into my laptop.

Is there anything that I can do to get this device working under wine? If so, how? I'm fairly noobish with Wine, so please be specific!
oiaohm
Level 8
Level 8
Posts: 1020
Joined: Fri Feb 29, 2008 2:54 am

Re: Wine + HID USB

Post by oiaohm »

faykfox sorry bad news wine does not contain the required code todo that. Wine is not designed to operate devices.

http://open-bldc.org/wiki/Open-BLDC

One of the things about migrating to Linux is accepting that a percentage of hardware will become worthless to you. Lot of cases there are better solutions.
tgmoura
Newbie
Newbie
Posts: 1
Joined: Fri Feb 20, 2015 7:06 am

Re: Wine + HID USB

Post by tgmoura »

Hi there,

Sorry for bringing this post to live again, but today I'm facing the same problem as faykfox had, just with another proprietary device (and another controller as well).

So, after almost one year, don't we have any news about Wine supporting HID USB devices? Even an expected implementation in the future?

I've already searched over the web and I haven't found anything useful yet.

Thanks in advance,
Tiago
User avatar
olivierfrdierick
Level 5
Level 5
Posts: 258
Joined: Thu Sep 13, 2012 12:09 pm

Re: Wine + HID USB

Post by olivierfrdierick »

As oiaohm said, Wine does not handle devices itself.
To operate the device, the kernel has to recognize it and a module has to handle it.
If the kernel has no module that knows what to do with the device it won't be usable.
Wine features depends on what it can access through the interface provided by the host system.
Or so I think it works.
TerryJC
Newbie
Newbie
Posts: 2
Joined: Sun Feb 07, 2016 5:39 am

Re: Wine + HID USB

Post by TerryJC »

This topic is now over a year old and would indicate that there is little hope for users with HID devices. However, during my searches I found references to work going on to develop a hid.dll and associated hidclass.sys, back in June to September last year, so I had hopes that something might work if I updated wine to the latest version (1.9.3 at this time).

On examination, I certainly do seem to have those two files in my System32 directory, but my device is still not recognised by the Application (DPScopeSE.exe which I obtained from http://www.picaxe.com/Hardware/Add-on-M ... PCB-scope/).

Any thoughts as to why this might be?
User avatar
dimesio
Moderator
Moderator
Posts: 13207
Joined: Tue Mar 25, 2008 10:30 pm

Re: Wine + HID USB

Post by dimesio »

HID support is not yet complete.
TerryJC
Newbie
Newbie
Posts: 2
Joined: Sun Feb 07, 2016 5:39 am

Re: Wine + HID USB

Post by TerryJC »

Ah... That explains it. Any ideas when it might be finished?
Locked