URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5587
[ Назад ]

Исходное сообщение
"USB драйвер"

Отправлено Doomer , 20-Июл-06 16:13 
Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для создания USB-драйвера. Если есть то где его найти?

Содержание

Сообщения в этом обсуждении
"USB драйвер"
Отправлено int_0d , 20-Июл-06 17:38 
>Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для
>создания USB-драйвера. Если есть то где его найти?

drivers/usb/usb_skeleton.c ?


"USB драйвер"
Отправлено Doomer , 20-Июл-06 18:33 
>>Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для
>>создания USB-драйвера. Если есть то где его найти?
>
>drivers/usb/usb_skeleton.c ?


Спасибо большое.


"USB драйвер"
Отправлено Doomer , 20-Июл-06 18:49 
>>>Здраствуйте. Подскажите пожалуйста есть ли в исходниакх Линукс так называемый "каркас" для
>>>создания USB-драйвера. Если есть то где его найти?
>>
>>drivers/usb/usb_skeleton.c ?
>
>
>Спасибо большое. У меня стоит fedora Core 4 и я не нашел его поиском. Если не трудно выложите пожалуста этот файл или ссылку на него.



"USB драйвер"
Отправлено Doomer , 20-Июл-06 19:21 
Все спасибо. Скачал его с ftp://ftp.ru.kernel.org/pub/linux/kernel/v2.6/

"USB драйвер"
Отправлено Doomer , 21-Июл-06 16:24 
Посоветуйте пожалуста где можно найти описание большинства функций используемых для создания USB-драйвера

"USB драйвер"
Отправлено int_0d , 24-Июл-06 10:10 
>Посоветуйте пожалуста где можно найти описание большинства функций используемых для создания USB-драйвера
>

описание захотел?, лентяй...
посмотри, где-то на ресурсе была статья по USB драйверам (если не найдешь могу прислать). что-то есть в ./Documentation
для добычи доков по USB вообще советую посетить usb.org
будут конструктивные и интересные вопросы - спрашивай, постараюсь ответить : )


"USB драйвер"
Отправлено Doomer , 24-Июл-06 12:25 
>>Посоветуйте пожалуста где можно найти описание большинства функций используемых для создания USB-драйвера
>>
>
>описание захотел?, лентяй...
>посмотри, где-то на ресурсе была статья по USB драйверам (если не найдешь
>могу прислать). что-то есть в ./Documentation
>для добычи доков по USB вообще советую посетить usb.org
>будут конструктивные и интересные вопросы - спрашивай, постараюсь ответить : )

Есть конструктивный вопрос.
Как создается файл устройства при подлючении моего устройства в компьютер?(сорри за тавтологию). Для создания файла символьных устройств функция register_chrdev возвращает старший номер устройства, после чего я могу вызвать mknod, а как поступить с USB устройсивами. В документации указано что в случае успешного выполнения usb_register возвращает 0. Кароче откуда взять старший номер устройства?


"USB драйвер"
Отправлено int_0d , 24-Июл-06 13:29 

>Есть конструктивный вопрос.
>Как создается файл устройства при подлючении моего устройства в компьютер?(сорри за тавтологию).
>Для создания файла символьных устройств функция register_chrdev возвращает старший номер устройства,
>после чего я могу вызвать mknod, а как поступить с USB
>устройсивами. В документации указано что в случае успешного выполнения usb_register возвращает
>0. Кароче откуда взять старший номер устройства?

    Никак не создается. когда ты втыкаешь девайс в компьютер вызывается callback по кличке probe, в котором ты в зависимости от опознания/неопознания девайса делать можешь что угодно (в том числе и вызывать register_chrdev унд vfs_mknod, регистрировать что-то в procfs и sysfs и.т.д). символьные устройства и вообще все что ты видишь в /dev никак не связаны с реальными устройствами - это всего лишь один из интерфейсов между ядром и userspace


"USB драйвер"
Отправлено Doomer , 24-Июл-06 15:04 
А callback'и по кличке read и write как вызвать? Нужен же какой-нить интерфейс.

P.S. А что делает vfs_mknod?


"USB драйвер"
Отправлено int_0d , 24-Июл-06 16:20 
>А 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 драйвер"
Отправлено Doomer , 29-Июл-06 15:10 
"посмотри, где-то на ресурсе была статья по USB драйверам (если не найдешь могу прислать). "

Вышли пожалуста на doomerb@gmail.com

Так я и не понял как мне создать файл устройства в /dev...

Похоже надо вызвать mknod в функции probe. Но как ей передать старший номер устройства?


"USB драйвер"
Отправлено Doomer , 29-Июл-06 17:04 
Прочитал статью про подключение сканера http://www.nixp.ru/articles/usbscanlinux
Там используют команду # mknod /dev/usbscanner0 c 180 48
для создания файла устройства.
То есть они зараннее знают что 180 - это старший номер для сканеров?
А откуда мне взять старший номер для абсолютно нового устройства который нигде не зарегистрирован?

"USB драйвер"
Отправлено gyn61 , 29-Июл-06 19:11 
cat /proc/devices

"USB драйвер"
Отправлено int_0d , 31-Июл-06 10:05 
>Прочитал статью про подключение сканера http://www.nixp.ru/articles/usbscanlinux
>Там используют команду # mknod /dev/usbscanner0 c 180 48
>для создания файла устройства.
>То есть они зараннее знают что 180 - это старший номер для
>сканеров?
>А откуда мне взять старший номер для абсолютно нового устройства который нигде
>не зарегистрирован?


на новых ядрах мажор тебе назначиться динамически, при указании в register_chrdev мажора равного 0, каковой ты потом скармливаешь vfs_mknod (можно и sys_mknod ,но это не кошерно)
статью выслал


"USB драйвер"
Отправлено Doomer , 31-Июл-06 11:58 
Thanks a lot