About CyAPI and 64bit Windows 7 driver

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

1,  I have used Cy68013 for long time, my Application software  is based on Cyusb.lib(VS2005 compiled). it works well on 32bit  system for several years (XP vista and Win7.)

   

2,  Now  I want to let my software run on Win7 64bit system. After the driver updated to 64bit by installing 64bit Cyusb.sys,  My 32bit App can not recognize the USB device. Only Control Center can  recognize the USB device, the CyConsle can not recognize it, and GUID not found in Cysonsole's misc graph.  no choice to select GUID or sys.

   

How can I make my app software be compatible for 32bit and 64bit system with minimum changes. Does Cyusb.lib(C++ Lib) be compatible in 32bit and 64bit system?  I know 32bit application can run in 64bit system in 32bit mode.

   

Thanks and best regards!

0 Likes
7 Replies
Anonymous
Not applicable

The working Cylib is 2005-10-11(vc6_7) can work in 32bit windows7

   

Compile the App with latest Cylib,  32bit Application can not control USB device in 64bit windows7(64bit driver).

0 Likes
Anonymous
Not applicable

USB suite 3.4.7:

   

In 64bit Windows 7, Control center: list the USB device correctly.

   

But the tool Cydesc both x86 and x64 can not access the USB:  device count = 0

0 Likes
Anonymous
Not applicable

Now the 32bit App can works on 64bit Windows7, By using 3.4.7Kit 64bit driver and change Vid&pid, Do not change other file.

   

I used my driver, only substitute one sys file, the INF in my driver doesn't contain the GUID of cy68013. but App used it

   

(in CyAPI.h).

   

The 64bit doesn't work,  but 32bit  Cyusb.sys driver(version 1.7.0.0)works. I do not know the detailed difference.  Anyway, I will use the new driver.

0 Likes
Anonymous
Not applicable

Control center is coded to get handle to device bound to CyUSB.sys irrespective of GUID. CyConsole looks at the registry to populate the list of GUIDs used with CyUSB.sys and then uses them to get handle to the device.

   

Have you tried using a GUID in the inf file and then using that in the host application to get the handle?

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

Thanks for your help.

   

Because in the SDK 3.4.7, The driver is not signed. I downloaded A WHQL Signed driver,  The version is 3.4.5

   

The GUID in INF file is different from 3.4.7 driver. " AE18AA60..." <--> "AE18A550..."

   

When the GUID changed to same value as 3.4.7,  the Cyconsole can detect the device.

   

does the Console  bounded  to the fixed GUID: " AE18AA60..." .

   

Thanks! 

   

 Best regards!

0 Likes
Anonymous
Not applicable

I need the App be compatile with earlier versions.

   

I will use the default GUID as used before, even it may be not suitable for specified application.

   

Thanks!

0 Likes
Anonymous
Not applicable

I'm not able to gauge the full picture.

   

Latest SuiteUSB has CyAPI.lib for x64 as well. If you use a GUID and use that to get handle to your device it should work. The CyConsole issue you're facing is most probably due to lot of GUIDs and different names for CyUSB.sys in the registry of the PC that you're using.

   

Regards,

   

Anand

0 Likes