You are here

PSoC 3 USB descriptors | Cypress Semiconductor

PSoC 3 USB descriptors

Summary: 30 Replies, Latest post by hli on 17 May 2013 04:05 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
kharatgn's picture
User
20 posts

Dear PSoCDevelopers

 

I'm trying to establish communication  between PSoC 3 and PC. I'm using libusb 1.0 from Host side.

I was able to find the device (PSoC 3) and get USB descritors from the device, but I cannot change the USB descriptors of the PSoC (for example Vendor ID, Product ID, number of interfaces).

I'm trying to change USB descriptors using PSoC Creator by programming USBFS (USB full speed) component. But in the host (PC) I'm always getting the same USB descriptors. My purpose to send and receive som data from the PSoC.

What can be the reason that I'm always getting the same descriptors, even I'm changing it in the USBFS component?

I'd really appreciate, if someone could help me

Best regards,

Gurgen

user_39759791's picture
User
357 posts

 does the device is listed in the device manager (lsusb in linux) using your custom VID, PID? what is the VIP/PID you are getting?

user_119377051's picture
User
866 posts

When you want to change the VID/PID, Basic process is 1) Change at USB configuration dialog - device descriptor list. 2) Change the VID/PID in driver information file. That's all. the Build was successed so that completed all.
When you connect that USB device, the system could be recognize it.
This can see on device manager. before your host program connect with that. and can verify the VID/PID by device manager.
That is a process in Windows, something be different with Linux, but same same. OK?

kharatgn's picture
User
20 posts

 Thanks for your answers.

I'm using windows 7

Yes the device is listed in device manager. In my driver program and in the device manager I'm getting the same VID and PID all the time.

VID 0x4B4

PID 0xF11A

I'm trying to change descriptors by changing device descriptors in USBFS component, but again I'm getting the same result.

user_119377051's picture
User
866 posts

It's very odd, OK ensure one by one.

Assume your VID/PID is 04B4/ABCD;

1) Change that on USB configurator.

2) Build and check your driver information.

  In your project
/Generated_source/psoc3 directory,

  Find the driver inf file
"USB_cdc.inf".

  Open it text editor, find
this line.


[DeviceList.NTx86]


%DESCRIPTION%=DriverInstall, USB\VID_
04B4&PID_ABCD

And same PID discription lines.

 

3) Connect the device to PC and Find it in device manager.

4) Right-click that USB device and see the property - detail TAB –
Hardware ID

Can you see like this.


USB\VID_
04B4&PID_ABCD

5) IF NOT;

In the same property page – driver TAB

[delete driver] button. Do this.

And TRY from 3) again.

It will be going well, cheer

Gurgen's picture
User
3 posts

 Thank you very much for your help and time.

For not making mistake, I took from example projects USBFS_HID for PSoC 3.

I changed VID/PID 04B4/ABCD respectively. and here is the result from USBFS_1_cdc.inf file

[DeviceList.NTx86]

%DESCRIPTION%=DriverInstall, USB\VID_04B4&PID_F232

Whatever I'm changing VID and PID I'm getting the same result, even for my own written project I'm getting the same.

Then I'm using zadig to replace the driver, in device manager properties/detail/hardware-IDs I'm getting VID_04B4 and PID_F11A.

I think some strange things happening.

user_119377051's picture
User
866 posts

OK, My previous post was regarding of BULK Transfer.

I missed but that's correct on BULK.

Your Interface type is HID.

Something strange, there are 3 PID number.

 

1) VID/PID 04B4/ABCD : your assumed.

2) VID_04B4&PID_F232 : inf file

 Was build wrong?

3) VID_04B4 PID_F11A : actual number

 What is this?

 

Answer is here

2) Perhaps, HID process make pseudo number

3) There are many device of same name,

 So you had look wrong device, Check all HID devices.

 

First picture is original.

Second picture is changed.

OK?

 

Attachments: 
user_119377051's picture
User
866 posts

[2]

Attachments: 
kharatgn's picture
User
20 posts

 Thank you

There is written that build is successful completed.

 When I'm plugging and unplugging the device I can see that VID_04B4 and PID_F11A appearing and disappearing in the device manager. I wrote a driver program (using libusb 1.0) where I'm printing all the founded devices. When PSoC is unplug I can see that programm has found 9 devices. When I plug I can see that it found 10 devices and when I compare these 2 result I can see that VID_04B4 and PID_F11A this appears. That's why I think I look correct device.

Did you also use the same project?

You get different answers, maybe I should use another operating system for example linux?

 

Gurgen

user_119377051's picture
User
866 posts

OK, We have another way, that can see it more clearly.

I explain the way along use USB Control Center

1) turn on USB Control Center.

 You can see device list left side
and description on right side.

2) On Device Class Selection Tab, select HID devices.

 And plug your PSoC USB, then
"Mouse" is appear.

 No other device name as "Mouse"

3) Check and see the VID/PID, looks like the picture.

 

I'm using same example for YOU.

I don't know what "libusb1.0" is.

Basically Control Center is using cypress's CyUSB.dll and "sys"

 

The Control Center and suits is here.

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

SuiteUSB 3.4 - USB Development tools for Visual Studio

 CySuiteUSB_3_4_7_B204.exe English
17 MB 11/24/2011

Attachments: 
user_39759791's picture
User
357 posts

 @PSoC73 usblib is a library to talk to USB devices, it ued to be ued mainly on linux but works on windows too.

Log in to post new comments.