Vendor ID
Регистры Vendor ID и Device ID идентифицируют устройство и обычно называются PCI ID. Шестнадцатиразрядный регистр Vendor ID выдаётся организацией PCI SIG. Шестнадцатиразрядный регистр Device ID назначается изготовителем устройства. Существует проект создания базы данных всех известных значений регистров Vendor ID и Device ID. (Смотри #Ссылки.)
Первые 64 байта конфигурационного адресного пространства (в соответствии с PCI Local Bus Specification 2.2):
| Адрес | 31 . 24 | 23 . 16 | 15 . 8 | 7 . 0 |
|---|---|---|---|---|
| 0x00 | DeviceID | VendorID | ||
| 0x04 | Status | Command | ||
| 0x08 | Class Code | Revision ID | ||
| 0x0C | BIST | Header Type | Latency Timer | Cache Line Size |
| 0x10 | Base Address Register 0 | |||
| 0x14 | Base Address Register 1 | |||
| 0x18 | Base Address Register 2 | |||
| 0x1C | Base Address Register 3 | |||
| 0x20 | Base Address Register 4 | |||
| 0x24 | Base Address Register 5 | |||
| 0x28 | Cardbus CIS pointer | |||
| 0x2C | SubsystemID | Subsystem Vendor ID | ||
| 0x30 | Expansion ROM Base Address | |||
| 0x34 | Reserved | Capabilities pointer |
||
| 0x38 | Reserved | |||
| 0x3C | Max_Lat | Min_Gnt | Interrupt Pin | Interrupt Line |
Регистры DeviceID, VendorID, Status, Command, Class Code, Revision ID, Header Type являются обязательными для всех PCI-устройств (для многих типов устройств обязательными являются также регистры Subsystem ID и Subsystem Vendor ID).
Все остальные регистры являются опциональными.
Автоматическая инициализация аппаратуры с помощью конфигурационного пространства
Для того, чтобы обращаться к устройству через адресное пространство памяти или ввода-вывода, системное программное обеспечение или ОС программирует базовые адресные регистры (англ. Base Address Registers , также называемые BAR’ами), посылая конфигурационные команды PCI-контроллеру. В начале загрузки системы все PCI устройства находятся в неактивном состоянии, им не назначены адреса, по которым драйвера устройств могут взаимодействовать с ними. Либо ISA, базовые адреса устройств, подключамых к которой, приходилось настраивать перемычками или переключателями).
Любое PCI-устройство, не являющееся мостом (см. PCI-to-PCI Bridge Architecture Specification. Revision 1.1) может иметь до шести BAR’ов, каждый из которых отвечает за определённый диапазон адресов в адресном пространстве памяти или ввода-вывода. Кроме того, устройство может иметь firmware).
Доступ к PCI через порты I/O
Для работы с шиной PCI в PC-AT и совместимых машинах выделено два основных порта.
0CF8h -W порт адреса Address
0CFCh RW порт данных Data
Оба порта являются 32 битными.
Порт адреса представляет из себя следующую 32 битную структуру
+—+———+——-+———-+———+—————+-+-+
|31 |30 24|23 16|15 11|10 8|7 2|1|0|
+—+———+——-+———-+———+—————+-+-+
| с | резерв |шина |устройство| функция|Индекс регистра|0|0|
+—+———+——-+———-+———+—————+-+-+
Порт адреса задает шину, устройства, и адрес регистра в конфигурационном пространстве устройства. Грубо говоря, устройство — это физически присутствующее устройство. А функция — это логическое устройство.
С — флаг доступа к устройству.
Первые два бита в порту адреса всегда 0.
По окончании работы с устройством следует сбросить адрес в 0.
Если в ответ на запрос нулевого регистра возвращается 0FFFFh, то устройства не существует. Vendor ID (ID производителя) — для Intel это 8086h, но не может принимать значение 0FFFFh.
Device ID (ID устройства) — принимает различные значения
Revision ID (ID модификации) — обозначает номер модификации устройства, назначается производителем.
Base Class Code — базовый класс, сокращенно BCC.
Sub Class Code — подкласс, сокращенно SCC.
Programming Interface — интерфейс, сокращенно PI.
Header Type (тип заголовка) — если бит 7 равен 1, то устройство содержит несколько функций.
Если бит 6 равен 0, то заголовок стандартный. Стандартные заголовки:
00 — стандартный смотри выше.
01 — стандартный для моста PCI-to-PCI
02 — стандартный для моста CardBus.
См. также
Ссылки
- The Linux PCI ID Repository, база данных ID PCI-устройств
- PCI Vendor and Device Lists
Wikimedia Foundation . 2010 .
Vendor id что это
Разбираемся с драйверами.
Урок 1. Установка драйверов. Возможные нештатные ситуации.
Давайте попробуем на любительском уровне разобраться в драйверах для видеоадаптеров Radeon и начнем этот разговор с их установки. Это вдвойне актуально из-за того, что последнее время на рынок широкой волной хлынули видеокарты на чипах ATi от сторонних производителей, причем как партнеров канадской компании, так и просто перекупщиков чипов (да, да — в западных форумах уже проскакивают сообщения даже об этом). С одной стороны, такое разнообразие выбора не может не радовать, с другой — вызывает массу вопросов у пользователей, связанных с БИОСами таких карт и проблемами, возникающими при установке драйверов к ним. Вопрос с БИОСами мы оставим до лучших времен, единственное, что мне хочется сказать по этому поводу, так это что в 95% не стоит искать приключений на свою многострадальную . карту (а вы что подумали? 🙂 и пытаться прошить в нее «чужой» БИОС, — чаще всего вы ничего от этого не выиграете. Тем более это не стоит делать сейчас, когда появился прекрасный инструмент для редактирования БИОСов — RadEdit.
Давайте для начала рассмотрим, как операционная система определяет, какие же драйверы требует то или иное устройство, и можно ли или нет, и если можно, то как «обмануть» операционку. Начнем с того, что каждое устройство имеет несколько идентификаторов — индивидуальных кодов, которые определяют производителя, модель и модификацию устройства. Первый — это Vendor ID, который содержит информацию о производителе нашей видеокарты. До недавних пор у всех видеоадаптеров на чипах ATi это значение было равным 1002, что соответствовало, естественно, самой ATi, но сейчас уже встречаются карты с другими значениями, например, мне на днях прислали БИОС карточки Radeon 7000 неизвестного производителя с Vendor ID 1569. Сразу оговорюсь, что производитель «неизвестен», потому что я просто поленился его выяснять. На самом деле по известному идентификатору не составит особого труда его определить. Кстати, это что-то вроде фирменного клейма и то, что он отличается от ATi-шного, может быть даже плюс, потому что это значит, что производитель не прячется за спиной ATi и не стесняется заявить, что данная карта произведена именно им. Наверняка Gigabyte и Hercules на своих картах будут иметь собственные Vendor ID.
Второй идентификатор — Device ID. Он определяет модель устройства, а в большинстве случаев чип, на основе которого оно изготовлено. Это самый важный для нас идентификатор и он в принципе не должен отличаться от того, какой был назначен чипу при рождении. Сейчас я для более подготовленных технически читателей скажу несколько «заумных» вещей, которые все остальные могут пропустить.
Есть два независимых источника, где хранятся Device ID. Один в Video bios в PCI Data Structure, где по Offset 4 находится Vendor ID, а по Offset 6 — Device ID. Указатель на него находится по Offset 18h ROM bios. Второй источник — в регистрах 2-3 PCI Configuration Space. Туда он в свою очередь попадает так, как задумано разработчиками чипа и/или карты. Он может быть жестко запрограммирован в каком-то Read Only регистре чипа, может просто рисоваться резисторами-перемычками на плате (как у Nvidia, например), может задаваться какими-то байтами в ROM BIOS, а оттуда зеркалироваться на шину, может быть в отдельном config ROM, есть и другие варианты. Поэтому теоретически существует множество возможностей для производителя наплодить кучу фантомных разновидностей по сути одного устройства.
Третий идентификатор — SubSystem ID определяет модификацию устройства. Ну, например, Radeon VE с SDR или с DDR памятью будут иметь разные SubSystem ID. Более того, разные SubSystem ID могут иметь даже абсолютно одинаковые карты, но с разными рабочими частотами. По большому счету SubSystem ID чаще всего особой роли не играет.
Есть еще и четвертый — Subsystem Vendor ID, но он нас вообще не интересует.
Теперь вернемся к тому, как устанавливаются драйверы.
Операционная система считывает все три идентификатора устройства и сравнивает их с теми, которые есть в ее базе драйверов (надеюсь, что все помнят, что для наиболее распространенных устройств драйверы есть в составе инсталляционного пакета самой операционки). Для Radeon-ов драйверы есть только в составе Windows XP, но и для нее все же лучше устанавливать «свежие» драйверы по той простой причине, что MS поступила следующим образом — для драйверов, входящих в ее состав, встроенная поддержка API OpenGL отсутствует. Для видеокарт всех производителей, а не только для ATi, насколько мне известно. И если вы собираетесь играть в игры, базирующиеся на этом API (Quake, Serious Sam, например), то имеет смысл устанавливать драйверы производителя, которые идут отдельным пакетом (самые последние версии всегда можно скачать с нашего сайта).
Что представляет собой инсталляционный пакет драйверов? Это набор файлов, через которые после их распаковки и установки операционная система работает с видеокартой. Очень часто в инсталляционном пакете драйверов присутствуют файлы для нескольких родственных, но не одинаковых устройств и какие из этих файлов будут использоваться картой, а какие нет, определяет специальный конфигурационный файл, имеющий расширение *.inf. Именно в нем находится список устройств, для которых эти драйверы предназначены, именно с ним сверяет операционная система идентификаторы устройства, определенные аппаратно. Строки этого списка устройств имеют вид:
«RADEON 7000/VE» = RV100_ENU, PCI\VEN_1002&DEV_5159&SUBSYS_000A1002
Что значат эти строки? «RADEON 7000/VE» — это имя, которое ваша видеокарта будет иметь в закладке «Система» => «Оборудование» в списке установленных устройств. RV100_ENU — это раздел в inf-файле, точнее даже несколько разделов, в которых описано, какие файлы из инсталляционного пакета и как именно надо устанавливать, с какими настройками должна работать видеокарта, какие изменения необходимо внести в системный реестр. VEN_1002 — это Vendor ID, DEV_5159 — Device ID и SUBSYS_000A1002 — SubSystem ID. Если все три ID совпадают с теми, которые зашиты в вашей видеокарте, операционная система делает вывод, что данные драйверы подходят к устройству, иначе выдается сообщение, что нужные драйверы не найдены.
Давайте рассмотрим внимательнее список устройств в inf-файле.
Что мы видим? А то что, например, все видеокарты на чипе RV100 (Radeon 7000/VE в различных модификациях), несмотря на различные SubSystem ID, имеют одно и тоже наименование установочного раздела — RV100_ENU. Карты на чипах R100 — R6_ENU_default. (Небольшое дополнение по просьбе читателей: В Windows XP и 2000 эти разделы имеют другие имена — например, ati2mtag_RV100, ati2mtag_default). Это те самые разделы, которые отвечают за установку и конфигурирование видеокарты. Более того, наименование этого раздела не зависит и от Vendor ID и определяется только Device ID, т.е. чипом, на котором сделан видеоадаптер. Какие из этого следуют практические выводы? А такие, что нам не нужно знать, кто производитель нашего видеоадаптера и какая на нем установлена память (точнее это надо знать, но для других целей, например, чтоб прикинуть его производительность). Но надо обязательно знать, на базе какого чипа изготовлена видеокарта. Зная это, вы абсолютно безбоязненно сможете принудительно установить драйверы от аналогичной карточки.
Уже предвижу вопрос: «А как это сделать?» Рассказываю. Откройте Панель управления => Система => Видеоадаптеры, выделите ваш Radeon, который виден в системе как «Стандартный VGA видеоадаптер» и нажмите кнопку «Свойства». Откроется новое окно, в котором надо открыть закладку «Драйвер» и нажать «Обновить драйвер». В появившемся окне выделите «Отобразить список всех драйверов, чтобы выбрать наиболее подходящий». Откроется еще одно окно, в нем ставим галку напротив «Отобразить полный список устройств», затем нажимаем «Установить с диска» и указываем путь к папке, в которую распаковали драйверы. Нажимаем «Далее» и в открывшемся списке выбираем родственное устройство на аналогичном чипе. Все остальное Windows сделает сама. Для вступления изменений в силу потребуется перезагрузка.
Второй способ посложнее, но позволит вам отредактировать inf-файл таким образом, что Windows самостоятельно определит вашу карту. Для этого открываем реестр и ищем ветку
• Для Win9x/ME:
HKLM\Config\000х\Display\Settings\PCI_VEN_****&DEV_****&SUBSYS_********
• Для Win XP:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Settings\Video\PCI:VEN_****&DEV_****&SUBSYS_********
Где вместо * будут ID вашей карты. Причем обратите внимание, что Device ID у Radeon могут быть следующие:
• R100 (Radeon SDR, Radeon DDR, Radeon LE, Radeon VIVO, Radeon 7200) — 5144 ;
• RV100 (Radeon VE, Radeon 7000) — 5159 ;
• RV200 (Radeon 7500) — 5157 ;
• R200 (Radeon 8500/8500 LE) — 514C .
Можно открыть редактор реестра, ввести в строке поиска Device ID вашей карты и быстро получить искомую строчку, которая присутствует еще в нескольких ветвях реестра. Дальше распаковываем инсталляционный пакет драйверов в какую-либо папку и находим там один из следующих файлов:
• atii9xag.inf для Win9x/ME;
• atiixpag.inf для Win XP;
• atii2kag.inf для W2k.
Открываем его в тестовом редакторе, лучше в Блокноте, и вставляем в список устройств дополнительную строку, в которой заменяем присутствующие там Vendor ID и SubSystem ID на те, которые зашиты в вашей карте и которые только что были найдены в системном реестре. При установке подредактированных драйверов Windows найдет вашу карту самостоятельно.
Существует и третий метод — редактирование БИОСа видеокарты, но его мы благоразумно пропустим вообще. Пока. Возможно в дальнейшем мы расскажем и об этом.
Еще одно замечание. Драйверы могут не устанавливаться также по причине того, что у вас просто сильно замусорена или некорректно установлена система, отсутствуют или повреждены системные файлы. Поэтому столкнувшись с проблемой, не спешите делать вывод о том, что у вас нестандартная видеокарта.
Удачи!
| 9 февраля 2002 г. | Дмитрий aka Viller |
Перевод «vendor id» на русский
Ваш текст переведен частично.
Вы можете переводить не более 999 символов за один раз.
Войдите или зарегистрируйтесь бесплатно на PROMT.One и переводите еще больше!
Словарь для «vendor id»
vendor id существительное
мн. vendor ids
идентификаторы поставщиков мн.ч. (Бизнес)
vendor ID существительное
мн. vendor ids
идентификаторы поставщиков мн.ч. (Бизнес)
Контексты с «vendor id»
Outsourcing this to a vendor , while potentially saving time in the short term, could be extremely expensive in the long-term. Передача этого процесса на аутсорсинг продавцу возможно сэкономит время в ближайшей перспективе, но может оказаться чрезвычайно дорогой в долгосрочной перспективе.
If JD does the same, it would significantly undercut Taobao, and there would be a lot of vendor migration. Если JD поступит также, Taobao может лишиться части продавцов , которые предпочтут мигрировать на новую площадку.
Another will at times pay above contract price to a vendor who has had unexpected expense in making delivery, because it wants to be sure of having a dependable source of needed raw materials or high-quality components available when the market has turned and supplies may be desperately needed. Другая в некоторых случаях платит цену выше контрактной поставщику , которому пришлось пойти на непредвиденные расходы при поставке, поскольку она хочет иметь в своем распоряжении надежный источник необходимого ей сырья или высококачественных деталей в момент изменения конъюнктуры рынка и появления острой необходимости в расширении поставок.
“Our ambition is to become the No. 1 preferred vendor for Russian operators.” – Наше устремление заключается в том, чтобы стать поставщиком №1 для российских операторов».
Rosatom is also the only nuclear vendor willing to take back spent fuel from its customers, according to the World Nuclear Assn. Росатом также является единственной в своей отрасли компанией, готовой забирать обратно отработанное ядерное топливо у своих покупателей.
Примеры употребления слов в разных контекстах предоставляются исключительно в лингвистических целях, т. е. для изучения употребления слов в одном языке и вариантов их перевода на другой. Все образцы собраны автоматически из открытых источников с помощью технологии поиска на основе двуязычных данных. Если вы обнаружили орфографическую, пунктуационную или иную ошибку в оригинале или переводе, используйте опцию «Сообщить о проблеме» или напишите нам
Vendor id что это
Одна из неприятных ситуаций, когда в машине стоит карта без драйверов и ситуацию усложняет невозможность внешнего осмотра карты. Например гарантийные пломбы, боязнь отвертки, хроническое криворучие, влом. Для опознания устройства можно и не лезть внутрь.
Каждое устройство имеет некоторые признаки(идентификаторы), которые позволяют BIOS, Windows отличать устройства друг от друга — это Vendor ID, System ID, SubVendor ID, SubSystem ID. Если первые два одинаковы у всех устройств созданных на основе одного контроллера, то последние два назначаются производителем устройства(бренд) и уникальны для каждой модели от определенного производителя. как их узнать?
Во первых при загрузке машины можно увидеть PCI Device Listing (для тех кто не знает как его остановить/увидеть — смотрите тут.).
Рис. 1. PCI Device List
Рис. 2. PCI Device List после установки ТВ тюнера.
Vendor ID, System ID отображаются в столбцах Vendor/Device. Класс устройства в столбце Device Class.
Во вторых можно воспользоваться программой WCPUID — на её панели инструментов нажмите кнопку Device List. —
В окне DeviceList.

Рис. 3. Окно PCI Device List программы WCPUID
Программа WCPUID в столбце SubSystem показывает SubVendor и SubDeviceID — информация о производителе и модели устройства.
Расшифруем конфигурацию системы на Рис.2. Для этого необходима программа V&S_ID * (рис.4).

Рис 4. Окно программы V&S_ID.
Вводим Vendor ID и System ID и нажимаем Search — в нижней части окна отображается результат поиска Vendor (производитель) и System (устройство).
Результат для рис. 2.:
| Vendor ID | Device ID | Vendor | Device | Device Class | А теперь по русски. |
| 1106 | 0571 | VIA Technologies Inc | VT82C586/596/686 PCI IDE Controller | IDE Controller | Контроллер IDE |
| 1106 | 3038 | VIA Technologies Inc | VT83C572 PCI USB Controller | Serial Bus Controller | Контроллер USB |
| 1106 | 3058 | VIA Technologies Inc | VT82C686A/B AC97 Audio Codec | Multimedia Device | Встроенная звуковая карта AC`97 |
| 10EC | 8139 | Realtek Semiconductor | RT8139A/B/C Fast Ethernet Adapter | Network Controller | Сетевая карта Realtek 8139 |
| 11C1 | 0440 | Agere Systems | LT Winmodem 56k Data+Fax+Voice+DSVD | Simple COMM. Controller | Внутренний модем Lucent(Agere) WinModem |
| 1131 | 7130 | Philips Semiconductors | SAA7130HL Multi Media Capture Device | Multimedia Device | ТВ тюнер на SAA7130 Manli HOMETV |
| 10DE | 0110 | NVIDIA Corporation | NV11 GeForce2 MX / MX 400 | Display Controller | Видеокарта GeForce2 MX |
Зная кто производитель (Vendor) можно найти его сайт и скачать от туда драйвера. В случае ТВ тюнера, зная Device, желательно использовать альтернативные драйвера.
Для закрепления темы расшифруйте конфигурацию системы на рис. 3.
* — можно также воспользоваться сайтами PCIsig, PCIdatabase, или программой для анализа базы данных PCI-устройств.