I'm using a UC3A3 and trying to jump between two different USB setups. Both are MassStorage Class devices, but one will identify as a "block device" (typical read/write drive) and the other will identify as a CD-ROM. I'm switching between states based on a SCSI command, START STOP UNIT, which is typically used to stop and eject a SCSI device.
Since both instances are MSC I believe I can leave the USB descriptors alone, and only change the SCSI INQUIRY response. I'm not sure how to reset the USB interface to force the host to completely re-enumerate the USB device though. I'm using ASF 2.8.1, and basing my project off of a modify USB Device MSC Example (EVK1104).
I've discovered some functions such as udc_reset() or udc_detach(), but they don't seem to actually completely reset the USB interface, the host doesn't appear to be re-enumerating the USB device. Are there other functions I should be looking at?