OpenLightingProject / ola

The Open Lighting Architecture - The Travel Adaptor for the Lighting Industry
https://www.openlighting.org/ola/
Other
647 stars 206 forks source link

OLA causes VCP drivers to stop working when usb device is unplugged #1239

Open hepiyellow opened 7 years ago

hepiyellow commented 7 years ago

Steps to reproduce: Running on MacBook Pro Mid 2012 with OS X 10.11.6 Installed VCP drivers version 2.3 Running olad 0.10.2

  1. When olad is not running, connect Enttec USB PRO
  2. run $ ls /dev |grep -i usb to make sure it is detected by VCP driver - > result is:
    cu.usbserial-EN141121
    tty.usbserial-EN141121

    Let's call this "usb connected".

  3. Disconnect USB device, and run again $ ls /dev |grep -i usb -> result is nothing. Let's call this "usb NOT connected".
  4. Connect and run again -> Result "usb connected"
  5. Run olad (which is configured for universe 0 to use the DMX Pro as an output port.
  6. Disconnect UDB device.
  7. Connect USB Device, run $ ls /dev |grep -i usb -> result nothing while it should be ""usb connected".

This is my ola-usbserial.conf:

device_dir = /dev
device_prefix = ttyUSB
device_prefix = cu.usbserial-
device_prefix = ttyU
enabled = true
pro_fps_limit = 190
tri_use_raw_rdm = false
ultra_fps_limit = 40

There is also a ola-usbdmx.conf with this content:

enabled = true
libusb_debug_level = 0

I got the log file with log level 4, how should I post it?

hepiyellow commented 7 years ago

Update: It also happen to me with olad 0.10.3, but with 0.10.3 it only happens I am sending something to the device. Meaning, that when I connect the USB Pro and don't start sending anything (the green light on it does not blink), then I can't reproduce the issue. but once I start sending something and the green light blinks, the i can reproduce the issue by disconnecting and re-connecting the usb plug.

Also, when the issue occurs, if I plug the USB Pro to a different USB port on my machine then it works. Until I get that usb port stuck also (-:

hepiyellow commented 7 years ago

If it helps: When I look at "About this Mac"->"Overview"->"System Report", under Hardware->USB, I see 3 entries for the DMX USB PRO (Under the same bus), 2 of them with the same LocationId.

peternewman commented 7 years ago

Can we see some output from lsof https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/lsof.8.html

hepiyellow commented 7 years ago

Sorry for the delay, the USB device is not with me at the moment. Will post it in a couple of weeks. But coming to think of it, it makes sense that this is a VCP driver issue, rather then an OLA issue.

hepiyellow commented 7 years ago

Sorry, still don't have the device, but I tried with this cheap USB dongle which is supposed to be Enttec Open USB compatible. And OLAD doesn't recognize it at all. I must say that this dingle DOES work with MARTIN MPC which supports ENTTEC Open DMX.

Anyways olad doesn't recognize it, and thus the issue doesn't reproduce with it. Though, here is the lsof result after connecting the device:

b) lsof |grep -i usb
USBAgent  678 hepi  cwd      DIR                1,5      1156        2 /
USBAgent  678 hepi  txt      REG                1,5     35328 22065187 /usr/libexec/USBAgent
USBAgent  678 hepi  txt      REG                1,5    643792 22065062 /usr/lib/dyld
USBAgent  678 hepi  txt      REG                1,5 560084288 27575761 /private/var/db/dyld/dyld_shared_cache_x86_64
USBAgent  678 hepi    0r     CHR                3,2       0t0      305 /dev/null
USBAgent  678 hepi    1u     CHR                3,2       0t0      305 /dev/null
USBAgent  678 hepi    2u     CHR                3,2       0t0      305 /dev/null
USBAgent  678 hepi    3u  KQUEUE                                       count=2, state=0x12
olad      758 hepi  txt      REG                1,5    403060 37801979 /opt/local/lib/libolausbdmx.0.dylib
olad      758 hepi  txt      REG                1,5     86172 35659338 /opt/local/lib/libusb-1.0.0.dylib
olad      758 hepi  txt      REG                1,5    403064 37801982 /opt/local/lib/libolausbpro.0.dylib
olad      758 hepi  txt      REG                1,5     78928 37801985 /opt/local/lib/libolausbproconf.0.dylib
olad      758 hepi  txt      REG                1,5    188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib

I will get the ENTTEC USB DMX Pro again and reproduce it for the loss results.

hepiyellow commented 7 years ago

Got the device back finally. The problem is reproducing luckily (-:

Let me just add the the problem occurs only when DXM is actually sent to the device (green led blinking), this is done by opening the "DMX Console" in universe 0 in the OLA Admin.

So, when connected and working, After disconnecting while DMX is being sent:

lsof |grep -i usb
USBAgent    678 hepi  cwd      DIR                1,5       1156        2 /
USBAgent    678 hepi  txt      REG                1,5      35328 22065187 /usr/libexec/USBAgent
USBAgent    678 hepi  txt      REG                1,5     643792 22065062 /usr/lib/dyld
USBAgent    678 hepi  txt      REG                1,5  560084288 27575761 /private/var/db/dyld/dyld_shared_cache_x86_64
USBAgent    678 hepi    0r     CHR                3,2        0t0      305 /dev/null
USBAgent    678 hepi    1u     CHR                3,2        0t0      305 /dev/null
USBAgent    678 hepi    2u     CHR                3,2        0t0      305 /dev/null
USBAgent    678 hepi    3u  KQUEUE                                        count=2, state=0x12
Google     6093 hepi  txt      REG                1,5     188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib
MIDIServe 13954 hepi  txt      REG                1,5     108640 22055700 /System/Library/Extensions/AppleMIDIUSBDriver.plugin/Contents/MacOS/AppleMIDIUSBDriver
MIDIServe 13954 hepi  txt      REG                1,5     188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib
olad      14460 hepi  txt      REG                1,5     403060 37801979 /opt/local/lib/libolausbdmx.0.dylib
olad      14460 hepi  txt      REG                1,5      86172 35659338 /opt/local/lib/libusb-1.0.0.dylib
olad      14460 hepi  txt      REG                1,5     403064 37801982 /opt/local/lib/libolausbpro.0.dylib
olad      14460 hepi  txt      REG                1,5      78928 37801985 /opt/local/lib/libolausbproconf.0.dylib
olad      14460 hepi  txt      REG                1,5     188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib

After connecting (when the device is not recognized anymore):

lsof |grep -i usb
USBAgent    678 hepi  cwd      DIR                1,5       1156        2 /
USBAgent    678 hepi  txt      REG                1,5      35328 22065187 /usr/libexec/USBAgent
USBAgent    678 hepi  txt      REG                1,5     643792 22065062 /usr/lib/dyld
USBAgent    678 hepi  txt      REG                1,5  560084288 27575761 /private/var/db/dyld/dyld_shared_cache_x86_64
USBAgent    678 hepi    0r     CHR                3,2        0t0      305 /dev/null
USBAgent    678 hepi    1u     CHR                3,2        0t0      305 /dev/null
USBAgent    678 hepi    2u     CHR                3,2        0t0      305 /dev/null
USBAgent    678 hepi    3u  KQUEUE                                        count=2, state=0x12
Google     6093 hepi  txt      REG                1,5     188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib
MIDIServe 13954 hepi  txt      REG                1,5     108640 22055700 /System/Library/Extensions/AppleMIDIUSBDriver.plugin/Contents/MacOS/AppleMIDIUSBDriver
MIDIServe 13954 hepi  txt      REG                1,5     188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib
olad      14460 hepi  txt      REG                1,5     403060 37801979 /opt/local/lib/libolausbdmx.0.dylib
olad      14460 hepi  txt      REG                1,5      86172 35659338 /opt/local/lib/libusb-1.0.0.dylib
olad      14460 hepi  txt      REG                1,5     403064 37801982 /opt/local/lib/libolausbpro.0.dylib
olad      14460 hepi  txt      REG                1,5      78928 37801985 /opt/local/lib/libolausbproconf.0.dylib
olad      14460 hepi  txt      REG                1,5     188528 22057564 /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib