Как знать, где драйвер для устройства?

Позволяет говорят, что у меня есть устройство мышей, и я вижу сенсорные события от/dev/input.mice, но я думал, где драйвер.

1
задан 22 October 2015 в 14:07

2 ответа

обычно водители приезжают в форме ядерных модулей. они сохранены под /lib/modules/<kernel-version>. Вы можете узнать то, что Ваш <kernel-version> использует:

uname -r

как пример, Вы можете найти справочник модулей как так:

echo "Modules directory: /lib/modules/$(uname -r)"

и затем cd к нему с cd /lib/modules/$(uname -r). модули разделены на свои соответствующие папки, однако некоторые модули встроены в само ядро, и я предполагаю универсальных водителей, таких как водители мышей, и клавишные были бы встроены.

я не на 100% уверен, что это отвечает на Ваш вопрос, поскольку кажется, что Вы можете хотеть найти драйвер мыши, который не «существует» как таковой, если Вы ищете его как физический файл, но я надеюсь, что это помогает.

0
ответ дан 30 September 2019 в 07:03

Информация об используемом драйвере обычно находится в сообщениях ядра, доступных на dmesg и обычно доступный в файле /var/log/syslog и родственник повернул файлы (старые, переименованные и сжатые как syslog.2.gz и т.д....).

Например, давайте вставим беспроводную мышь в мою систему. В конце системного журнала я могу найти:

Oct 22 14:00:43 pern kernel: [100418.211599] usb 2-1.6: new full-speed USB device number 4 using ehci-pci
Oct 22 14:00:44 pern kernel: [100418.307225] usb 2-1.6: New USB device found, idVendor=046d, idProduct=c52f
Oct 22 14:00:44 pern kernel: [100418.307233] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Oct 22 14:00:44 pern kernel: [100418.307237] usb 2-1.6: Product: USB Receiver
Oct 22 14:00:44 pern kernel: [100418.307240] usb 2-1.6: Manufacturer: Logitech
Oct 22 14:00:44 pern kernel: [100418.309876] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/0003:046D:C52F.0004/input/input16
Oct 22 14:00:44 pern kernel: [100418.310216] hid-generic 0003:046D:C52F.0004: input,hidraw3: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:1d.0-1.6/input0
Oct 22 14:00:44 pern kernel: [100418.313053] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.1/0003:046D:C52F.0005/input/input17
Oct 22 14:00:44 pern kernel: [100418.367972] hid-generic 0003:046D:C52F.0005: input,hiddev0,hidraw4: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.0-1.6/input1
Oct 22 14:00:44 pern mtp-probe: checking bus 2, device 4: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6"
Oct 22 14:00:44 pern mtp-probe: bus: 2, device: 4 was not an MTP device

... у нас есть новое устройство, которым управляет "входной" слой, и более конкретно "скрытый - универсальный" драйвер (существует два устройства, потому что существует беспроводной получатель и надлежащая мышь).

Можно перейти к источникам Linux и найти его; hid-generic например, находится в http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/hid/hid-generic.c, который кажется тупиком для базового внедрения в http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/hid/hid-core.c (обратите внимание, что это - ссылка на ядро Linus Torvalds---не, тот действительно использует Ubuntu---, не должно быть трудным найти его).

После того, как скомпилированный, это будет концы в ядро (если скомпилировано "в" него) или больше обычно как модуль, в соответствии с каталогом /lib/modules/your-kernel-version-here/... и т.д. Например, в моей системе, у меня есть он в /lib/modules/3.19.0-31-generic/kernel/drivers/hid/hid-generic.ko.

0
ответ дан 30 September 2019 в 07:03

Другие вопросы по тегам:

Похожие вопросы: