Возможно проблема и в приложении. Это я и хочу узнать.
И ни в коем случае я не считаю это ошибкой драйвера, перевернул
горы литературы и нашел, что через драйвер serenum.sys в купе с драйвером usbser можно настраивать
таймауты на прием и изменять длину пакета как для чтения так и для записи.
Даже нашел простейшие примеры inf файлов, где показано как установить например
жесткую скорость VCP, через inf файл, пробовал данный inf файл исправить на работу
с определенными мною VID и PID - действительно, только при установке определенной
в inf файле скорости происходит связь, на других скоростях драйвер просто блокирует
передачу. Да кстати скорость Вами подсчитана неправильно 4096 байт не надо еще раз умножать на 8
в итоге 4096 * 10Гц = 40960 бит/сек. А реально мое устройство может готовить данные для передачи
порядка 720 байт в миллисекунду, что вполне умещается в один фрейм FullUSB режима. Кстати пробовал
на этом же устройстве сделать MassStorage, чтение памяти в 4Мбайта происходит всего за 8сек
А насчет того как я увидел, что дамп в 4096 байт читается 8 мс, так это очень просто - по осциллографу, данные то не просто данные, они читаются и микросхемы памяти. Видно, когда процессор действительно получил запрос по USB и читает память, потом таймаут на 100мс, потом опять чтение 4096 байт. Вы можете сказать, а уверен ли я, что не пропускаю посылки. Уверен на 100%, что не пропускаю, т.к. подключал USBspy и видел картинку запросов и ответов, пропусков ответов не было, каждый запрос обрабатывается. Написать свою утилитку можно, но у меня больше уверенность в том, что проблема в настойке драйвера. Потому и обратился за помощью. Может кто-нибудь ковырял стандартный CDC драйвер досконально ...