Обычно все драйверы для используемого в ПК оборудования устанавливаются без каких-либо проблем, однако иногда пользователи сталкиваются с достаточно сложной ситуацией — отображением в «Диспетчере устройств» неизвестного PCI-устройства. После поисков в интернете оказывается, что получить информацию об этом комплектующем достаточно сложно, соответственно, подобрать подходящий драйвер просто невозможно. Сегодня мы предлагаем ознакомиться с несколькими доступными вариантами инсталляции ПО к неизвестному PCI-оборудованию, каждый из которых будет полезен в определенных ситуациях.
- Ищем и устанавливаем драйверы для неизвестного PCI-устройства
- Способ 1: Сайт производителя материнской платы
- Способ 2: Фирменное программное обеспечение
- Способ 3: Онлайн-сервис от разработчиков
- Способ 4: Софт для установки драйверов от независимых разработчиков
- Способ 5: ID неизвестного PCI-устройства
- Способ 6: Автоматический поиск драйверов в Windows
- Как найти PCI устройства без операционной системы
- 🎥 Видео
Видео:❓ Неизвестное устройство в Windows. Как решить проблему?Скачать
Ищем и устанавливаем драйверы для неизвестного PCI-устройства
Операционная система не может распознать упомянутое устройство как раз по причине отсутствия драйвера, иногда это приводит даже к тому, что нельзя получить аппаратный идентификатор, который и служит определителем железа. Если уведомление об этом девайсе не пропало после комплексной инсталляции ПО, например, из идущего в комплекте диска, значит что-то установилось неправильно или вовсе было пропущено. Поэтому придется вручную разбираться с этой проблемой.
Перед началом выполнения следующих инструкций обладателям материнских плат на базе Intel советуем ознакомиться с отдельной нашей статьей по следующей ссылке. Там показана процедура поиска и установки драйверов для PCI-контроллера Simple Communications, которые иногда не входят в стандартный набор и не добавляются в Windows автоматически. Возможно, Intel Management Engine — это именно тот компонент, что и находится в состоянии неизвестного на данный момент.
Способ 1: Сайт производителя материнской платы
Любое оборудование, подключаемое через порт PCI, располагается на самой системной плате, соответственно, подходящий драйвер должен быть доступен на официальном сайте разработчика материнки или ноутбука. Мы возьмем за пример сайт ASUS, чтобы показать пример поиска и загрузки необходимых компонентов.
- Откройте главную страницу нужного сайта, где перейдите в раздел поддержки, щелкнув на соответствующую кнопку.
На странице продукта переместитесь в раздел «Драйверы и Утилиты».
Обязательно определите текущую версию операционной системы, чтобы получить только совместимые драйверы.
Нельзя дать точный ответ, какого именно драйвера не хватает, поэтому придется отыскать его вручную путем подбора. Рекомендованное, но не обязательное ПО находится в «Others», потому раскройте список, чтобы просмотреть все компоненты.
По завершении загрузки запустите EXE-файл или архив.
В случае с архивом Setup.exe находится в корне, достаточно будет запустить его и дождаться окончания инсталляции.
Такой метод считается самым безопасным, однако он не всегда эффективен в этой ситуации и вызывает трудности у некоторых пользователей. Поэтому в случае нерезультативности подбора драйверов мы советуем перейти к альтернативным вариантам.
Способ 2: Фирменное программное обеспечение
Производители материнских плат и лэптопов заинтересованы в том, чтобы у обладателей их продукции возникало как можно меньше трудностей при ее использовании. Поэтому они стараются всячески помогать юзерам, создавая отдел технической поддержки и выкладывая на сайт различные инструкции. Однако самым важным и полезным решением считается фирменное программное обеспечение, в функциональность которого входит и инструмент по автоматическому обновлению драйверов. По ссылке ниже вы найдете руководство по работе в ASUS Live Update.
Если ASUS активно занимается производством и системных плат, и ноутбуков, то HP показала себя только в последнем типе девайсов. Эта компания тоже представляет подобный вспомогательный софт, работающий примерно по такому же принципу. Всю информацию по этой теме ищите в материале далее.
Способ 3: Онлайн-сервис от разработчиков
Онлайн-сервисом для инсталляции ПО известна компания Lenovo, знаменитая своими ноутбуками с демократичными ценниками. Конечно, такое решение по поиску драйверов намного удобнее тех, о которых шла речь ранее, но сейчас такие веб-ресурсы непопулярны, поэтому этот вариант и находится на третьем месте в нашем списке. Если вы являетесь владельцем Lenovo, обратите внимание на приведенный ниже материал.
Читайте также: Максимальный размер шин ниссан икстрейл т31
Способ 4: Софт для установки драйверов от независимых разработчиков
В Способе 2 вы были ознакомлены с фирменными утилитами по поиску и инсталляции драйверов, но не каждая фирма заинтересована в выпуске подобного софта. Если же вам не удалось отыскать его, советуем ознакомиться с ПО от сторонних разработчиков, которые поддерживают работу практически со всем встроенным и периферийным оборудованием. Выбранный инструмент автоматически проведет сканирование системы, загрузит и установит недостающие файлы. От пользователя требуется только вручную задать параметры анализа и запустить выполнение операции.
Что касается конкретных решений, то мы можем порекомендовать обратить внимание на DriverPack Solution. Программа корректно взаимодействует даже со старыми комплектующими и часто находит подходящие файлы для неизвестных PCI-устройств, используя их идентификационный номер или другие сведения. Детальное руководство по обновлению драйверов через DriverPack вы найдете в статье от другого нашего автора по следующей ссылке.
Способ 5: ID неизвестного PCI-устройства
Каждое оборудование имеет свой уникальный номер, выступающий аппаратным идентификатором в операционной системе. Однако в случае с неизвестным PCI-устройством этого сведения недостаточно для корректного отображения в Windows. Поэтому мы предлагаем задействовать этот код, чтобы самостоятельно отыскать совместимые драйверы через специализированные онлайн-сервисы. Развернутые инструкции по этой теме вы найдете в отдельном нашем материале, где весь процесс показан на примере нескольких веб-ресурсов.
Способ 6: Автоматический поиск драйверов в Windows
Порой встроенное средство Виндовс позволяет обойтись без применения дополнительных средств, касается это и случая с PCI-устройством. Нужно лишь самостоятельно запустить поиск драйверов, предварительно убедившись в наличии активного подключения к интернету. Вся процедура осуществляется буквально в несколько кликов:
- Щелкните ПКМ по кнопке «Пуск» и выберите «Диспетчер устройств» или откройте этот раздел любым другим удобным методом.
Найдите необходимое PCI-устройство, кликните на названии ПКМ и отыщите пункт «Обновить драйвер».
Запустите операцию автоматического поиска обновленных драйверов.
Дождитесь завершения поиска драйверов в сети.
Вы будете уведомлены о результатах операции. Если ПО для установки найти не удалось, воспользуйтесь другими методами, которые были рассмотрены ранее.
Проблема с отображением неизвестного PCI-устройства чаще всего возникает при отсутствии необходимых драйверов. Поэтому выше мы продемонстрировали все доступные варианты решения этой неполадки. Вам остается только выбрать работающий метод, после чего комплектующее должно корректно взаимодействовать с операционной системой.
Помимо этой статьи, на сайте еще 12444 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Видео:Другие устройства в диспетчере устройств как убрать Windows 11.Неизвестное устройство.PCI-контроллерСкачать
Как найти PCI устройства без операционной системы
В ходе работы нам периодически приходится сталкиваться с достаточно низкоуровневым взаимодействием с аппаратной частью. В данной статье мы хотим показать, каким образом происходит опрос PCI-устройств для их идентификации и загрузки соответствующих драйверов устройств.
В качестве минимальной базы для работы с PCI-устройствами будем использовать ядро, поддерживающее спецификацию Multiboot. Так удастся избежать необходимости писать собственный загрузочный сектор и загрузчик (loader). Кроме того, этот вопрос и так отлично освещен в интернете. В качестве загрузчика будет выступать GRUB. Грузиться мы будем с флэшки, так как с нее удобно загружать и виртуальную, и реальную машину. В качестве виртуальной машины будем использовать QEMU. В качестве реальной машины должна выступать машина с обычным BIOS-ом (не UEFI), поддерживающим загрузку с USB-HDD (обычно присутствует опция Legacy USB support). Для работы понадобятся Ubuntu Linux со следующими программами: expect, qemu, grub (их можно легко установить при помощи команды sudo apt-get install). Используемый gcc должен компилировать 32х битный код.
Читайте также: Кисель там варят из резины там шины делают из глины
Рассмотрим первый шаг – создание ядра, поддерживающего спецификацию Multiboot. В случае использования GRUB-а в качестве загрузчика ядро будет создаваться из 3-х файлов:
Kernel.c – основной файл с кодом нашей программы и процедурой main();
Loader.s – содержит заголовок мультизагрузчика для GRUB;
Linker.ld – скрипт компоновщика ld, в котором в частности указывается, по какому адресу будет располагаться ядро.
Скрипт компоновщика указывает, как слинковать уже скомпилированные объектные файлы. В первой строчке указано, что точкой входа в нашем ядре будет адрес с меткой «loader». Далее в скрипте указано, что начиная с адреса 0x00100000 (1Мб) будет располагаться секция text. Секции rodata, data и bss выровнены по 0x1000 (4Кб) и располагаются после секции text.
GRUB после загрузки образа ядра с диска ищет в первых 8Кб загруженного образа сигнатуру 0x1BADB002. Сигнатура является первым полем заголовка мультизагрузки. Сам заголовок выглядит следующим образом:
Заголовок должен включать в себя минимум 3 поля – magic, flag, checksum. Поле magic является сигнатурой и, как уже было сказано выше, всегда равно 0x1BADB002. Поле flag содержит дополнительные требования к состоянию машины на момент передачи управления ОС. В зависимости от значения этого поля может меняться набор полей в структуре Multiboot Information. Указатель на структуру Multiboot Information содержит регистр EBX в момент передачи управления загружаемому ядру. В нашем случае поле flag имеет значение 0, и заголовок мультизагрузки состоит только из 3-ех полей.
На момент передачи управления ядру процессор работает в защищенном режиме с выключенной страничной адресацией. Обработка прерываний от устройств отключена. GRUB не формирует стек для загружаемого ядра, и это первое что должна сделать операционная система. В нашем случае под стек выделяется 16Кб. Последней выполненной ассемблерной инструкцией будет инструкция call kmain, которая передает управление коду на C, а именно функции void kmain(void).
Пока здесь нет ничего интересного. С точки зрения загрузки в нем не должно присутствовать ничего специфичного, только точка входа для кода на С. Для вывода на экран была добавлена реализация функции printf, найденная на просторах Интернета, и несколько функций для работы с видеопамятью, таких как putchar, clear_screen.
Для сборки ядра будет использоваться следующий простой makefile:
Теперь у нас есть ядро, которое можно загрузить. Пора проверить, что оно действительно загружается. Установим GRUB на флешку и скажем ему загружать наше ядро при старте. Для этого нужно выполнить следующие шаги:
1. Создать раздел на флешке, отформатировать его в файловую систему, поддерживаемую GRUB-ом (в нашем случае это файловая система FAT32). Мы воспользовались утилитой Disk Utility из комплекта Ubuntu, которая позволила создать раздел:
2. Примонтировать флешку и создать каталог /boot/grub/. Скопировать в него из /usr/lib файлы stage1, stage2, fat_stage1_5. Создать текстовый файл menu.lst в директории /boot/grub/ и записать в него
Для установки GRUB-а на флешку используется expect-скрипт в файле grub_install.exp. Его содержимое:
В конкретном случае возможны другие номера дисков и названия устройств. В конечном итоге компиляция и запуск виртуальной машины должны выполняться командой make start. Эта команда из makefile выполнит установку GRUB на флэшку с использованием скрипта grub_install.exp, а затем запустит виртуальную машину QEMU с нашей программой. Поскольку все загружается с реальной флэшки, то с нее можно загрузить не только виртуальную машину QEMU, но и реальный компьютер.
Запущенная виртуальная машина QEMU с нашей программой выглядит следующим образом:
Теперь займемся основной задачей – перечисление всех имеющихся на компьютере PCI-устройств. PCI – это основная шина с устройствами на компьютере. В нее помимо обычных устройств, которые вставляются во всем известные слоты на материнской плате, также подключены устройства, вшитые в саму материнскую плату (так называемые On-board devices), а так же ряд контроллеров (например, USB) и мостов на другие шины (например, PCI-ISA bridge). Таким образом, PCI – это основная шина на компьютере, с которой начинается опрос всех его устройств.
С каждым PCI-устройством связана структура из 256-ти байт (PCI Configuration Space), в которой располагаются его настройки. Конфигурация устройства в конечном итоге сводится к записи и чтению данных из этой структуры. Для всех PCI-устройств чтение и запись данных происходит через 2 порта ввода-вывода:
0xcf8 — конфигурационный порт, в который записывается PCI-адрес;
0xcfc — порт данных, через который происходит чтение и запись данных по указанному в конфигурационном порту PCI-адресу.
При чтении данных из PCI Configuration Space можно получить информацию об устройстве, а записывая туда данные устройство можно настроить.
PCI-адрес представляет собой следующую 32-х битную структуру:
Номер шины вместе с номером устройства идентифицируют физическое устройство на компьютере. Физическое устройство может включать в себя несколько логических, которые идентифицируются номером функции (например, плата видео захвата с контроллером Wi-Fi будет иметь, по крайней мере, две функции).
PCI Configuration Space условно разбита на регистры по 4 байта. Номер регистра, к которому происходит обращение, хранится с 2го по 7й биты в 32-х битном PCI-адресе. Поля структуры PCI Configuration Space, описывающей PCI-устройство, зависят от его типа. Но для всех типов устройств первые 4 регистра структуры содержат следующие поля:
Class code – описывает тип (класс) устройства с точки зрения функций, которые устройство выполняет (сетевой адаптер, видео карта и т.д.);
Vendor ID – идентификатор производителя устройства (у каждого производителя устройств в мире есть один или несколько таких уникальных идентификаторов). Эти номера выдаются международной организацией PCI SIG;
Device ID – уникальный идентификатор устройства (уникален для заданного Vendor ID). Их нумерацию определяет сам производитель.
По полям DeviceID (сокращенно DEV) и VendorID (сокращенно VEN) определяется драйвер, соответствующий этому устройству. Иногда для этого используется еще дополнительный идентификатор RevisionID (сокращенно REV). Другими словами, Windows, обнаруживая новое устройство в компьютере, использует числа VEN, DEV и REV для поиска соответствующих им драйверов у себя на диске или в Интернете, используя сервера Microsoft. Также эти номера можно встретить в диспетчере устройств:
Рассмотрим код, реализующий самый простой способ получения списка имеющихся на компьютере PCI-устройств:
В данном коде происходит полный перебор номеров шин и номеров устройств в адресе, по которому происходит чтение. Если поле Header type содержит флаг PCI_HEADERTYPE_MULTIFUNC, то данное физическое устройство реализует несколько логических устройств, и при поиске PCI-устройств в адресе, записываемом в конфигурационный порт, нужно перебирать номер функции. Если VendorID имеет некорректное значение, то устройства с таким номером на этой шине нет. На Qemu этот код выводит следующий результат:
0x8086 – это VendorID оборудования компании Intel. DeviceID, равный 0x7000, соответствует устройству PIIX3 PCI-to-ISA Bridge. Загрузимся с получившейся флешки в VmWare Workstation 9.0. Список PCI-устройств оказался значительно длиннее и выглядит следующим образом:
Вот так выглядит поиск PCI-устройств в системе. Это действие выполняется во всех современных операционных системах, работающих на компьютерах IBM PC. Следующим шагом в работе операционной системы является поиск драйверов и конфигурирование найденных устройств, а это уже происходит уникальным образом для каждого устройства в отдельности.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🎥 Видео
Код 28 — для устройства не установлены драйверы в Windows 10 и Windows 7 (решение)Скачать
Система Windows не смогла найти драйверы. Что делать?Скачать
Как найти драйвер неизвестного устройства и установить егоСкачать
Для Устройства не Установлены Драйверы (код 28) Windows 7 8 10 11 ✅ РЕШЕНИЕСкачать
Для устройства не установлены драйверы КОД 28Скачать
🖥️ Периферийное устройство Bluetooth драйвер WindowsСкачать
Как установить драйвер на неизвестное устройство windows? Как найти драйвер неизвестного устройства?Скачать
03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Как устранить проблему с sm контроллер шиныСкачать
6.6. PCI устройстваСкачать
Шина PCIСкачать
Как скачать драйвер на неизвестное устройствоСкачать
Системная шина персонального компьютера PCIСкачать
*****Как Поставить И Настроить PCI Устройство*****Скачать
ОБЪЯСНЯЕМ PCI Express 4.0Скачать
Для устройства не установлены драйверы Код 28 - ИсправлениеСкачать
Что такое PCIe? Все виды скоростного интерфейса подключения PCIe 1.0-6.0 (x1 x4 x8 x18 x32)Скачать
Неизвестное устройство как установить драйвер. Код 28Скачать