Нужна помощь в следующем вопросе. Пишу драйвер USB-host для philips isp1161A, на не-intel архитектуре, планирую читать USB-flash. С микросхемой разобрался, документацию с usb.org и t10.org прочел, с протоколами тоже вроде разобрался, флешки опознаю, дескрипторы читаю. Столкнулся с неожиданной проблемой - на стадии bulk only transfer нормально не проходит больше одной транзакции (то есть CBW - данные - CSW). При попытке следующей запись в out_endpoint проходит нормально, а чтение из in_endpoint - все время NAK. на одной из флешей, с которыми экспериментировал, помогает постоянная (после каждой транзакции) разблокировка out_endpoint(!) с помощью clear_feature(halt), на других и это не помогает. форматы всех пакетов проверял сто раз, вроде все правильно, никаких замечаний, все поля соответствуют - но отакое ощущение, что где-то чего-то не хватает. Анализатора пакетов под рукой (и вообще где-бы то ни было) нету
Может у кого-то есть идеи на этот счет?