Я прочитал из главы 14 LDD3 о драйверах hotplug. Мне нужно написать драйвер мыши usb, который загружается при подключении оборудования. Теперь, проведя некоторый эксперимент, я узнал, что есть драйвер с именем "hid-generic", который вызывается при отключении от сети.
[ 6654.232046] usb 3-1: new low-speed USB device number 3 using uhci_hcd
[ 6654.462061] usb 3-1: New USB device found, idVendor=093a, idProduct=2510
[ 6654.462067] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6654.462071] usb 3-1: Product: USB OPTICAL MOUSE
[ 6654.462074] usb 3-1: Manufacturer: PIXART
[ 6654.489316] input: PIXART USB OPTICAL MOUSE as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input12
[ 6654.489445] hid-generic 0003:093A:2510.0004: input,hidraw0: USB HID v1.10 Mouse [PIXART USB OPTICAL MOUSE] on usb-0000:00:1d.1-1/input0
Также показывает lsmod,
Module Size Used by
hid_generic 12541 0
usbhid 47259 0
hid 105241 2 hid_generic,usbhid
psmouse 102541 0
Мои сомнения таковы:
1) Чтобы сделать загрузку модуля (hotplug), когда эта мышь подключается, я должен отключить эти 3 драйвера в ядре и построить целое ядро с моим драйвером с идентификатором поставщика и устройства в id_table. Правильно?
2) Я также читал о основных драйверах USB и драйверах USB-устройств. Итак, эти драйверы HID являются основными драйверами или драйверами устройств?
3) Каковы основные драйверы и драйвер устройства в случае USB-мыши? И где я могу найти их в исходном тексте ядра?
Спасибо, Сунил.