![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Попробовал собрать готовый, который для ch341a. Куча ошибок, да оно и понятно: судя по дате, еще, небось, для четвертого ядра писали. На шестом не работает.
Т.е. из всего многообразия остается лишь один-единственный tiny-usb. Сижу, смотрю в код модуля, и вообще не понимаю, как мне организовать это со стороны устройства. Оригинальный код прошивки для аврки еще большее недоразумение вызывает. А нормального словесного описания нигде не нашел.
Вижу, что только одна конечная точка (помимо обязательной 0) используется. И работает на vendor requests. Надо, видимо, пробовать "методом Монте-Карло" ☺
Правда, как-то стремно там все сделано. Такое впечатление, что с I2C по одному байту работа идет вместо того, чтобы сразу заслать команду "читай мне N байт" или "принимай M байт".
Или таки наплевать на кернельную поддержку и срукожопить 100500-й самопальный протокол?
Т.е. из всего многообразия остается лишь один-единственный tiny-usb. Сижу, смотрю в код модуля, и вообще не понимаю, как мне организовать это со стороны устройства. Оригинальный код прошивки для аврки еще большее недоразумение вызывает. А нормального словесного описания нигде не нашел.
Вижу, что только одна конечная точка (помимо обязательной 0) используется. И работает на vendor requests. Надо, видимо, пробовать "методом Монте-Карло" ☺
Правда, как-то стремно там все сделано. Такое впечатление, что с I2C по одному байту работа идет вместо того, чтобы сразу заслать команду "читай мне N байт" или "принимай M байт".
Или таки наплевать на кернельную поддержку и срукожопить 100500-й самопальный протокол?