- usb host reads device's configuration on request - a control transfer is sent - memory is allocated for a new descriptor - user must manually free the memory