Решение
Чтобы получить правильные драйверы, вам нужно идентифицировать устройства по их аппаратным идентификаторам. Каждое устройство имеет более одного идентификатора: первое является наиболее конкретным, а последнее - наиболее общим.
Наиболее важные биты - VEN_XXXX
и DEV_YYYY
, которые являются идентификатором поставщика и идентификатором устройства, соответственно. Идентификаторы представляют собой шестнадцатеричные значения, связанные с производителем / устройством, которые можно найти с помощью базы данных PCI. Устройства USB используют VID_XXXX
и PID_YYYY
, которые похожи (PID обозначает ID продукта). Список можно найти в репозитории USB ID.
Вы хотите получить наиболее конкретный драйвер, когда это возможно, потому что это будет наилучшим соответствием для устройства. С другой стороны, универсальный драйвер может пропускать определенные функции или даже не работать.
Кардридер Realtek
Начнем с первого устройства. Идентификатор оборудования следующий:
PCI\VEN_10EC&DEV_5229&SUBSYS_216B103C&REV_01
Идентификатор поставщика - 10EC
, связанный с Realtek. Устройство выглядит как устройство для чтения карт.
По какой-то причине страница загрузки HP не предоставляет драйвер устройства чтения карт при выборе Windows 7; вам придется выбрать Windows 8. В данном случае это не имеет значения, поскольку пакет драйверов должен быть совместим с XP и более поздними версиями. Установочный файл .inf
содержит правильный идентификатор:
%Rts5229CR%=Rts5229.Inst, PCI\VEN_10EC&DEV_5229&SUBSYS_216B103C
HP 3D DriveGuard
Вот идентификатор оборудования для второго устройства:
ACPI\HPQ6007
В результате быстрого поиска была найдена ветка форума, в которой говорилось, что она связана с HP 3D DriveGuard, собственной активной защитой жесткого диска:
HP 3D DriveGuard получает уведомления от встроенного акселерометра и защищает жесткий диск (HDD), автоматически "парковая головки", чтобы снизить риск повреждения, если ноутбук / ноутбук случайно упал или подвергся резкому удару другого объекта.
Источник: HP 3D DriveGuard | Поддержка HP®
Это может быть подтверждено проверкой фактического пакета драйверов. Фактически, установочный файл содержит следующую строку:
%DeviceDesc% = HPAccelerometerDriverInstall.ntamd64, ACPI\HPQ6007
Устройство действительно акселерометр. Вот удобочитаемое описание:
DeviceDesc = "HP Mobile Data Protection Sensor"
Вы можете скачать его с официальной страницы поддержки. Пакет установки не запустится должным образом ( начиная с версии 6.0.18.1
), и вы получите следующее окно:
После дальнейшего анализа через диспетчер задач выяснилось, что используется следующая командная строка:
"C:\SWSetup\SP66078\setup.exe" "setup.exe" /s /v"/qn REBOOT=REALLYSUPPRESS"
Параметры перепутаны. Они должны были быть установлены так:
"C:\SWSetup\SP66078\setup.exe" "/s /v/qn REBOOT=REALLYSUPPRESS"
Чтобы обойти эту проблему, просто запустите приложение setup.exe
вручную. Когда вы закончите, папку C:\SWSetup\SP66078
можно удалить. В качестве альтернативы вы можете распаковать пакет программ spXXXXX.exe
самостоятельно, используя 7-Zip.
Дополнительная информация
Для некоторых устройств требуется поставляемый поставщиком драйвер, разработанный специально для этого устройства, или драйвер, предназначенный для поддержки семейства устройств. Однако другие устройства могут управляться драйвером, поставляемым системой, который поддерживает все устройства данного класса настройки устройства. Windows выбирает драйвер, наиболее точно соответствующий устройству. Если Windows не находит такой драйвер, она выбирает все более общие драйверы.
Источник: обзор процесса выбора драйвера
Аппаратные идентификаторы
Windows идентифицирует устройства и классы настройки, к которым они принадлежат, используя специальный набор идентификаторов. Эти идентификаторы используются для сопоставления аппаратных устройств с драйверами устройств, которые позволяют им взаимодействовать с Windows.
Один или несколько идентификаторов устройства назначаются устройству его производителем. Один из них, идентификатор оборудования, очень специфичен - в зависимости от производителя, модели и даже версии прошивки устройства. Другие идентификаторы устройств также присваиваются и являются более общими, причем идентификаторы, возможно, назначаются другим устройствам от производителя, которые совместимы на некотором уровне.
Источник: Обнаружение идентификаторов оборудования и классов настройки устройства для ваших устройств.
INF-файлы
INF-файл - это текстовый файл, который содержит всю информацию, которую компоненты установки устройства использовали для установки драйвера. Windows устанавливает драйверы, используя файлы INF. Эта информация включает в себя следующее:
Источник: Обзор INF-файлов
дальнейшее чтение