У меня есть USB-устройство (с USB на RS-232), которое работает на некоторых компьютерах без драйверов, но не работает на других. Это проблема, потому что у меня нет ни диска с драйверами, ни информации о том, кто это сделал.
Есть ли какие-либо инструменты, которые скажут мне, что это за устройство или какие информационные окна (и другие ОС) появляются, когда он пытается его настроить?
Доступен список поставщиков USB-устройств и идентификаторов продуктов. Вот.
Эти программы могут предоставить вам часть или всю информацию, которая вам нужна, чтобы попытаться отследить источник драйверов:
Мне повезло с Эверестом
http://www.softpedia.com/get/System/System-Info/Everest-Home-Edition.shtml
Он предоставит вам всевозможную информацию об устройствах, которые присутствуют без драйверов.
Это не общее решение, но интерфейсный кабель USB-RS-232 с большой вероятностью может быть построен из любого Silicon Labs CP210x чип или близкий родственник FTDI FT232R чип.
Вы можете легко получить пакеты драйверов для обоих типов в режиме онлайн, и шансы, что один из них окажется правильным, довольно высоки.
В общем случае вы должны иметь возможность извлекать коды VID / PID и класса устройства из узла в диспетчере устройств, соответствующего неизвестному устройству. VID и PID можно прочитать на вкладке Details, выбрав Hardware Ids, а также Class и Subclass, выбрав Compatible Ids.
VID обычно можно перевести на имя реального поставщика, так как поставщики предполагаемый купить VID и зарегистрироваться в USB-IF. В список, связанный Деннисом поддерживается в актуальном состоянии и может быть самым быстрым способом просто найти имя поставщика.
Windows будет соответствовать драйверу настолько детально, насколько это возможно, поэтому поставщик может исправить ошибку в продукте, не используя один из своих ценных PID-кодов, изменив код версии, и создать драйвер, который компенсирует ошибку в старых устройствах, сопоставив ее. к тройке VID / PID / REV.
Если устройство реализует один из стандартных классов устройств, то VID / PID не имеют почти такого значения, как коды классов. Вот почему практически любой USB-накопитель «просто работает»; все они обещают реализовать класс Mass Storage, и Windows знает, что это означает, что они действуют как диск и должны иметь распознанную таблицу разделов и файловую систему.
Список кодов классов находится примерно на 90% ниже по списку, указанному выше. Не удивляйтесь, обнаружив множество устройств, на которых указано CLASS 0xFF, то есть класс, определяемый производителем.
Частично ваша проблема заключается в том, что не существует полностью очевидного стандартного класса для устройства моста RS232, и не похоже, что Windows предложила правильный ответ со стандартным драйвером.
Классы, в которых вы могли бы поместить преобразователь USB в последовательный, были стандартизированы относительно поздно в игре, не все разновидности Windows имеют для него стандартный драйвер, и не все устройства заявляют, что его реализуют.