-
-
Notifications
You must be signed in to change notification settings - Fork 389
[Windows] Connection problems with Enttec OpenDMX USB Interface #1666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
What we know about this so far:
|
@mcallegari any news on this? Is there any chance that this issue is related to #1656 ? |
No |
Same issue here - tried on two Win 11 machines, driver was reinstalled several times - but with the interface connected, QLC won't start. When the interface is connected after the program start, the software crashes. |
We involved ENTTEC and they cannot reproduce the issue either on two Windows 11 machines. |
@mcallegari the weird thing is that, in my case, it started to happen only in december. Before than, i used another open-DMX interface (worked without any issues), that got killed by a voltage surge. When trying the new one, it worked well but only for 1 time. The second time opening it it started giving issues (the PC is alsways the same). Is there any log file that I can share when I try to open the app with the interface connected? |
@alessandrocaseti can you please confirm if you are using an original Enttec Open DMX or a clone? |
Yes, i confirm. The interface is undoubtedly original. |
Windows 11 24H2 x64, QLC+ 4.14.0, CDM212364 driver from FTDI Website, both fake and real FTDI chip based adapters, cannot reproduce BTW drivers from enttec website are identical to CDM212364 from FTDI website, checksums of files used are identical: ftd2xx64.dll, ftser2k.lib, ftcserco.dll, ftserui2.dll checked. |
don't know if this can be helpful, but i've recently changed the disk on the PC that has this problem from a HD to an SSD and I still get this issue (did a clean windows 11 install via USB, i didn't clone the old disk). |
I'm running into the same issue when using Enttec OpenDMX, and it has been working great for the last 3 years until some time a couple of months ago, and it seems to be an AV on ftd2xx64!FT_GetQueueStatus, dmxusb!qt_plugin_instance. I tried installing also qLC 4.14.0 and it did not solve the issue. (I use Windows 10 Version 22H2 19045.5608) 0:000> kb RetAddr : Args to Child : Call Site00 00007ffa 0:000> lmDvmdmxusb 0:000> !lmi ftd2xx64 0:000> g I've tried installing the latest drivers I found in the Enttec site below, but does not seem to solve the problem: Also tried the newer ones here: https://ftdichip.com/drivers/d2xx-drivers/ Are there private pdb symbols, I'm happy to help debug if useful. |
Can we get some PC specs/model numbers for the machines you guys are having issues with? I'd be interested in trying to correlate the data to find common factors. As stated by Massimo, ENTTEC wants to help us with this but is currently unable to reproduce the problem. |
Mine is an Enttec Open DMX USB PN: 70303, 2352687. and I just connected the same Enttec Open DMX to my Win11 Desktop and get the same AV's: For what is worth, the AV happens when calling FT_EE_Read at line 58 plugins\dmxusb\src\ftd2xx-interface.cpp, but it is hard to say more given there are no symbols for that (I built it locally so I could get the symbols and debug the source, but that is as far as symbols go). static FT_STATUS get_interface_info(DWORD deviceIndex, It seems that eventually it happens in ftd2xx64!FT_GetQueueStatus. FWIW, I downloaded the Enttec c# sample and it seems to work turning on the lights connected to it, is able to FT_OPEN it correctly (same as QLC), and then uses FT_SetBreakOn/Off and FT_WRITE all good. Happy to help troubleshoot whatever else is needed (let me know if more specs are useful, though given I've seen the same device misbehave on completely different machines with different Windows and all, I suspect it is more about the device and maybe the chip used). |
potential fix found on the forum https://www.qlcplus.org/forum/viewtopic.php?p=76948#p76948 seems to be an issue related to the serial number ?? |
I am working around this issue for now while the real fix is found by running my own build of QLC and commenting out the call to FT_EE_READ and I am just hardcoding my device info that I got by writing a quick program using FT_CreateDeviceInfoList and FT_GetDeviceInfoList. vendor = QString("FTDI"); One thing I noticed is that in the past very commonly it would show in the Input/Output an empty S/N, but now that is hard coded it shows it well, so I guess the device might be inconsistent in returning the data. |
@CarlosAg thanks for the analysis.
I'm not sure if this can help, but not being able to reproduce the crash I need to ask @CarlosAg to test it for us. |
I should have posted that I tried those suggested above back then and all permutations I could think of such as using those sizes recommended in the PDF at their side, changing those a bit, memset..., also changing the version from 0-9, and none of the changes worked. I even wrote a separate simple c++ app that was just calling the FT_EE_READ to be able to test those changes quickly and nothing worked, it would 'randomly' (say 80% of the time) AV. I also wrote a C# sample using pinvoke and passing larger/smaller buffers... and similarly it would work 1 out of 10 times or so (and AV in the others, which is really hard since you can't handle that exception and process just dies). As others have highlighted, if I "spam-launch" QLC quickly... a few of those instances will AV and a very small count will not AV and those that start it will work (which I think correlates to the failure rate I see above, so launch 10 times, chances are 1 or 2 will start... funny sometimes you end up with multiple QLCs but just close all but one). I do suspect there is something with the device itself and needs EntTec help (either some timing... or firmware, or something in the EEPROM). I will play with this more over the weekend, and try again to see if I did not make a mistake on my attempts before, but I'm 99% sure I tried all of those correctly |
I can confirm that it AV's and it seems to happen right after finishing reading the serial number:
` <title>Document</title>
with everything else being '\0' ` |
@mcallegari hi, do we have any news on this? It's a problem related to QLC, the drivers or a faulty Enttec interface? If so, has Enttec been involved? Thanks. |
I've just emailed Enttec and will be giving one of the engineers a call tomorrow to follow up. Hopefully we can crack this issue with their help. |
Hey guys, I don’t want to open a new issue but I was am also experiencing the same issue on my main lighting PC. When trying to connect the Interface, it shows up (Name + S/N), but then does not output anything. If you then try to click it and configure the interface, the config window pops up, but only shows an empty, nameless device without S/N. Interestingly enough this only seems to be happening on the main PC. The identical Interface connects to my MacBook just fine, we are experiencing some flickering of the Lights (note: could also be a problem with the in house DMX wires and splitter). |
Enttec's key engineer is currently on leave... Great timing but I'll keep you all updated. |
I tried reproducing this using windows 23H2 running thinkpad t14. qlc 4.14.1. T232R USB UART (S/N: B002N96D) Tried plugging and unplugging usb white QLC was running and vice versa. Still I got no crash. |
Same issue here, Windows 11, PC is a 3 year old NUC, ENTTEC USB DMX PRO. exact versions I currently have not available. Last year we used same machine with a genuine FTDI 232R + RS485 interface to control the same DMX setup, there we had no trouble except some flickering due to loaded PC and not buffering interface, so we changed to buffering USB DMX PRO. My few cents on this, FTDI has trouble with fakes, they may have checks in the driver which check for (format of) valid serial numbers, these checks may be sprayed in the driver and not always active. There are lists available on Internet, how fake serial numbers look. As a result using fake chips would give random hickups, at the end they become unusable for critical applications as operation is not stable. It is understood that FTDI has a business reason to sort out fake chips and to take appropriate measures on fakes. Beside involving ENTTEC, FTDI should get involved as well to check whether such checks may exist in the FTDI drivers for Windows. |
I was directed here from the QLC-forum. I have the same problem with not being able to start any version of QLC+ 4 later than 4.12.7. I have a Dore-midi USB-DMX-cable. If I unplug the cable QLC starts. QLC actually have started a couple of times with the cable inserted, it seems to detect the cable but doesnt output anything (the "out"-led on the cable isnt lit and my dmx-lights wont turn on). I dont know how to see if its a genuin FTDI-chip (dont know what that means really), here is the output from microsoft usb-view, sorry if its just spam, It seems like a great prog and perhaps someone smarter than me sees a clue... Device Descriptor: ConnectionStatus: DeviceConnected Endpoint Descriptor: Endpoint Descriptor: Configuration Descriptor: Interface Descriptor: Endpoint Descriptor: Endpoint Descriptor: |
|
Building a 32bit version is no longer an option. |
Hey all, another update on this one. >_< We've contacted FTDI directly as we don't currently have the ability to reproduce this issue. Hopefully they respond to our emails. Failing this, we might have to put a bug bounty up for it 🤷. ENTTEC are still trying to reproduce the issue but are thus far unsuccessful. Super weird problem - I hope progress is made soon. The moment we hear anything we'll share details here. |
Will enabling the logging in QLC+ change the direction of investigation? -d 0 --log 2>c:\log.txt |
@vheat no. The issue has already been perfectly analyzed by @CarlosAg and is not in the QLC+ code. @ALL Unless you can provide an actual fix or workaround, please wait for our updates here as already stated by @yestalgia. Let's keep this discussion clear and useful. |
If we don't find a proper fix, I suggest this workaround: have a separate minimal c++ program reading serial number and other data shipped with QLC+. Before QLC+ tries to read this data itself, it creates and empty file somewhere. After read succeeds, this file is deleted. If crash happens, QLC+ will detect this empty file on the next start and will know that it should invoke a separate program for reading serial number and other data, and do that. This separate program would then put this info into that empty file. What do you think? |
Unfortunately no logging will catch this since it is an AV (memory access violation) the operating system terminates immediately the process. If anyone is blocked and desperate and wants to try my hack/workaround ping me and I can share that dll (just a single .dll needs to be replaced on the plugins folder which you should backup and can restore original if needed easily). I have used it in a few shows now and it has worked well in my context with single Enttec open. (Again, this is a workaround and the issue is NOT in QLC and is a hack to workaround the call to FT_EE_READ ) |
yes please, could you share that dll somewhere? I'm gonna try this fix later this week. |
FTDI has replied. Case 1) Copy C:\Windows\System32\FTD2XX.DLL to the QLC+ folder. Then rename it to ftd2xx64.dll Hopefully case 1 will solve the issue but not being able to reproduce I need you to test for me and report back here. Thanks |
@mcallegari Thanks for involving FTDI. I'm gonna test this fix later this week. |
Hi! |
unfortunately, those solutions don't work for me either. Tried both methods with no results. The problems persists |
Similarly, I tried both proposed solutions and the crash still happens all the same. |
Is it possible that the change in DLL requires a restart of Windows in addition to perhaps plugging in/unplugging of the device? Thanks again everyone for your help with this. |
yesterday I restarted my system several times and still got nothing. I've now noticed that in the /System32 folder there are two DLLs. One named ftd2xx and another one ftd2xx64. May those two be in conflict with each other? |
On my machine theres only ftd2xx in the /System32 folder, theres a ftd2xx and ftd2xx64 in a much "deeper" folder C:\Windows\System32\DriverStore\FileRepository\ftdibus.inf_amd64_27ad3b85ed46c2a0\i386 |
@Z00rginal You're saying that you have both of them under \i386? in my case, under \ftdibus.inf_amd64_27ad3b85ed46c2a0\i386 there's only ft2xx.dll, the 64 bit version is under \ftdibus.inf[...]\amd64. Apart from QLC5, the enttec interface works without problems with 4.12.7, which is the version that i'm forced to use. Also, yesterday I've tried putting a €20 dmx-usb adaptor from amazon that is not from enttec and works perfectly even on 4.14.1-2 🤷♀️ |
Hi, you are right, I have ftd2xx.dll in the \386 folder and ftd2xx64.dll in the \amd64 folder. |
It's a simple dmx-usb adaptor I found on amazon for 20 bucks from "dsd". It was the cheapest I could find. It works perfectly in the smallest room of the venue where I work, which has 6 washes and 2 pars (around 80 channels). But, it has some flickering issues if used in the bigger room (around 400 channels - originally controlled by the Enttec interface). That is totally understandable for me, lower cost means lower applications, but the strange fact is that it is recognized instantly and starts transmitting without issues, when the original enttec interface has the problems that all of us reported in this conversation. |
On two systems I tested the ftdi libs. Not by copying just by comparing them with Windows command "fc /B" . On both systems the libs were binary equal. Looking at the properties in Win Explorer showed same release date/signing for both. From this I assume copying wouldn't change anything, so reason for FTDI advise should be clarified if both are binary equal. |
Please try the attached DMX USB plugin. Replace the one in the Plugins folder and let me know if QLC+ starts correctly and if so, if the device data are correct (SN, name, etc) |
Thank you Massimo, i'm going to test it tomorrow. |
@mcallegari now QLC starts but is unable to send data via the device. The DMX-USB entry is no longer available in the output plugins list. The interface is correctly plugged in and still recognized by 4.12.7. I've now tried to replace the dll you sent me with the old one, and qlc does not start if the adaptor is plugged. Unplugging it allows QLC to start and the plugin is correctly listed in the output tab. |
Ok, sorry, you need the whole package |
Thanks Massimo, |
Good news! If I have the confirmation from other people here then I'll commit the changes. |
@mcallegari IT WORKS! Thank you so much! Device recognized successfully. Serial number is correct. The hardware works as espected. 2 observations:
But i'm very confident that I've encountered these issues because i've installed a GIT version of the app. Thank you again! This issue got me crazy in the past months. Can't wait for the official 4.14.2 release! |
Yes, your fix seems to work, QLC+_4.14.1-2 starts fine with my doremidi cable plugged in and the serial number is showing in the inputs/outputs. |
@mcallegari Sorry for continuing the conversation, but I wanted to report some issues i've experienced yesterday during my first show made with version 4.14.2 GIT.
Again, sorry for reporting those issues here, but I wanted to tell about them so you could at least check if you encounter those problems. |
Describe the bug
QLC has some issues in connecting my Enttec OpenDMX USB interface. If the device is plugged in, QLC won't start at all. If disconnected, it will start but as soon as I plug the cable in it immediatly crashes. This only happens in version >= 4.13.0. I haven't tried on V5 but since it isn't stable I can't use it for my current projects. I tried 4.12.7 and had no issues at all.
To Reproduce
Steps to reproduce the behavior:
Temporary solution
From the forum, I found a temporary solution:
Desktop (please complete the following information):
Additional context
This bug has been reported from other users and additional context can be found here:
https://www.qlcplus.org/forum/viewtopic.php?t=17163
https://www.qlcplus.org/forum/viewtopic.php?t=17960
https://www.qlcplus.org/forum/viewtopic.php?t=17370
https://www.qlcplus.org/forum/viewtopic.php?t=18044
The text was updated successfully, but these errors were encountered: