Jump to content



Photo
- - - - -

Starting FTDI (Sainsmart) controller failed with error

FT_DEVICE_INFO_NODE Sainsmart

  • Please log in to reply
50 replies to this topic

#41 VDog90

VDog90

    Neophyte

  • Members
  • Pip
  • 8 posts

  • Flag: United States of America

  • Favorite Pinball: Addams

Posted 19 October 2025 - 12:33 PM

Hi DDH69

I upgraded from version 8 (working) to 9.05 and 9.06.

I'm getting the same error 

Starting FTDI (Sainsmart) controller failed with error - System.InvalidCastException:
Method invocation failed because 'Public Function GetDeviceList(devicelist As DirectOutput.Cab.Out.FTDIChip.FTDI.FT_DEVICE_INFO_NODE()) As DirectOutput.Cab.Out.FTDIChip.FTDI.FT_STATUS'
cannot be called with these arguments:
Argument matching parameter 'devicelist' cannot convert from 'FT_DEVICE_INFO_NODE()' to 'FT_DEVICE_INFO_NODE()'.
What I’ve tried so far:
  • Confirmed I’m running DOFLinx 9.06 (also tested 9.05).

  • Verified DirectOutput.dll version 3.2.9219.33016 in C:\DirectOutput\x64\.

  • Deleted any stray DirectOutput.dll and DirectOutput.log files from the C:\DOFLinx\ folder to avoid conflicts.

  • Updated my DOFLinx.ini to explicitly include (originally not present when working):
    PINCONTROLLER=FTDI
    PINONE_PORT=COM3

  • Tested with and without the PINONE_PORT and PINCONTROLLER lines.

  • Confirmed DOFLinx is running as a 64-bit executable and that DOF works correctly on its own and works with DOFLinx v8

Please let me know how I can help test!   Thanks!



#42 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,530 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 19 October 2025 - 10:54 PM

You should not get an error, I will look into that.

 

These are not DOFLinx parameters

PINCONTROLLER=FTDI
PINONE_PORT=COM3

 

To force the serial number of a FTDI controller in DOFLinx simply add the line below to your DOFLinx.INI with your serial # after the = sign, or multiple serial numbers separated by a comma if you have multiple boards.  Doing this will avoid the DOF discovery and should work around the error you are getting for now.

 

FTDI_SERIALS=


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#43 Aziels

Aziels

    Neophyte

  • Members
  • Pip
  • 8 posts

  • Flag: ---------

  • Favorite Pinball: Medieval Madness

Posted 20 October 2025 - 01:14 AM

I'm also still seeing the error.  

However, I was having various other issues after some new hardware installation,and I reinstalled Windows 10.  I tried running the config tool and ended up with the same error as before.  

