У меня есть два одинаковых USB-устройства, подключенных к разным хост-контроллерам USB. Иногда порядок инициализации устройств меняется самопроизвольно, нарушая нумерацию устройств. Есть ли способ получить номер шины USB в драйвере устройства (этого будет достаточно для корректной инициализации), как это делается в пользовательском пространстве с помощью lsusb?
Как получить доступ к номеру шины USB из драйвера устройства Linux?
07.09.2016
- Не совсем понятно, что вы спрашиваете, но просмотрите в sys-fs, возможно, вы найдете что-то, что вам нужно. (например, в
/sys/bus/usb
) 07.09.2016
Ответы:
1
Я нашел решение. Задача состояла в том, чтобы получить номер шины USB в модуле ядра, аналогичная задача была найдена по адресу этот пост. Необходимо было получить элемент bus->busnum структуры usb_device в функции инициализации драйвера:
struct usb_device *usbdev;
struct usb_bus *mybus;
usbdev=interface_to_usbdev(pusb_intf);
mybus=usbdev->bus;
printk("USB Bus number is %d\n",mybus->busnum);
08.09.2016
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..