Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выбор конкретного PCI-E устройства в Linux  (Прочитано 11240 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cppdev
Интересующийся

ru
Offline Offline

« : 31-07-2012 17:46 » 

Есть драйвер PCI-E устройства под Linux. Устройств в системе с одинаковым VenID и DevID может быть несколько, все обслуживаются этим драйвером. Как из user mode выбрать конкретное устройство?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 31-07-2012 18:17 » 

Скажу не авторитетно, со знанием нутра, а по опыту эксплуатации: порядок устройств в системе, перечисляемых при загрузке, будет зависеть от порядка на шине. Конечно, возможны условия, когда порядок будет другим.

О каких устройствах (в системе) идет речь?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
cppdev
Интересующийся

ru
Offline Offline

« Ответ #2 : 31-07-2012 18:45 » 

Цитата
О каких устройствах (в системе) идет речь?
О нескольких одинаковых платах обслуживаемых этим драйвером.

В Win это делается вызовом последовательности функций SetupDiGetClassDevs, SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail ... в результате работы которых заполняется структура SP_DEVICE_INTERFACE_DETAIL_DATA, имеющая в своем составе поле DevicePath, которое в свою очередь передается в функцию CreateFile. Мне необходимо сделать тоже самое в Linux.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 31-07-2012 19:06 » 

Переформулирую вопрос: какой тип устройства представлен в ОС? Блочное, символьное, сетевое...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
cppdev
Интересующийся

ru
Offline Offline

« Ответ #4 : 31-07-2012 19:22 » 

Цитата
какой тип устройства представлен в ОС?
Устройство символьное.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 31-07-2012 21:26 » 

Посмотри sysfs. Стандартная точка монтирования: "/sys".
В "/sys/class" и в "/sys/devices" удобно располагаются устройства по типам, шинам и т.п.

А как ты хотел бы идентифицировать конкретное устройство? Чем не устраивает существующий порядок?



Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #6 : 01-08-2012 05:38 » 

cppdev, обычно однотипные устройства имеют однотипные имена, например несколько COM-портов имеют имен типа: /dev/ttySx, где x - число от 0  и до количества однотипных определённых устройств в системе - 1. Скорее всего аналогично будет и с Вашим устройством.
Записан
cppdev
Интересующийся

ru
Offline Offline

« Ответ #7 : 02-08-2012 16:25 » 

Цитата
А как ты хотел бы идентифицировать конкретное устройство? Чем не устраивает существующий порядок?
Вопрос не в выборе между алгоритмами выбора, а в том что нужно описание хотя бы одного. Улыбаюсь В принципе уже разобрался: открывается нужный /dev/deviceX, которые изначально создаются драйвером при установке (при присутствии устройств).
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 02-08-2012 17:50 » 

Век живи, век учись: нехрен хрустальный шар теребить...
cppdev, описывай в следующий раз, что есть и что надо полностью, чтобы не пришлось гадать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
cppdev
Интересующийся

ru
Offline Offline

« Ответ #9 : 02-08-2012 20:00 » 

RXL, я так и написал: как выбрать конкретное pci-e устройство. Улыбаюсь
« Последнее редактирование: 02-08-2012 20:01 от cppdev » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 02-08-2012 20:08 » 

Я и предположить не мог, что /dev/ можно не знать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
cppdev
Интересующийся

ru
Offline Offline

« Ответ #11 : 03-08-2012 06:32 » new

Про /dev/ я знаю. Непонятно было как ее использовать, когда есть несколько однотипных устройств.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines