Linux: Помогите написать USB Driver мыши
От: the_moon  
Дата: 02.11.06 07:42
Оценка:
Привет,

решил "поигратся" с USB мышкой, для этого пытаюсь написать драйвер для мыши. Я скопировал себе файл usbmous.c и отредактировал. Собственно только поменял имя драйвера при регистрации, добавил идентификаторы производителя и устройста и printk в *probe функции, что бы посмотреть, используется ли мой дорайвер.

Скомпилировал, загрузил модуль. Только вот почему то probe функция не вызвается.

Вот, что я поменял в коде.


static int usb_mscanner_probe(struct usb_interface *intf, const struct usb_device_id *id)
{
    struct usb_device *dev = interface_to_usbdev(intf);
    struct usb_host_interface *interface;
    struct usb_endpoint_descriptor *endpoint;
    struct usb_mouse *mouse;
    struct input_dev *input_dev;
    int pipe, maxp;

    printk( KERN_INFO "MSCANNER:  Called for probing\n" );



static struct usb_device_id usb_mouse_id_table [] = {
/*     { USB_INTERFACE_INFO(3, 1, 2) }, */
    { USB_DEVICE(USB_VENDOR_ID,USB_PRODUCT_ID) },
    { }                        /* Terminating entry */
};

MODULE_DEVICE_TABLE (usb, usb_mouse_id_table);

static struct usb_driver usb_mouse_driver = {
    .name        = "usbmousescanner",
    .probe        = usb_mscanner_probe,
    .disconnect    = usb_mscanner_disconnect,
    .id_table    = usb_mouse_id_table,
};

static int __init usb_mouse_init(void)
{
    int retval = usb_register(&usb_mouse_driver);

    printk( KERN_INFO "MSCANNER:  Registering [%d]\n", retval );

    if (retval == 0)
        printk( KERN_INFO "MSCANNER:  Registered " DRIVER_VERSION ":" DRIVER_DESC "\n" );

    return retval;
}



При загрузке модуля в логе


usbcore: registered new driver usbmousescanner
MSCANNER: Registering [0]
MSCANNER: Registered v0.1:Mouse-scaner


Может быть так, что вкомпилированный драйвер мышки только используется, а до моего дело по этому не доходит? Тоесть в этом случае получается, что только один драйвер на устройство?

Спасибо за любые мысли.
KOPOTbILLIKA KPbIC
Re: Linux: Помогите написать USB Driver мыши
От: Michael7 Россия  
Дата: 02.11.06 17:28
Оценка:
Здравствуйте, the_moon, Вы писали:

_>Может быть так, что вкомпилированный драйвер мышки только используется, а до моего дело по этому не доходит? Тоесть в этом случае получается, что только один драйвер на устройство?


А rmmod для текущего модуля вы делали?
Re[2]: Linux: Помогите написать USB Driver мыши
От: the_moon  
Дата: 02.11.06 18:06
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, the_moon, Вы писали:


_>>Может быть так, что вкомпилированный драйвер мышки только используется, а до моего дело по этому не доходит? Тоесть в этом случае получается, что только один драйвер на устройство?


M>А rmmod для текущего модуля вы делали?


Да у меня там все вкомпилированно. Придется все подгружаемыми модулями сделать. Я так покапался в исходниках. Там есть комментарий, что новый драйвер проверяется только для еще не приаттаченых устройств. то есть один драйвер, на одно устройство.
KOPOTbILLIKA KPbIC
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.