где делает lsusb-t, получают его данные из?

Я хочу в файл от который команда

lsusb -t

получает данные. Мне любопытно видеть, где это хранится.

this is the snap

и может любой также говорить что, что может сделать с идентификатором устройства, который отображается в fdisk -l?

3
задан 26 January 2016 в 18:34

5 ответов

lsusb считывает его данные с ядра, обеспеченного виртуальным sys Файловая система, смонтированная в /sys; конкретно от местоположения соответствующих каталогов для USB-устройств. Эти устройства подключены к различным шинам PCI и (главным образом) обнаруживаются udevd.

, Например, в моем компьютере вот один пример localtion USB-устройства, подключенного к конкретной шине PCI:

/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/

содержание каталога:

% print -l *
4-1:1.0
authorized
avoid_reset_quirk
bcdDevice
bConfigurationValue
bDeviceClass
bDeviceProtocol
bDeviceSubClass
bmAttributes
bMaxPacketSize0
bMaxPower
bNumConfigurations
bNumInterfaces
busnum
configuration
descriptors
dev
devnum
devpath
driver
ep_00
idProduct
idVendor
ltm_capable
maxchild
port
power
quirks
removable
remove
speed
subsystem
uevent
urbnum
version

lsusb просто чтения из соответствующего файла (файлов) этого каталога.

4
ответ дан 1 December 2019 в 15:24

lsusb использование libudev для выборки списка устройств Вы видите. Libudev, в свою очередь, использует комбинацию udev базы данных и поиска /sys файловая система для нахождения информации об аппаратных средствах

репозитории Соответствующих норм:

https://github.com/gregkh/lsusb

http://cgit.freedesktop.org/systemd/systemd/tree/src/libudev

2
ответ дан 1 December 2019 в 15:24

Ядро имеет драйверы для устройств, и ядро добавляет их. Устройства сообщают о своих возможностях драйверу или BIOS. О некоторых из них сообщает BIOS. Я знаю, что, потому что у меня был BIOS с ошибкой и она сообщала о вентиляторах, которые не присутствовали. Когда процессор стал горячим, драйвер ядра пытался включить несуществующие вентиляторы. Наконец я решил проблему путем компиляции ядра без поддержки вентиляторов.

Смотрят на /sys/devices. Вы найдете свои устройства там. Можно найти большую информацию об устройствах в каталогах и файлах. Ядро создает их динамично, когда устройства являются скидкой / связанный.

0
ответ дан 1 December 2019 в 15:24

Извините меня, я не помогу Вам! Если Вы хотите некоторую забаву:

ldd `which lsusb`
strace lsusb -t
ltrace -l "libudev*" lsusb -t

ну, я предложил бы прочитать, по крайней мере, длинное описание (если не целое руководство) каждой команды с помощью man или info.

0
ответ дан 1 December 2019 в 15:24

После быстрого strace я нашел, что lsusb сохраняет список VID/PIDs, которые касаются названий продукта в/var/lib/usbutils/usb.ids

0
ответ дан 1 December 2019 в 15:24

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

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