CY7C680 13A-56 not detected on MACs

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

cross mob
Anonymous
Not applicable

 Hi, Im Eduard from Cybernetyx,

   

we use the USB controller mentioned in the title to access a CMOS. It works great on Windows. Now we want to port it to Linux and Mac with libusb. On Linux we can easily find the connected device with lsusb and libusb is also able to enumerate it. But on different Mac computers we cant see the device. We tried to find it in "system_profiler SPUSBDataType". But its not showing up there.

   

What are we doing wrong? 

   

Thanks,

   

Eduard

0 Likes
16 Replies
Anonymous
Not applicable

 Hi Eduard,

   

    

 

   

    

          

   

Did you try with the drivers provided in the "     Cypress SuperSpeed USB Suite (Wrapper library for MacOS)".    

 

   

If not please try with the files provided in the above link.    

 

   

It has the files required for both FX2LP and FX3.    

 

   

You can just use the FX2LP ones for your development.    

 

   

    

          

   

Thanks,    

 

   

Sai Krishna.    

0 Likes
Anonymous
Not applicable

Hi Sai Krishna,

   

thanks for the link. I didnt try this yet.

   

Can you please tell me or point me to some resource, how to apply the drivers?

   

Thanks,

   

Eduard

0 Likes
Anonymous
Not applicable

I have experimented a little bit and used the "USB Control Center" to program the RAM. I have loaded a few hex files into this. But unfortunately after loading the firmware from http://www.cypress.com/?id=4&rID=58492, the device is detected on Windows 7 as "Unkown Device". Now I cant use the USB Control Center.

   

Is there a way to reset the RAM? Was it the right way to install the driver on the board?

   

Thanks,

   

Eduard

0 Likes
Anonymous
Not applicable
        It is not visible in the Control Center because it is not binded to Cyusb.sys. You probably have to bind the drivers manually after it has enumerated as UNKNOWN DEVICE. Check out the VID PID of the device in the device manager and see if that VID PID entry is present in the .inf file in the driver folder. If not add the VID PID entry to the .inf. "Update" the driver software by "manually" pointing to the .inf. Thanks Nikhil   
0 Likes
Anonymous
Not applicable

I tried that, but faced another issue: Windows says no driver is installed, but when I try to update the driver, it says "the driver is up to date". Also VID/PID is: VID_000&PID_0000. Tried to restart and change USB cable multiple times. Also removed the .sys file from the drivers folder in system32. Changing version in .inf file doesnt help.

   

I found some forum posts on that issue. Its related to the hardware. But we didnt change anything on the hardware. This only happened after loading the hex file: "SOF_det_reset".

   

Anything I can do to save this bricked device? I have a second one, but I fear I could damage it too.

   

Thanks,

   

Eduard

0 Likes
Anonymous
Not applicable

 Uninstalling the current driver also doesnt help.

0 Likes
Anonymous
Not applicable

 I could stop windows from installing some default driver (some windows settings), now Im able to point to the inf, but it cant use the inf (cant find driver software). I guess thats due to the invalid VID/PID?

0 Likes
Anonymous
Not applicable

 Are you using 0xC2 boot?

   

Meaning, do you have the code stored in EEPROM?

0 Likes
Anonymous
Not applicable

 We got the board from a supplier, who programmed it. Im not sure, if there is something on the EEPROM. The supplier is not really capable to help us.

   

How can I test what you suggested? Is there any additional hardware we can use to download firmware to RAM or EEPROM to work around the USB detection problem?

   

Thanks,

   

Eduard

0 Likes
Anonymous
Not applicable

Probably the EEPROM data got corrupted. 

   

Are the EEPROM pins exposed?

   

If yes, you can temporarily short SCL and SDA lines of EEPROM with a wire and then plug in the USB. Since the EEPROM lines are short, the data read from EEPROM will not make sense to FX2LP bootloader and it will fall back to USB boot (It will boot up as "No EEPROM" device)

   

After that you can load any code you want to RAM or EEPROM. You can load Vend_Ex code to RAM and erase the 1st byte of EEPROM, so that the device boots up with USB boot always. Or if you have .iic file of your customer firmware, you can load that ot EEPROM.

   

I am not sure how familiar you are with EEPROM boot, USB boot, EEPROM read/write features of FX2LP. We have ANs on boot options of FX2Lp and Vendor command design (which has project with which you can access EEPROM through Vendor commands).

   

Please shoot more questions if you are in doubt.

   

 

   

Thanks

   

Nikhil 

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

 Hi Nikhil,

   

thanks for the detailed answer.

   

In fact Im new on this field and would appreciate, if you can point me to some documentations (I have read a few already) and then guide me. 

   

The board is exposed and I can see an IC, with the inprint "ATMLH136". Is this the EEPROM? See the pic attached. I guess this is the documentation: http://www.atmel.com/Images/doc0180.pdf , I see the SCL and SDA lines on the schematics. Now the challenge is to find out which of the lines are actually SCL and SDA (orientation of the IC). Do you think trial and error can work out? Or would I damage it somehow?

   

Thanks,

   

Eduard

0 Likes
Anonymous
Not applicable

 Eduard

   

No need of trial n error. There is a dot on the EEPROM near the first pin. You can easily make out. (Its visible in the picture as well; bottom right hand side in the picture)

   

Here are a few App notes you can refer:

   

1) FX2Lp boot options

   

http://www.cypress.com/?rID=34253

   

2) Vendor command design (has EEPROM read/write Vendor commands in the associated project)

   

http://www.cypress.com/?rID=34485

   

3) You can download SuiteUSB from this link: http://www.cypress.com/?rID=34870

   

After installing this pack, in the "drivers" folder you can find cyusb.pdf where in there are tips on editing .inf file and installing the drivers manually.

   

 

   

Thanks

   

Nikhil

0 Likes
Anonymous
Not applicable

 Thanks Nikhil,

   

I went through the resources and understand most of it now. I also tried to short the EEPROM, but nothing changed. Maybe the hardware is damaged. 

   

I will get a new device to work with and try it to get back to the topic.

   

 

   

Concerning detection on Macs, I only found firmware as .hex files. Is there some source code I can study for Macs?

   

Thanks,

   

Eduard

0 Likes
Anonymous
Not applicable

I could solve the problem. Using a firmware from MAC examples worked fine. 

0 Likes
Anonymous
Not applicable

Glad to know that it is solved. Did you mean that it worked only with just that example? Which example did you use?

   

 

   

Regards

0 Likes
Anonymous
Not applicable

 I think it was Vend_ax. Doesnt matter much actually. I mean loading this firmware made the device connect to MAC, next step was to figure out what was missing in the original firmware. Unfortunately I cant say what exactly was missing as I dont have the original firmware. Our supplier fixed it using this example firmware.

0 Likes