Как стать автором
Обновить

Пишем драйвер ядра Linux для неизвестного USB-устройства

Время на прочтение15 мин
Количество просмотров16K
Всего голосов 59: ↑58 и ↓1+57
Комментарии9

Комментарии 9

Спасибо за перевод. Вообще всяко за популяризацию разработки в пространстве ядра, это не так сложно и страшно, как кажется.

только глупо.

Я писал модули ядра. Действительно, ничего выдающегося. Другое дело что прилетит обновление и ты останешься с нерабочим модулем. Остается только запрещать обновление ядра. Или использовать только там, где это действительно необходимо - во встраиваемых системах, когда ты еще собираешь ядро сам.
Модули ядра стоит писать, когда без них никак. В остальных случаях полезнее писать из юзерспейса.

Подписываюсь под каждым словом!

Но я чаще для всяких устройств, где обновлений не бывает.

Надеюсь, инженеров проектировавших это поделие никогда не пустят проектировать управлялку реактором. Блин, они серьёзно решили съэкономить пару центов на механических концевиках ?

Всё даже страннее: концевики, судя по возвращаемым статусам «мы упёрлись», есть, но в самой ракетнице не прописано никакой реакции на них.

Перевод... Чуть не пропустил тег и не начал ругаться.

На самом деле вольное изложение давным-давно существующего в ядре шаблона для USB-драйвера (usb-skeleton). Да еще и сделанное так, что реально лучше бы libusb задействовать. Технически, здесь HID class просто просится. Но... Это потребовало бы немного больше кода, который был бы немного сложнее в понимании. Понятно, задействовать write из примера сильно проще. Ладно, раз это перевод - оставим на совести автора. Перевод точно сделан добротно. Спасибо.

Я тоже за libusb. Кстати, хороший вариант для работы из userspace

было б классно ещё увидеть статейку как написать драйвер для фингерпринт датчика, а то на линухе с этим проблемы, они работают за очень редким исключением

Похоже это USB HID устройство. Можно было работать из юзермода без драйверов. Через ту же hidapi. Для примера драйвер конечно можно и HID брать, но как-то странно. ))

Зарегистрируйтесь на Хабре, чтобы оставить комментарий