Title: Error in handling GET_STRING_DESCRIPTOR request?
The "USB Design by Example" book by John Hyde indicates there is a bug in the EZ-USB String Descriptor transfer using the special Setup Data Pointer. Is there a bug? If so, is there a workaround to this problem?
No. This is not a bug in the silicon. This WAS a bug in the firmware example included with the Development Tool. Most of the example firmware that is included with the development tool include the frameworks file (fw.c). This source file implements all the USB protocols and has code that responds to the standard USB requests from the host. In the older versions of the frameworks file fw.c, the pointer was not updated after copying the first 64 bytes from the string descriptor to the endpoint buffer. Failing to update the pointer resulted in the core sending the same data repeatedly. This was fixed in the later version of fw.c included with the latest version of the Development Tool.
Please make sure you use the latest fw.c file included with the latest development tools.