Ну и дичь!..

Dec 29, 2024 17:11

Решил "оптимизировать" USB для STM32, чтобы было более-менее однообразно и для CDC, и для HID, и для составного устройства. Отрефакторил код, пытаюсь запустить. И таки что бы вы думали? До энумерации элементарно не доходит ( Read more... )

рукожопие, stm32

Leave a comment

Comments 3

mbr December 29 2024, 15:08:01 UTC
Ты заметил, что suspend не приходит?

Такое поведение, когда на reset ты эндпоинты не открываешь. И control endpoint закрыт для приема дескриптора.

Reply

eddy_em December 29 2024, 15:17:52 UTC
Буду разбираться. EP0 настраивается полностью аналогично рабочему варианту. Разве что, может я где-то в include-файле какой-нибудь флаг "не так" скопировал (хотя, просто копипастой туда-сюда рассовывал).

Reply

eddy_em December 30 2024, 16:58:10 UTC
В общем, оказалось, что я, "оптимизируя", перестарался. Действительно, в заголовочном файле был косяк: я типы конечных точек в понимании STM32 помешал с типами в понимании дескрипторов, вот у меня и не было Control EP. Ну и еще косяки с этими хедерами. Уже заработала эмуляция PL2303, но почему-то некоторые запросы неправильные приходят (т.е. явно я опять где-то накосячил), да еще и с vendor read/write какие-то косяки, dmesg весь красный (но при этом все работает, т.к. в модуле ядра вообще не обращают внимания на подобные ошибки - и правильно, т.к. от них вообще ничего не зависит; разве что в "реальном современном" PL2303 может быть косяк, но и пох).

Reply


Leave a comment

Up