Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для создания USB-драйвера. Если есть то где его найти?
>Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для
>создания USB-драйвера. Если есть то где его найти?drivers/usb/usb_skeleton.c ?
>>Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для
>>создания USB-драйвера. Если есть то где его найти?
>
>drivers/usb/usb_skeleton.c ?
Спасибо большое.
>>>Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для
>>>создания USB-драйвера. Если есть то где его найти?
>>
>>drivers/usb/usb_skeleton.c ?
>
>
>Спасибо большое. У меня стоит fedora Core 4 и я не нашел его поиском. Если не трудно выложите пожалуста этот файл или ссылку на него.
Все спасибо. Скачал его с ftp://ftp.ru.kernel.org/pub/linux/kernel/v2.6/
Посоветуйте пожалуста где можно найти описание большинства функций используемых для создания USB-драйвера
>Посоветуйте пожалуста где можно найти описание большинства функций используемых для создания USB-драйвера
>описание захотел?, лентяй...
посмотри, где-то на ресурсе была статья по USB драйверам (если не найдешь могу прислать). что-то есть в ./Documentation
для добычи доков по USB вообще советую посетить usb.org
будут конструктивные и интересные вопросы - спрашивай, постараюсь ответить : )
>>Посоветуйте пожалуста где можно найти описание большинства функций используемых для создания USB-драйвера
>>
>
>описание захотел?, лентяй...
>посмотри, где-то на ресурсе была статья по USB драйверам (если не найдешь
>могу прислать). что-то есть в ./Documentation
>для добычи доков по USB вообще советую посетить usb.org
>будут конструктивные и интересные вопросы - спрашивай, постараюсь ответить : )Есть конструктивный вопрос.
Как создается файл устройства при подлючении моего устройства в компьютер?(сорри за тавтологию). Для создания файла символьных устройств функция register_chrdev возвращает старший номер устройства, после чего я могу вызвать mknod, а как поступить с USB устройсивами. В документации указано что в случае успешного выполнения usb_register возвращает 0. Кароче откуда взять старший номер устройства?
>Есть конструктивный вопрос.
>Как создается файл устройства при подлючении моего устройства в компьютер?(сорри за тавтологию).
>Для создания файла символьных устройств функция register_chrdev возвращает старший номер устройства,
>после чего я могу вызвать mknod, а как поступить с USB
>устройсивами. В документации указано что в случае успешного выполнения usb_register возвращает
>0. Кароче откуда взять старший номер устройства?Никак не создается. когда ты втыкаешь девайс в компьютер вызывается callback по кличке probe, в котором ты в зависимости от опознания/неопознания девайса делать можешь что угодно (в том числе и вызывать register_chrdev унд vfs_mknod, регистрировать что-то в procfs и sysfs и.т.д). символьные устройства и вообще все что ты видишь в /dev никак не связаны с реальными устройствами - это всего лишь один из интерфейсов между ядром и userspace
А callback'и по кличке read и write как вызвать? Нужен же какой-нить интерфейс.P.S. А что делает vfs_mknod?
>А callback'и по кличке read и write как вызвать? Нужен же какой-нить
>интерфейс.
>
>P.S. А что делает vfs_mknod?read и write ни в коей мере не являются callback`ами. внимательно смотри usb-skeleton.c и внимательно читай документацию на USB
vfs_mknod - уровень VFS для sys_mknod (cм fs/namei.c и man 2 mknod)
"посмотри, где-то на ресурсе была статья по USB драйверам (если не найдешь могу прислать). "Вышли пожалуста на doomerb@gmail.com
Так я и не понял как мне создать файл устройства в /dev...
Похоже надо вызвать mknod в функции probe. Но как ей передать старший номер устройства?
Прочитал статью про подключение сканера http://www.nixp.ru/articles/usbscanlinux
Там используют команду # mknod /dev/usbscanner0 c 180 48
для создания файла устройства.
То есть они зараннее знают что 180 - это старший номер для сканеров?
А откуда мне взять старший номер для абсолютно нового устройства который нигде не зарегистрирован?
cat /proc/devices
>Прочитал статью про подключение сканера http://www.nixp.ru/articles/usbscanlinux
>Там используют команду # mknod /dev/usbscanner0 c 180 48
>для создания файла устройства.
>То есть они зараннее знают что 180 - это старший номер для
>сканеров?
>А откуда мне взять старший номер для абсолютно нового устройства который нигде
>не зарегистрирован?
на новых ядрах мажор тебе назначиться динамически, при указании в register_chrdev мажора равного 0, каковой ты потом скармливаешь vfs_mknod (можно и sys_mknod ,но это не кошерно)
статью выслал
Thanks a lot