We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Although this issue was touched several times in the past, I would like to share my problems - maybe somebody has the clue. CPU is STM32f4 (Keil dev.board)in HS mode and RTX is running underneath. PC is Win7/64.
First I configured MSD single device using on-board SD card as a media. Everything works as supposed.
Then I configured CDC single device, set-up inf file and it also works as supposed.
Then I combined them both in a composite device and surprise - both devices are recognized and configured correctly (at least Device manager says so) - no exclamation marks or anyhthing else. But none of devices actually works. SD card drive does not show anywhere and COM port can be opened but no data flows !?!
And yes, I changed endpoints so the devices do not share the same endpoint by mistake.
I did a few different USB products with Cypress EZUsb, some composite and never got such a situation.
Any ideas?
Yes, Tsuneo, I am familiar with PID/VID concept and they are changed accordingly as well as interface numbers.
I've checked it with the USBDeview tool - both devices are visible and seem to be ok, except they're shown as not connected. And as I said - device manager shows both devices without any errors or warnings !?!
OK - I've made some progress. I changed project from RTX-driven to normal one and now it works. So, it must be an issue related to the RTX and USB stack. Number of tasks seems OK, as I've configured 12 tasks and in debugger I can count 8 active tasks + IDLE. Stack also seems OK. Will keep looking. Anyway, I've confirmed that descriptors and other stuff are OK.
Above USBTrace logs don't have USB-related entries (URBs), just IRPs Take another logs, using "Capture menu > Capture Hot Plugged Devices" to capture enumeration.
Tsuneo
Sorry, I do not get it - my USBTrace V2.7.07 shows PNP and URB transfers. I've captured data flow using "Capture Hot Plugged Devices" method...
I can see device enumeration process - e.g. device is started at transaction #30
OK, it looks like the problem was in KEIL's USB stack. I downloaded a pre-relase of new MDK5, configured it in the same way, using same descriptors and now it works as supposed. That's probably the reason they did not bother to fix old 4.x version, since new one was on the way...
regards
Dejan
Dejan;
Thank you for the results update. I wish all would close out their posts with results as you have.
Thanks again;
Bradford