---------------------------
DOFLinx Critical Error
---------------------------
Starting FTDI (Sainsmart) controller failed with error - System.InvalidCastException: Method invocation failed because 'Public Function GetDeviceList(devicelist As DirectOutput.Cab.Out.FTDIChip.FTDI.FT_DEVICE_INFO_NODE()) As DirectOutput.Cab.Out.FTDIChip.FTDI.FT_STATUS' cannot be called with these arguments:
    Argument matching parameter 'devicelist' cannot convert from 'FT_DEVICE_INFO_NODE()' to 'FT_DEVICE_INFO_NODE()'.
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.ResolveCall(Container BaseReference, String MethodName, MemberInfo[] Members, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, BindingFlags LookupFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   at DOFLinx.MainForm.Start_DOF(Boolean TheDebug)
---------------------------
OK   
---------------------------

When starting DOFLinx I get the same error as well.  
I'm trying to see if I can track down the Serial Numbers on the boards and manually configure them.  

I am also game for trying to help track anything down if there is anything I can do to help test.  



#44 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,530 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 20 October 2025 - 06:18 AM

The error is a known error that I have written about before and am currently unable to resolve.  The work around is to name your FTDI devices in your DOFLinx.INI file with a parameters line like

 

FTDI_SERIALS=AB0NY2NU    (the device I have connected now)

 

This avoids the DOF based discovery which is where the problem is since moving to the current x64 / x32 DOF versions.  The recent problem was that it was adding the same serial number twice - now fixed.

 

If you don't know your serial number download the FT_Prog program, it will show you your serial number.

 

I have my FTDI relay board connected to DOFLinx now using the FTDI_SERIALS= method.  I can't get any outputs to trigger, so I'm not sure if I have another DOFLinx issue or have broken something else.  I use the FTDI board only for testing and I'm struggling to remember the rest!


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#45 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,530 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 20 October 2025 - 06:33 PM

So this is still technically ****ing  me off  :think: .  So much so that its a 4am start trying to figure it out.

 

I think I may have sorted out the auto-detect issue (the crash message).  I've attached a copy of 9.07 Beta 1 if anyone wants to try it.  Just comment out (#) the FTDI_SERIALS= line in your DOFLinx.ini

 

The other problem I have, is while I can detect my FTDI relay board I can't run it.  DOF is reporting that it can't connect.  I suspect its got a problem, so over to others to test further.  Happy to read DOFLinx.LOG and matching DirectOutput.LOG files.

Attached Files


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#46 Aziels

Aziels

    Neophyte

  • Members
  • Pip
  • 8 posts

  • Flag: ---------

  • Favorite Pinball: Medieval Madness

Posted 21 October 2025 - 03:56 PM

So this is still technically ****ing  me off  :think: .  So much so that its a 4am start trying to figure it out.

 

I think I may have sorted out the auto-detect issue (the crash message).  I've attached a copy of 9.07 Beta 1 if anyone wants to try it.  Just comment out (#) the FTDI_SERIALS= line in your DOFLinx.ini

 

The other problem I have, is while I can detect my FTDI relay board I can't run it.  DOF is reporting that it can't connect.  I suspect its got a problem, so over to others to test further.  Happy to read DOFLinx.LOG and matching DirectOutput.LOG files.

Thanks for all of that info.  
I finally managed to find a weird way of old doflinx builds and a beta exe to get the FTDI serial numbers of the 2 boards I"m using. 

However, I will test this out as soon as I get a chance.  Probably tomorrow before I'll be able to do so, but I'll report back on results.  

Other than starting up with all devices connected, what would be helpful to get good logs? 


Edited by Aziels, 21 October 2025 - 04:08 PM.


#47 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,530 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 21 October 2025 - 09:31 PM

Basically a log of where ever its not working is what I need.  So if it fails to register the board correctly, that bit.


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#48 Aziels

Aziels

    Neophyte

  • Members
  • Pip
  • 8 posts

  • Flag: ---------

  • Favorite Pinball: Medieval Madness

Posted 22 October 2025 - 02:12 PM

With this exe it looks like it detected the sainsmart boards.
I completely removed the FTDI_SERIALS line from the config file completely to make sure. 

 

22-Oct-25 09:06:41.094 - *********************************************************
22-Oct-25 09:06:41.096 - DOFLinx for Pinball and MAME Emulators - DOFLinx by DDH69
22-Oct-25 09:06:41.097 - Starting up - version 9.07 Beta 1
22-Oct-25 09:06:41.097 - *********************************************************
22-Oct-25 09:06:41.136 - DEBUG enabled with showing of window True
22-Oct-25 09:06:41.143 * BETA logging flag enabled
22-Oct-25 09:06:41.154 * DOF path taken from CLSID = C:\DirectOutput\x64\
22-Oct-25 09:06:41.155 - DOF (DirectOutput.dll) path used = C:\DirectOutput\x64\
22-Oct-25 09:06:41.157 - DirectOutput.dll version = 3.2.9313.40083  dated 7/1/2025 10:16:08 PM
22-Oct-25 09:06:41.179 - Windows OS on X64 processor with 64 bit operating system and 64 bit application
22-Oct-25 09:06:41.180 - If you like it, please make a donation here https://www.paypal.com/donate?hosted_button_id=YEPCTUYFX5KDE
22-Oct-25 09:06:41.182 - The guide can be found here https://doflinx.github.io/docs/
22-Oct-25 09:06:41.183 - For support come and visit the community here https://www.vpforums.org/index.php?showforum=104
22-Oct-25 09:06:41.186 - Pre-Reading DOFLinx.ini startup config file details
22-Oct-25 09:06:41.222 * Processing parameter 'DEBUG' with data '1' not in real-time
22-Oct-25 09:06:41.225 - DEBUG enabled with showing of window True
22-Oct-25 09:06:41.229 - DEBUG enabled with showing of window True
22-Oct-25 09:06:41.234 * Running Start_DOF_Pinball - Current DOF ROM =   New ROM = doflinx
22-Oct-25 09:06:41.254 - No DOF Global Config file supplied
22-Oct-25 09:06:41.256 * Cannot find Global Config File called 'C:\DirectOutput\config\GlobalConfig.xml'
22-Oct-25 09:06:41.268 * Joystick number = 1  Return code = 0
22-Oct-25 09:06:41.270 - Joystick # 1 detected : 16 buttons   Z-Axis
22-Oct-25 09:06:41.273 * Joystick number = 2  Return code = 165
22-Oct-25 09:06:41.275 * Joystick number = 3  Return code = 165
22-Oct-25 09:06:41.278 * Joystick number = 4  Return code = 165
22-Oct-25 09:06:41.280 * Joystick number = 5  Return code = 165
22-Oct-25 09:06:41.283 * Joystick number = 6  Return code = 165
22-Oct-25 09:06:41.285 * Joystick number = 7  Return code = 165
22-Oct-25 09:06:41.288 * Joystick number = 8  Return code = 165
22-Oct-25 09:06:41.291 * Joystick number = 9  Return code = 165
22-Oct-25 09:06:41.294 * Joystick number = 10  Return code = 165
22-Oct-25 09:06:41.297 * Joystick number = 11  Return code = 165
22-Oct-25 09:06:41.300 * Joystick number = 12  Return code = 165
22-Oct-25 09:06:41.303 * Joystick number = 13  Return code = 165
22-Oct-25 09:06:41.306 * Joystick number = 14  Return code = 165
22-Oct-25 09:06:41.309 * Joystick number = 15  Return code = 165
22-Oct-25 09:06:41.312 * Joystick number = 16  Return code = 165
22-Oct-25 09:06:41.337 * 0 Pinscape device(s) found
22-Oct-25 09:06:41.348 * 0 Pinscape Pico device(s) found
22-Oct-25 09:06:41.359 * 0 Dudes Cab(s) found
22-Oct-25 09:06:42.026 - PinOne Port = 
22-Oct-25 09:06:42.032 * No PinOne device found
22-Oct-25 09:06:42.055 * 0 LEDWiz device(s) found
22-Oct-25 09:06:42.096 * 2 FTDI (Sainsmart) device(s) found
22-Oct-25 09:06:42.123 - DOFLinx Device: 1 Initializing as FTDI (Sainsmart) #1 serial # AB0NXY9C
22-Oct-25 09:06:42.131 - DOFLinx device:1 FTDI (Sainsmart) setup with 8 outputs
22-Oct-25 09:06:42.135 - DOFLinx Device: 2 Initializing as FTDI (Sainsmart) #2 serial # AH05I3HQ
22-Oct-25 09:06:42.140 - DOFLinx device:2 FTDI (Sainsmart) setup with 8 outputs
22-Oct-25 09:06:42.148 * 0 PacLED64 device(s) found
22-Oct-25 09:06:42.154 * 0 Ultimate IO device(s) found
22-Oct-25 09:06:42.161 * DOFAllOff updating output device #1
22-Oct-25 09:06:42.165 * DOFAllOff updating output device #2
22-Oct-25 09:06:42.170 - Reading DOFLinx.ini startup config file details
22-Oct-25 09:06:42.175 * Processing parameter 'DEBUG' with data '1' not in real-time
22-Oct-25 09:06:42.182 - DEBUG enabled with showing of window True
22-Oct-25 09:06:42.187 - Reading colour file named C:\DOFLinx\config\colours.ini
22-Oct-25 09:06:42.193 - The path 'C:\B2SServer\' does not exist
22-Oct-25 09:06:42.198 - The path 'C:\Pixelcade\' does not exist
22-Oct-25 09:06:42.204 - The path 'C:\HI2TXT\' does not exist
22-Oct-25 09:06:42.209 - The path 'C:\MAME\' does not exist
22-Oct-25 09:06:42.214 - The parameter 'PIXELCADE_MENU_HISCORE' with data '1' was not processed.  Realtime flag=False Process active flag=False
22-Oct-25 09:06:42.224 - DEBUG enabled with showing of window True
22-Oct-25 09:06:42.231 - Set Debug Privilege = Set OK
22-Oct-25 09:06:42.238 - No pixelcade.ini or settings.ini file could be found in the PATH_PIXELCADE= location
22-Oct-25 09:06:42.246 * Trying to start pixelweb
22-Oct-25 09:06:42.253 - Failed to start pixelweb.  Check your PATH_PIXELCADE= is correct
22-Oct-25 09:06:42.262 * 
22-Oct-25 09:06:42.278 * Checking DOF2DMD
22-Oct-25 09:06:42.295 - BASS version 2.4.17.5
22-Oct-25 09:06:42.320 - Found sound device #1 = 'Default' is enabled and is the default
22-Oct-25 09:06:42.331 - Found sound device #2 = '4 - LG ULTRAGEAR (AMD High Definition Audio Device)' is enabled
22-Oct-25 09:06:42.345 - Found sound device #3 = '3 - CL07-HDMI (AMD High Definition Audio Device)' is enabled
22-Oct-25 09:06:42.358 - Found sound device #4 = 'Speakers (USB Sound Device)' is enabled and is the default
22-Oct-25 09:06:42.370 - Found sound device #5 = 'Digital Audio (S/PDIF) (High Definition Audio Device)' is enabled
22-Oct-25 09:06:42.415 - 8 Speakers detected
22-Oct-25 09:06:42.427 - C:\MAME\mame.exe for game names was not found
22-Oct-25 09:06:42.441 * DOFAllOff updating output device #1
22-Oct-25 09:06:42.453 * DOFAllOff updating output device #2
22-Oct-25 09:06:42.508 * BG creation worked OK
22-Oct-25 09:06:42.547 - Loading menu.ini
22-Oct-25 09:06:42.559 - Processing parameter 'LOAD_SOUND' with data 'LFlipper,100,LEFT_REAR,Flipper_L01,Flipper_L02,Flipper_L03,Flipper_L04,Flipper_L05,Flipper_L06,Flipper_L07,Flipper_L08,Flipper_L09,Flipper_L10,Flipper_L11' in real-time
22-Oct-25 09:06:42.583 - Processing parameter 'LOAD_SOUND' with data 'RFlipper,100,RIGHT_REAR,Flipper_R01,Flipper_R02,Flipper_R03,Flipper_R04,Flipper_R05,Flipper_R06,Flipper_R07,Flipper_R08,Flipper_R09,Flipper_R10,Flipper_R11' in real-time
22-Oct-25 09:06:42.596 - Processing parameter 'LOAD_SOUND' with data 'BallColl,100,REAR,Ball_Collide_1,Ball_Collide_2,Ball_Collide_3,Ball_Collide_4,Ball_Collide_5,Ball_Collide_6,Ball_Collide_7' in real-time
22-Oct-25 09:06:42.610 - Processing parameter 'LOAD_SOUND' with data 'DropTarget,100,SIDE,Drop_Target_Down_1,Drop_Target_Down_2,Drop_Target_Down_3,Drop_Target_Down_4,Drop_Target_Down_5,Drop_Target_Down_6' in real-time
22-Oct-25 09:06:42.636 - Trigger thread starting
22-Oct-25 09:06:43.268 - Stopping ROM

That is the full log from the launch.  

Hope it helps and let me know if there is anything else I can test.



#49 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,530 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 23 October 2025 - 01:10 AM

Great, thanks for the details, detection and startup looks good.  Are your outputs all working?


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#50 Aziels

Aziels

    Neophyte

  • Members
  • Pip
  • 8 posts

  • Flag: ---------

  • Favorite Pinball: Medieval Madness

Posted 25 October 2025 - 01:25 AM

Sorry, took me a bit to have time to test things out again.  

Outputs were all working as expected in Pinball FX.  I did not notice anything out of the ordinary on the tables I played there vs my current level of setup and configuration.  


Have a few other things I'm still trying to track down, but I don't want to hijack the thread for any of that stuff.



#51 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,530 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 25 October 2025 - 01:39 AM

Sorry, took me a bit to have time to test things out again.  

Outputs were all working as expected in Pinball FX.  I did not notice anything out of the ordinary on the tables I played there vs my current level of setup and configuration.  


Have a few other things I'm still trying to track down, but I don't want to hijack the thread for any of that stuff.

 

Thank you for confirming Sainsmart working again.

 

If you need help on other stuff just start a new thread and we'll be there,


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here





Also tagged with one or more of these keywords: FT_DEVICE_INFO_NODE, Sainsmart