- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
I have a device with CX3 chip.
I have a problems with this device and some PCs.
I attach the device to the PC when it completely OFF, then I start the PC and wait when Windows is loaded. When Windows is ready - I got Unknown Device.
If I attach the device to the PC when Windows has been already loaded - everything is good.
The PC - Dell Prestigio M3800.
The reset is more than 15 ms
Device without firmware. Usually I load it in a driver section.
I have attached USB data from analyzer.
BIOS and Windows is up to date.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So What I understand
I have loaded firmware in pnpPowerCallbacks.EvtDevicePrepareHardware
For sending packages I use this function WdfUsbTargetDeviceSendControlTransferSynchronously
And on some PCs the return value can be not STATUS_SUCCESS
Some PCs set this request to queue and return status STATUS_INVALID_DEVICE_REQUEST
When I check for this return value also - my firmware successfully was loaded to CX3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please let me know what is the PMODE settings for your board.
Is it USB Bootloader Mode PMODE[2:0] = Z11?
Regards,
Sridhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
No I have SPI -> USB mode. PMODE[2:0] = 0Z1
I have set VID PID in SPI
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please confirm whether the device is operating in bus power mode.
Please load USBBulkSourceSink and collect the UART logs: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink
Is the issue happening everytime you restart the PC while connecting the CX3 device?
Regards,
Sridhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I checked it with Denebola RDK. When I set SPI->USB mode with following data in SPI memory
0x43, 0x59, 0x10, 0xb2, 0x22, 0xE3, 0x6a, 0x1c and have the same problem. So I think the problem is not in my hardware.
When I have loaded USBBulkSourceSink I have good result, the device started properly.
The issue happened every time when I start PC from shutdown.
The restart works well, probably because the power doesn't disappear from USB port.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Then the issue happens when you start the PC from shutdown.
What is happening when you load the USBBulkSourceSink to SPI Memory and set the PMODE to 0Z1 then start the PC from Shutdown.
Looks like you want to enumerate device with your own VID and PID. Hence, you are using B2 image as mentioned in the KBA: FX3 as Custom USB Bootloader - KBA218343 section a.
Can you please probe SPI lines and see whethere the CX3 is getting the data from SPI memory?
What is the result of start the PC from Shutdown with PMODE as USB Bootloader (Z11)? Is it enuemerating as expected?
What is the result if you use 0xB2 image with Cypress VID and PID?
Regards,
Sridhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
"What is happening when you load the USBBulkSourceSink to SPI Memory and set the PMODE to 0Z1 then start the PC from Shutdown."
- The CX3 works properly and properly identify in Windows
"Looks like you want to enumerate device with your own VID and PID. Hence, you are using B2 image as mentioned in the KBA: FX3 as Custom USB Bootloader - KBA218343 section a.
Can you please probe SPI lines and see whethere the CX3 is getting the data from SPI memory?"
- Yes I use B2 image, and start with own VID PID. Then I load firmware in driver. As we can see from USB Analyzer log file - CX3 properly read SPI memory and firstly answer with proper VID PID.
1,HS,7607,0:37.252.928,916 ns,8 B,,00,00, SETUP txn,80 06 00 01 00 00 40 00
1,HS,7611,0:37.252.933,23.398 us,18 B,,00,00, IN txn [1 POLL],12 01 00 02 00 00 00 40 6A 1C 22 E3 00 01 01 02 03 01
Then CX3 didn't answer on device descriptor request.
0,HS,9693,0:37.519.309,918 ns,8 B,T,00,00,SETUP txn,80 06 00 01 00 00 40 00
0,HS,9697,0:37.519.313,1.999.995.548 s,,,00,00,[89534 IN-NAK],[Periodic Timeout]
"What is the result of start the PC from Shutdown with PMODE as USB Bootloader (Z11)? Is it enuemerating as expected?"
- Unknown USB device (Device descriptor request failed)
"What is the result if you use 0xB2 image with Cypress VID and PID?"
0x43, 0x59, 0x10, 0xb2, 0xF2, 0xFF, 0xb4, 0x04
- The result is good
So I find out that my driver cause this problem. I have created it based on CyUSB3.sys, I think five years ago, maybe you can provide me the latest sources of the your driver CyUSB3.sys ?
Now I tried to load firmware in pnpPowerCallbacks.EvtDevicePrepareHardware
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please find the latest CYUSB3.sys driver with FX3 SDK Page.
CyUSB3_USB_Suite_Source.zip
Regards,
Sridhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So What I understand
I have loaded firmware in pnpPowerCallbacks.EvtDevicePrepareHardware
For sending packages I use this function WdfUsbTargetDeviceSendControlTransferSynchronously
And on some PCs the return value can be not STATUS_SUCCESS
Some PCs set this request to queue and return status STATUS_INVALID_DEVICE_REQUEST
When I check for this return value also - my firmware successfully was loaded to CX3