Cannot install USB webcam on Ubuntu16.04 with Wine 4

Questions about Wine on Linux
Locked
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

Is it possible?
I have seen contradictory statements many of which are regarding older versions of Wine.

I have some custom windows based software that my company has been using for over 20 years. I can modify this software as my needs change however, it seems that with every iteration of Windows, XP, 7 , 10, I loose some functionality. I need a more stable platform to run this on. Hence, Linux. I have chosen Ubuntu 16.04 (as some of my machines are not 64 bit). I will accept ANY flavor of Linux if I can get this to work. The program runs perfectly, in Ubuntu, except for one thing. The users need to be able to snap images of their product. Currently we use an IPEVO Point-2-View USB webcam at each machine to do this.

I am unable to get the Wine to see the webcam. I have tried MANY different solutions that I have found about this. None seem to work. I know my way around Linux pretty well but am by no means an expert. If this IS possible I think that I must just be missing something in the installation.

As it sits now, when I plug in the webcam, "Cheese" works fine. Looking at /dev/ I have no ttyUSB files I do however have many ttyx and ttySx files ( about 40 or so of them). If I need to symlink one of them to a COM port, how do I know which one?

Note: Changing away from the custom software is not an option.

dmesg outputs

Code: Select all

[    2.323981] usb 1-6: new high-speed USB device number 3 using ehci-pci
[    2.482249] usb 1-6: New USB device found, idVendor=1778, idProduct=0204
[    2.482302] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.482354] usb 1-6: Product: IPEVO Point 2 View
[    2.482400] usb 1-6: Manufacturer: IPEVO corp
[    2.483609] hid-generic 0003:1778:0204.0004: hiddev1,hidraw3: USB HID v1.10 Device [IPEVO corp IPEVO Point 2 View] on usb-0000:00:1d.7-6/input2
lsusb -v outputs this

Code: Select all

Bus 001 Device 007: ID 1778:0204  
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1778 
  idProduct          0x0204 
  bcdDevice           10.12
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          905
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      64
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0 
      iInterface              0 
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength           80
        dwClockFrequency        6.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       1
      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          0
        iTerminal               0 
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x000200a2
          Auto-Exposure Mode
          Focus (Absolute)
          Iris (Absolute)
          Focus, Auto
      VideoControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 3
        bSourceID               1
        wMaxMultiplier          0
        bControlSize            2
        bmControls     0x0000147f
          Brightness
          Contrast
          Hue
          Saturation
          Sharpness
          Gamma
          White Balance Temperature
          Power Line Frequency
          White Balance Temperature, Auto
        iProcessing             0 
        bmVideoStandards     0x1d
          None
          PAL - 625/50
          SECAM - 625/50
          NTSC - 625/50
      VideoControl Interface Descriptor:
        bLength                29
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                 4
        guidExtensionCode         {2652215a-8932-5641-894a-5c557cdf9664}
        bNumControl             4
        bNrPins                 1
        baSourceID( 0)          3
        bControlSize            4
        bmControls( 0)       0xff
        bmControls( 1)       0xff
        bmControls( 2)       0xff
        bmControls( 3)       0xff
        iExtension              0 
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               4
        iTerminal               0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
        INTERFACE CLASS:  0f 24 01 02 da 02 82 00 02 02 01 00 01 00 00
        INTERFACE CLASS:  1b 24 04 01 0b 59 55 59 32 00 00 10 00 80 00 00 aa 00 38 9b 71 10 01 00 00 00 00
        INTERFACE CLASS:  1e 24 05 01 00 80 02 e0 01 00 00 ca 08 00 00 ca 08 00 60 09 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 05 02 00 a0 00 78 00 00 a0 8c 00 00 a0 8c 00 00 96 00 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 05 03 00 b0 00 90 00 00 a0 b9 00 00 a0 b9 00 00 c6 00 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 05 04 00 40 01 f0 00 00 80 32 02 00 80 32 02 00 58 02 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 05 05 00 60 01 20 01 00 80 e6 02 00 80 e6 02 00 18 03 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 05 06 00 20 03 58 02 00 d0 dd 06 00 d0 dd 06 00 a6 0e 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 05 07 00 00 04 00 03 00 00 40 0b 00 00 40 0b 00 00 18 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 05 08 00 00 05 c0 03 00 00 94 11 00 00 94 11 00 80 25 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 05 09 00 00 05 00 04 00 00 c0 12 00 00 c0 12 00 00 28 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 05 0a 00 40 06 b0 04 00 40 77 1b 00 40 77 1b 00 98 3a 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 05 01 00 80 02 e0 01 00 00 ca 08 00 00 ca 08 00 60 09 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  0b 24 06 02 0b 00 01 00 00 00 00
        INTERFACE CLASS:  1e 24 07 01 00 80 02 e0 01 00 00 ca 08 00 00 ca 08 00 60 09 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 07 02 00 a0 00 78 00 00 a0 8c 00 00 a0 8c 00 00 96 00 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 07 03 00 b0 00 90 00 00 a0 b9 00 00 a0 b9 00 00 c6 00 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 07 04 00 40 01 f0 00 00 80 32 02 00 80 32 02 00 58 02 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 07 05 00 60 01 20 01 00 80 e6 02 00 80 e6 02 00 18 03 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  1e 24 07 06 00 20 03 58 02 00 d0 dd 06 00 d0 dd 06 00 a6 0e 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 07 07 00 00 04 00 03 00 00 40 0b 00 00 40 0b 00 00 18 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 07 08 00 00 05 c0 03 00 00 94 11 00 00 94 11 00 80 25 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 07 09 00 00 05 00 04 00 00 c0 12 00 00 c0 12 00 00 28 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 07 0a 00 40 06 b0 04 00 40 77 1b 00 40 77 1b 00 98 3a 00 2a 2c 0a 00 01 2a 2c 0a 00
        INTERFACE CLASS:  1e 24 07 01 00 80 02 e0 01 00 00 ca 08 00 00 ca 08 00 60 09 00 15 16 05 00 01 15 16 05 00
        INTERFACE CLASS:  0b 24 03 00 01 40 06 b0 04 01 00
        INTERFACE CLASS:  06 24 0d 00 00 00
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13fc  3x 1020 bytes
        bInterval               1
