Любое маленькое (а может и великое) дело с чего-то начинается. В моем случае дело началось с диплома, желания получше разобраться в работе USB и попробовать свои силы в реверсинжиниринге... Что из этого получилось будет описано в этом блоге.
Итак имеется: Сканер отпечатков пальцев Nitgen Hamster, запакованный в корпус изделия Biocode отечественной фирмы НПО "Лазерные системы" с работающим под Windows драйвером и программой для снятия отпечатков пальцев.
Нужно: написать такой же драйвер и демон под Linux, а точнее под МСВС 3.0 (ядро 2.4.x) и МСВС 5.0 (2.6.26 и выше).
Первое что приходит в голову, конечно же, взять USB-сниффер под винду, поймать пакеты и повторить их в линуксе. Идея правильная, но возникает несколько нюансов:
Во-первых, нужен тот самый сниффер и хотелось бы чтобы пойманые пакеты имели удобочитаемый вид. Во-вторых перезагружаться туда-сюда для тестов и проверок не очень удобно. В-третьих, встает вопрос выбора способа написания драйвера: будет он работать как модуль ядра или в юзерспейсе.
Вот эти вопросы я и хочу осветить в блоге с кодом, размышлениями и прочими вкучностями.
ЗЫ А блог-то я начал вести из-за отсутствия нормальных описаний и howto по теме реверсинжинирнга драйверов под USB.