В общем как правило смотрят на загруженные модули в системе,  а потом уже к каким устройствам эти модули относятся. Это через lsmod, modinfo...
Но часто необходимо обратное - зная ID устройства или даже его имя, узнать какой модуль используется? Ну например подсоединено устройство, а модуль к нему не загружен, или загружен, но не тот который ожидалось...
Можно конечно копаться в /sys
, но хотелось по-проще и как оказалось далеко не все знают как это делается.

Ответ:
lspci -v отображает имя, модуль и много прочего
lspci -vn отображает ID, модуль и много прочего
lsusb -t отображает модуль и порт к котрому это устройство присоединено
lsusb -v отображает имя и порт к котрому это устройство присоединено

Есть еще hwinfo
, но говорят что оно само по портам лазит и возможны в определенных ситуациях зависания. Но тут зато комплексный ответ на поставленный вопрос.

2

Харитон пишет:

lsusb -t отображает модуль и порт к котрому это устройство присоединено

и где вы тут модуль нашли?
и что вы тут подразумеваете под "портом"... отображается шина, номер устройства на шине, а также id производителя и устройства.

ЗЫ:
для модулей pci устройств удобней пользовать "lspci -k"

95% процентов проблем находятся между клавиатурой и стулом.

Fat-Zer,
Под портом я подразумеваю порты шины юсб, где все и написано:

lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/5p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/5p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/5p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/5p, 480M
    |__ Port 2: Dev 2, If 0, Class=stor., Driver=usb-storage, 480M
    |__ Port 4: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 4: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M

подключена флэшка. модуль usb-storage

modinfo usb-storage
filename:       /lib/modules/2.6.35.11-ao521-r2/kernel/drivers/usb/storage/usb-storage.ko
license:        GPL
description:    USB Mass Storage driver for Linux
author:         Matthew Dharm <mdharm-usb@one-eyed-alien.net>
srcversion:     E4A2806A3B74CCFEED671FA
alias:          usb:v*p*d*dc*dsc*dp*ic08isc06ip50*
....

4

мм... а это в какой версии usbutils такие плюшки добавили? ("lsusb -V")

95% процентов проблем находятся между клавиатурой и стулом.

Fat-Zer,
lspci -k тоже интересна, но меня больше интересовало ID устройства (опция -n), чтоб ловить те устройства, которые не установились в системе...

Fat-Zer пишет:

мм... а это в какой версии usbutils такие плюшки добавили? ("lsusb -V")

ну у меня кубунту 10.10, а версия юсбтулз 0.87-4

7

Харитон пишет:

ну у меня кубунту 10.10, а версия юсбтулз 0.87-4

странно... версия вроде старая... сейчас попробовал собрать последнюю, ванильную там ничего похожего нет... наверно в бубунте своя какая-то перепатченная вся...

95% процентов проблем находятся между клавиатурой и стулом.

8

Fat-Zer пишет:

странно... версия вроде старая... сейчас попробовал собрать последнюю, ванильную там ничего похожего нет... наверно в бубунте своя какая-то перепатченная вся...

Не обычная, в debian такая же (у меня 1:001-1).

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

9

гм... значит чего-то не хватает в ядре или в libusb... скорее первое. буду думать, я тоже хочу такие плюшки. кто-что знает?

95% процентов проблем находятся между клавиатурой и стулом.