Please let me know what other info you might need.
Thanks, in advance.
jkfloris
Level 12
Level 12
Posts: 3141
Joined: Thu Aug 14, 2014 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by jkfloris »

As it sits now, when I plug in the webcam, "Cheese" works fine. Looking at /dev/ I have no ttyUSB files
Do you have a /dev/video* file?

Could you retry the application with a release candidate of Wine 5.0?
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

Yes, I have a /dev/video0 file.... I will try with Wine5.
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

Retried with Wine 5-rc3... no luck. also symlinked video0 to com1. Not sure if that was where you were going with your question but I thought I'd try it...

Code: Select all

lce@lce-Workstation-1:/dev$ ls -al ~/.wine/dosdevices/com1
lrwxrwxrwx 1 root root 11 Jan  2 14:00 /home/lce/.wine/dosdevices/com1 -> /dev/video0
also changed owner of /dev/video0 to "lce" and grp to "dialout" .......nothing.
jkfloris
Level 12
Level 12
Posts: 3141
Joined: Thu Aug 14, 2014 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by jkfloris »

Not sure if that was where you were going with your question but I thought I'd try it...
Yes, but instead of com1, could you use com5?
(Wine will override com1 if you don't set a registry key)

Code: Select all

cd ~/.wine/dosdevices
ln -s /dev/video0 com5
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

cd ~/.wine/dosdevices
ln -s /dev/video0 com5
tried this... no luck. Also changed owner to "lce" and group to "dialout" just in case. completed each action independent of each other. no joy.
jkfloris
Level 12
Level 12
Posts: 3141
Joined: Thu Aug 14, 2014 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by jkfloris »

Do you get a picture if you try the webcam with another program in Wine? For example VLC.
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

No other programs work in Wine. I have tried my custom program, IPEVO "Presenter" which comes with the camera, VLC, and Infraview. none will see the camera.
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

Quick correction it's IrfanView not infraview.
jkfloris
Level 12
Level 12
Posts: 3141
Joined: Thu Aug 14, 2014 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by jkfloris »

Could you post a terminal output when you try to play com5 with VLC?

Code: Select all

cd path/to/VideoLAN/VLC
wine vlc.exe dshow://com5 :dshow-adev=none
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

Code: Select all

 wine vlc.exe dshow://com5 :dshow-adev=none
0148:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0148:fixme:process:SetProcessDEPPolicy (1): stub
0148:fixme:process:SetProcessMitigationPolicy (10, 006FFC0C, 4): stub
014b:fixme:pulse:AudioSessionControl_SetDisplayName (0x7b0768)->(0x2ef818, (null)) - stub
014b:fixme:pulse:AudioSessionControl_RegisterAudioSessionNotification (0x7b0768)->(0x2ef6f0) - stub
014b:fixme:pulse:AudioSessionManager_RegisterDuckNotification (0x7b0048)->(0x2ef6f4) - stub
[00235f10] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
014f:fixme:msg:ChangeWindowMessageFilterEx 0x2f01e4 c069 1 (nil)
0151:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"quartz.dll"
0151:err:ole:CoGetClassObject no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
0151:err:quartz:filter_graph_common_create Unable to create filter mapper (80070005)
0151:fixme:ole:CoCreateInstanceEx no instance created for interface {56a8689f-0ad4-11ce-b03a-0020af0ba770} of class {e436ebb3-524f-11ce-9f53-0020af0ba770}, hres is 0x80070005
0151:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"quartz.dll"
0151:err:ole:CoGetClassObject no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
[03374540] dshow demux error: can't open video device
[03374540] dshow demux error: FATAL: could not open ANY device
0151:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"quartz.dll"
0151:err:ole:CoGetClassObject no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
0151:err:quartz:filter_graph_common_create Unable to create filter mapper (80070005)
0151:fixme:ole:CoCreateInstanceEx no instance created for interface {56a8689f-0ad4-11ce-b03a-0020af0ba770} of class {e436ebb3-524f-11ce-9f53-0020af0ba770}, hres is 0x80070005
0151:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"quartz.dll"
0151:err:ole:CoGetClassObject no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
[00337868] dshow stream error: can't open video device
[00337868] dshow stream error: FATAL: could not open ANY device
Interesting though.. I borrowed a camera from a friend ( Ezonics Cam IV). I did not work either. I then installed PuTTY in Wine and monitored com5 with the camera plugged in. IPEVO: saw the port opened but no data stream. Ezonics: saw data stream coming in via com5.

It seems to me that, with the Ezonics camera at least, data IS making it into Wine com5. Question is " How can we tell the software that this is a USB port?"
Sheltico
Level 1
Level 1
Posts: 8
Joined: Mon Dec 30, 2019 10:10 am

Re: Cannot install USB webcam on Ubuntu16.04 with Wine 4

Post by Sheltico »

Ok, I have fiddled with this long enough. I am concluding that it is not do-able at this point. Thank you for your help. I am contemplating a work around, in which I modify "Cheese" or write my own imaging prog for Linux and launch it from my custom app.

Although this was unsuccessful, I do appreciate all of you who answer questions on this and other forums. I will continue to seek knowledge from those who are wiser than I and offer mine to those that I can.

Thanks
Locked