Цитата
Нигде почему-то не упомянуто о том что endpoit-ы могут иметь один или два буфера.
Если буфер один, то перерывы в передаче обеспечены.
В документации на микросхемы USB обычно указывается возможность буферизации конечной точки.
В isp1181a например двукратная буферизация. В HS-USB-микроконтроллерах Cypress четырёхкратная (может быть и более, без документации точно не скажу). Размер конечной точки для bulk-передачи ограничен стандартом USB2.0:
An endpoint for bulk transfers specifies the maximum data payload size that the endpoint can accept from or transmit to the bus. The USB defines the allowable maximum bulk data payload sizes to be only 8, 16, 32, or 64 bytes for full-speed endpoints and 512 bytes for high-speed endpoints.Цитата
Кроме того со стороны компьютера нужно запрашивать передачу не по 64 или 512 байт а бОльшими блоками.
Имеется ввиду запрос к драйверу на получение блока данных от 4кБ.
Драйвер заполняет буффер получая от usb-функции (вашего устройства) пакеты по 8-512байт и после заполнения возвращает его.