Определение vid pid. Средства для определения VID и PID флешки

Приветствую всех читателей блога!

Наверное у большинства, кто боле-менее часто работает с компьютером, есть флешка (а то и не одна). Иногда случается так, что флешка перестает нормально работать, например при неудачном форматировании или в следствии каких-либо ошибок.

Довольно часто файловая система может распознаваться в таких случаях как RAW, форматирование флешки произвести не удается, зайти на нее тоже… Что делать в таком случае? Воспользоваться этой небольшой инструкцией!

Эта инструкция по восстановлению работоспособности флешки рассчитана на самые различные проблемы с USB носителями, кроме механических повреждений (производитель флешки может быть, в принципе, любым: kingston, silicon-power, transced, Data traveler, A-Data и др.).

И так… приступим. Все действия будут расписаны по шагам.

1. Определение параметров флешки (производителя, марку контроллера, кол-во памяти).

Казалось бы, что сложного в определении параметров флешки, тем более производитель и количество памяти указано практически всегда на корпусе флешки. Дело здесь в том, что USB-накопители даже одного модельного ряда и одного производителя могут быть с разными контроллерами. Из этого вытекает простой вывод - чтобы восстановить работоспособность флешки, необходимо сначала точно определить марку контроллера, чтобы правильно выбрать утилиту для лечения.

Типовой вид флешки (изнутри) - плата с микросхемой.

Чтобы определить марку контроллера есть специальные число-буквенные значения, задаваемые параметрами VID и PID .

VID - vendor ID
PID - Produkt ID

Для разных контроллеров они будут различны!

Если не хотите убить флешку - то ни в коем случае не используйте утилиты, которые не предназначены для ваших VID/PID. Очень часто из-за неправильно выбранной утилиты флешка приходит в негодность.

Как определить VID и PID?

Самый простой вариант - запустить небольшую бесплатную утилиту CheckUDisk и выбрать в списке устройств свою флешку. Далее вы увидите все необходимые параметры для восстановления флешки. См. скриншот ниже.

VID/PID можно узнать и не используя утилиту .

Для этого вам нужно зайти в диспетчер устройств. В ОС Windows 7/8 это удобно делать через поиск в панели управления (см. скриншот ниже).

В диспетчере устройств флешка, обычно, помечается как «Запоминающее устройство для USB», вам нужно щелкнуть по этому устройству правой кнопкой мышки и перейти в его свойства (как на картинке ниже).

Во вкладке «сведения » выберите параметр «ИД оборудования» - перед вами покажутся VID/PID. В моем случае (на скриншоте ниже) эти параметры равны:

2. Поиск необходимой утилиты для лечения (низкоуровневого форматирования)

Зная VID и PID нам требуется найти специальную утилиту, подходящую для восстановления нашей флешки. Очень удобно это делать, например, на сайте: flashboot.ru/iflash/

Если на сайте вдруг под вашу модель ничего не будет найдено, лучше всего воспользоваться поисковиком: Google или Яндекс’ом (запрос, вида: silicon power VID 13FE PID 3600).

В моем случае, для флешки на сайте flashboot.ru была порекомендована утилита Formatter SiliconPower .

Пошаговая инструкция по восстановлению USB флешек в которой я постараюсь доступным языком ответить на вопрос Как восстановить флешку самостоятельно и без особых усилий.

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

Теперь народ несет не только свои флешки , но и флешки своих друзей, знакомых и родственников. Ну вот хоть бы кто-то еще бутылочку пива приволок или печеньку – фигушки.

Мне-то не сложно помочь, но когда я предлагаю вам самим научиться все это делать, вы отнекиваетесь. Таких я в следующий раз просто отшиваю. Не хочешь учиться – проходи мимо.

С лирикой на этом заканчиваю и перехожу непосредственно к теме поста..

Если ваша флешка перестала определяться как диск, не хочет форматироваться , не дает записать информацию или еще что-то там с ней случилось, НО она не имеет механических повреждений, то знайте – еще не все потеряно. Скорее всего глюкнул контроллер и с ним придется немного повозиться. По времени эта процедура занимает, примерно, 5 минут.

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

Для начала нам необходимо определить VID и PID нерабочей флешки .

Определить VID и PID для восстановления флешки

Воткните флешку в компьютер и запустите Диспетчер устройств . Пуск Выполнить - mmc devmgmt.msc .


Затем зайдите в раздел Контроллеры универсальной последовательной шины USB .


Находим в списке свою флешку . Обычно, все флешки имеют название Запоминающее устройство для USB .


Жмем на устройстве правую клавишу и открываем Свойства .

Переходим на вкладку Сведения .

В выпадающем списке выбираем пункт Код экземпляра устройства или Коды (ID) оборудования .

В этом окне мы видим PID и VID .

Поиск программы для восстановления флешки

Заходим на сайт FlashBoot.ru и вводим на нем полученные VID и PID .


Жмем на кнопку Search .

В результатах ищем своего производителя и модель флешки. У меня это Kingston DataTraveler 2.0.


В правой колонке будет название нужной нам программы или ссылка на нее.

Все. Теперь ищите в Google программу по названию или качаете по указанной ссылке. Запускаете и следуете инструкциям. Обычно, в подобных программах для восстановления всего одна кнопка, поэтому вопросов у вас возникнуть не должно.

На этом всё!

Возникнут вопросы - задавайте в комментариях.

Определить любой флэш-накопитель можно по внешним признакам: по брэнду, объему накопителя, по дизайну, наконец. Но как сделать это профессионально, как узнать, на основе какого контроллера и чипа флэшка была изготовлена? В этом нам помогут уникальные идентификаторы VID и PID, с помощью которых можно получить любую детализированную информацию о накопителе, не вскрывая корпус устройства и не изучая маркировки, оставленные на деталях девайса.

PID – это ID-номер самого устройства для хранения данных, а VID – идентификатор торговой марки, на основе которого приспособление было изготовлено. На основе полученных PID и VID номеров можно узнать разновидность инсталлированного во флэш контроллера и компанию-производителя девайса. Для чего еще нужна такая информация? Определив указанные выше ID-номера устройства, можно идентифицировать эффективную сервисную утилиту, которую стоит применить для восстановления девайса.

Поскольку регистрация PID и VID-номеров не бесплатна, ряд производителей может указать их на свой вкус и цвет. Поэтому может сложиться такая ситуация, что два равнозначных в визуальном плане флэш-накопителя будут содержать идентичные PID и VID-номера, однако контроллеры, установленные в них, изготовлены разными компаниями, и соответственно, для их восстановления понадобятся различные утилиты. В данном случае, если вы узнали VID и PID-идентификаторы, выбрали для них соответствующую утилиту, и она не подошла, придется прибегнуть к крайним мерам: разобрать флэшку на части и уже по маркировке на чипе осуществить подбор утилиты.

Важное замечание: в картах MicroSD, SD, MMC идентификаторы PID и VID отсутствуют. Следовательно, определить их не представляется возможным. В случае применения указанных в этой статье утилит можно будет увидеть только ID-номера кард-ридера.

Итак, как узнать VID и PID-номера флешки? Конечно же, используя одну из перечисленных ниже программ.

Китайское приложение от программиста с ником hit00. Впервые эта программа появилась на форуме о цифровых гаджетах mydigit, и сразу же завоевала расположение и уважение к себе. Приложение способно осуществлять опрос чипов MP3-проигрывателей, кард-ридеров и USB-накопителей. Помимо массы всяческих других данных, выводит PID и VID используемого девайса. ChipGenius – признанный лидер в данном секторе системного ПО, поскольку обладает максимальной совместимостью с контроллерами всевозможных моделей.

Чтобы получить информацию о тематических ID-номерах, нужно просто вставить флешку в USB-порт, и данные тут же появятся на экране. Если вам нужно проанализировать одну или несколько флешек, советую задействовать ее в паре с Flash Drive Informtion Extractor, поскольку достойной замены этой парочке в связке сегодня, пожалуй, не сыскать.

Flash Drive Information Extractor

Распространяемая абсолютно бесплатно программа, позволяющая получить сведения о флеш-накопителях. Данная утилита позволяет определить модификацию контроллера, тип и модель памяти большинства современных флеш-накопителей. Главное индивидуальное качество приложения в том, что информация определяется по множеству признаков, а не только по PID и VID, что дает возможность получить наиболее точные и корректные сведения.

Приложение может взаимодействовать исключительно с USB-накопителями (т.е., флешками) и не способна реагировать на иные приспособления, подключаемые через этот интерфейс: фотоаппараты, MP3-плееры, смартфоны и пр.

Разработчики рекомендуют осуществлять запуск утилиты не ранее, чем спустя 30-40 секунд после того, как флеш-устройство было вставлено в порт USB, в противном случае может статься так, что накопитель не будет полностью проинициализирован операционкой.

Еще одна простая и неприхотливая к ресурсам утилита от китайских программистов. Помимо VID и PID-идентификаторов, поможет в определении максимальной силы тока, потребляемой устройством, серийного номера и модели контроллера, а также информации о firmware, FID памяти, а также предположительной модели памяти. Приложение работает довольно стабильно и надежно, а в ее эффективности можно также совершенно не сомневаться. Одним нажатием кнопки можно сформировать HTML-отчет с основными полученными сведениями, который можно впоследствии распечатать или сохранить в облаке.

Эта утилита способна отобразить все подключенные к ПК USB-приспособления. От других утилит, представленных в статье, отличается тем, что отображает сведения о довольно редких USB-флешках и других устройствах, подключаемых через данный порт. Если ChipEasy, Flash Drive Information Extractor или ChipGenius не способны вам помочь в насущной задаче, обязательно попробуйте получить данные о PID и VID с помощью USBDeview. Программа полностью русифицирована.

Если вам нужно восстановить испорченную USB-флешку или устройство с bad-блоками, идентификаторы VID и PID помогут вам отыскать нужный инструмент для восстановления устройства и его возврата к работоспособному состоянию. Помимо этого, полученные сведения помогут вам получше «узнать» свой девайс, не вскрывая его корпус и не разбирая его целиком.

Если Вы хотите подобрать утилиты к своей флешке, то Вам необходимо знать как минимум модель её контроллера, а также неплохо бы знать модель микросхемы памяти установленной в ней. Хотя для некоторых контроллеров, утилит так мало, что толку разбираться с памятью нету никакого смысла.

При работе со многими современными контроллерами, зачастую важнее знать, какая микросхема памяти установлена, чем модель контроллера. А уже в зависимости от памяти (SS Toggle, 21nm Samsung, eD3, L85, размер её страницы и т.д.), может зависит редакция программного обеспечения.

Для определения контроллера существуют различные способы, но не все они эффективны или их результативность зависит от модели контроллера внутри и \ или фирмы производителя самой флешки.

Важно: программа CheckUDisk, как и метод VID\PID не имеет никакого отношения к реанимации флешек, так что не стоит её даже качать, если Вам нужно подобрать утилиты. А то что всякие сомнительные компании по восстановлению данных с флешек, типа Data Recovery и R.LAB, рекомендуют VID-PID, говорит лишь о их полной некомпетентности.
Справедливости стоит заметить, что не всегда такие конторы рекомендуют ВИД-ПИД из-за своей бестолковости. Например, компания R.LAB, которая известна своими заоблачными ценниками, рекомендует эту методу, только потому, что там договорённость о взаимной рекламе. Да и как не крути им удобно считать людей за болванов, т.к. начитавшись правильных материалов, труднее будет навешать лопшу на уши.

Определение контроллера и памяти с помощью программы ChipGenius

Внимание: не следует использовать старые версии (ChipGenius 3.0 \ 3.01 ) этой утилиты, т.к. они ничего не опрашивают и совершенно бесполезны!

ChipGenius – программа разработанная уважаемым hit00 , для получения информации о USB-устройствах, таких как флешки, mp3-плеера. Она умеет опрашивать большинство из существующих моделей контроллеров установленных в USB-флэшках, а если программе не удается опросить \ не знает контроллер, то отображаются данные из встроенной базы VID\PID с предположительной информации об устройстве.

Также, возможна некорректная работа (не будет производиться опрос контроллера, а будет выдаваться информация по встроенной базе vid\pid; или данные будут смешиваться между собой в хаотичном порядке) утилиты ChipGenius в случае её запуска в операционной системе, которая подверглась сильной “кастрации” (относящихся к классу так называемых “говно-сборок”, в который входит Zver, ChipXP и т.д.) и издевательствам (или Windows PE).

Так что всвязи со всем этим, будьте бдительны, если Ваш глаз еще не наметан. Поэтому если утилита дает расплывчатую информацию о контроллере или отсутствуют информация по памяти, рекомендуется сразу проверить эту же флешку другими утилитами, погуглить и только потом делать выводы какие-нибудь.
К примеру, вот такое расплывчатое чюдо, может выдать ChipGenius:
– для Alcor чипов: Chip Part-Number: AU6983~AU6987 или AU6981~AU6985;
– для Phison чипов: UP13~UP19;
– для SMI чипов: SM321~SM325.
Это гарантированно указывает на то, что утилита не смогла получить доступ к флешке, по тем или иным причинам и выдала Вам данные из встроенной базы VID\PID, хранящейся в файле Chips.wdb.

Важно: данная утилита не работает с флешками вставленными в USB 3.0 хост контроллеры производства компании ASMedia.

Description: USB Mass Storage Device(TEAM USB Disk)
Device Type: Mass Storage Device – тип устройства;

Protocal Version: USB 2.00 – режим порта в котором работает устройство (в случае если USB3.0-устройство подключено в USB2.0-порт будет отображаться режим 2.10);
Current Speed: High Speed
Max Current: 100mA –

USB Device ID: VID = 1516 PID = 1603
> VID – идентификатор производителя флешки или контроллера или просто чья-то больная фантазия;
> PID – идентификатор устройства или модели контроллера или фантазия;
Serial Number: 201012240000000000000020 – серийный номер устройства;

Device Vendor \ Device Name \ Manufacturer \ Product Model:

Controller Vendor: Skymedi –
Controller Part-Number: SK6211BA
> SK6211BA –
Flash ID Code: 89D5943E – Intel JS29F32G08CAMC1 – 2CE/Dual Channel -> Total Capacity = 8GB;
> 89 D5 94 3E – FID памяти (ChipGenius в данном месте отчёта, всегда отображает только первые 4 байта данных, что не очень удобно);
> Intel –
> JS29F32G08CAMC1 – предположительная модель установленной флэш-памяти;
> 2CE – количество каналов выборки;
> Dual Channel – двухканальный режим;
> MLC – тип памяти;
> 4K – размер страницы флэш-памяти;
> 8GB – объем памяти устройства;

Possible Flash Part-Number
—————————-
JS29F16G08AAMC1(50nm) x 2 pcs/Channel x 2 Channels
JS29F32G08CAMC1(50nm) x 1 pcs/Channel x 2 Channels

; В данном месте выводятся возможные модели флэш-памяти. Если рассматривать вышеприведённые данные, то там или по две микросхемы припаянные на один канал (JS29F16G08AAMC1(50nm) x 2 pcs/Channel x 2 Channels), каждая из которых имеет 1CE. Или там на каждом канале всего по одной микросхеме памяти и каждая из них уже содержит по 2CE (JS29F32G08CAMC1(50nm) x 1 pcs/Channel x 2 Channels).

Flash ID mapping table
—————————-
89D5943E7400 89D5943E7400
89D5943E7400 89D5943E7400

; Здесь мы можем видеть тот же FID-памяти, но тута он уже может содержать первые 6 байт. А будет ли 4 или 6 байт, зависит от конкретного железа флэшки. Горизонтально идут каналы Channel 0 и Channel 1, а вертикально #CE (CE1, CE2).
——– ——–
——– ——–

Получения информации о флешке с помощью программы Flash Drive Information Extractor

На домашней странице проекта, приведён глоссарий с кратким описанием параметров, выводимым утилитой.

Flash Drive Information Extractor – программа от Российской компании ANTSpec Software, для опроса контроллера флэшек и получения информации об устройстве. Определяет такие позиции как: Controller, Possible Memory Chip(s), Memory Type, VID, PID, Flash ID, Manufacturer, Product, Query Vendor ID, Query Product ID, Query Product Revision, Physical Disk Capacity, Windows Disk Capacity, USB Version, Max. Power, ContMeas ID. Для некоторых контроллеров также определяет: Flash CE, Flash Channels, Chip F/W, MP Ver., ID_BLK Ver., Firmware Date. Утилита в отличие от двух своих аналогов, представленных здесь, корректно функционирует в USB3.0-портах на контроллерах Asmedia. С версии 7.0 программа выдает результат в незашифрованном виде, что ставит её в один ряд с подобными утилитами. Рекомендую её при работе с контроллерами Alcor, Innostor, Phison и SMI.

Volume: G: буква диска;
Controller: Alcor AU6989AN/AU6998AN/SC908AN – наименование установленного во флешке контроллера. Как правило, определяется бренд производителя и модель;
Possible Memory Chip(s): возможные варианты установленных во флешке чипов памяти (или чипа памяти, если он один);
Micron MT29F64G08CBCAB *2
Micron MT29F64G08CBAAA *2
Micron MT29F64G08CBAAB *2
Memory Type: MLC – тип установленной памяти;
Flash ID: 2C88044B A9 – идентификатор чипа памяти, число в шестнадцатеричной системе. Используется программой для подбора подходящих чипов;
Flash CE: 1+1 – количество каналов выборки, 1+1 значит, что на обоих каналах по одному CE;
Flash Channels: Dual – в скольки канальном режиме работает контроллер флэшки;
Chip Code: 0xE304 – индентификатор модели контроллера, в данном случае он значит AU6989AN / AU6998AN / SC908AN;
Chip F/W: 8408 – версия файла прошивки, который использовался при прошивке флешки;
Group: 98 – группа контроллеров, к которой принадлежит данная модель;
VID: 8564 – идентификатор производителя флэшки или контроллера или чей-то прикол;
PID: 1000 – идентификатор модели флэшки или контроллера или чей-то прикол;
Manufacturer / Product / Query Vendor ID / Query Product ID: производитель флэшки, модель устройства и тому подобное;
Query Product Revision: 8.07 – версия, или номер “издания” флешки по классификации производителя;
Physical Disk Capacity: 16055795712 Bytes – физический объем флешки в байтах;
Windows Disk Capacity: 16047472640 Bytes – объем флешки, доступный для использования;
File System: FAT32 – файловая система;
Relative Offset: 128 KB
USB Version: 2.00 – версия интерфейса USB, для которой предназначена флешка, например, “2.00” или “3.00”. Если флешка с интерфейсом USB 3.0 вставлена в USB 2.0 порт, выводится информация “USB Version: 3.00 in 2.00 port”;
Max. Power: 100 mA – максимальный потребляемый флешкой ток (в миллиамперах), по информации производителя, прошитой в контроллере флешки;
ContMeas ID: 1A2D-62 – идентификатор измерения;
Microsoft Windows XP SP3 – используемая Вами операционная система;
————————————
http://www.antspec.com/usbflashinfo/ – домашняя страница программы, на которой имеется полезная информация, а также возможность проверить наличие свежей версии;
Program Version: 7.3.0.448 – версия, используемой утилиты;

После получения отчета о флэшке, утилита Вас автоматически перенаправит на страничку с Объяснениями результатов работы программы . Для получения информации о другой флэшке или выполнения повторных измерений, необходимо перезапустить программу, это является ни недоработкой, а её особенностью.
Для того чтобы закрепить диалоговое окно программы поверх всех окон, необходимо щелкнуть в произвольном месте правой кнопкой мыши и активировать пункт ‘On Top’, аналогичным действием можно деактивировать данную функцию. Также эту операцию можно провести нажатием горячих клавиш ‘Ctrl+T’.
Программа работает только с флешками и не реагирует на другие USB устройства, такие как картридеры (SD карты в любом оформлении), смартфоны, MP3 плееры, фотоаппараты и тому подобные. Иногда картридеры оформляются в виде флешек (например, некоторые модели Verbatim). В этих случаях программа или не отобразит никакой информации, или не определит тип контроллера и чип памяти. Также программа пока что не определяются флешки, представленные в виде единственного CD-диска (CD-ROM only) или фиксированного диска (fixed disk, HDD), но предполагается, что в будущем авторы этот вопрос решат.

Опрос контроллера флешки с помощью утилиты ChipEasy

ChipEasy – утилита для получения информации (VID\PID; максимальное потребление тока; серийный номер; модель контроллера; информация о прошивке; FID памяти и предположительная модель памяти; информация о прошивальщике, …) о подключенных к компьютеру съемных запоминающих USB-устройствах (Flash, SSD). Информация получается не косвенными методами (VID\PID …), а непосредственно благодаря опросу контроллера устройства.

Device ID: VID = 3538 PID = 0059;
> VID – идентификатор производителя;
> PID – идентификатор устройства;
Device SN: 00000000000002 – серийный номер устройства;
Device vendor \ Device model: производитель флэшки и модель устройства;
Protocol: USB2.0 – версия USB-протокола, через который подключена флэшка;
Max power: 98mA – максимальное потребление тока устройством;
Partition type: FAT32 – файловая система;
Controller: USBest – производитель контроллера устройства;
Controller model: UT165 A0A – модель контроллера установленного в USB-устройстве;
Flash Vendor: Intel, Type: MLC, Process: 50nm, Page: 4K
> Intel – производитель микросхемы памяти;
> Type: MLC – тип памяти;
> Process: 50nm – технологический процесс flash-памяти;
> Page: 4K – размер страницы флэш-памяти;
Flash ID: 89D5943E – FID памяти;
Flash Part: JS29F32G08CAMC1 – предполагаемое наименование чипа памяти;
Last MP: 2012.09.15 – дата, когда была осуществлена прошивка флэшки;
MP Ver: 01.65.30.00 – версия прошивальщика;
OS Version: Microsoft Windows XP Professional Service Pack 3 – ОС в которой запускалась программа;

Также как и у программы ChipGenius, остается вероятность, что утилита в кризисной ситуации, начнёт гадать! Если утилита перешла к гаданию, то, скорее всего флешка неисправна и нужно принимать меры, к примеру, попробовать перевести её в тестовый режим . Подробнее про тестовый режим можете почитать в разделе Articles , т.е. если перевести на русский язык – Статьи .
Вот примеры:
– для контроллеров SMI: SM3254/SM3255
– для контроллеров Phison: PS2251-50(60); UP13-UP20
– для SSS: SSS6691/SSS6692/SSS6697

Важно: данная программа, хотя и частично опрашивает флешки, находящиеся в USB3.0 Host контроллерах производства ASMedia, но это не значит, что так и надо. При работе с флешками находящих в этих портах, утилита не может выдать информацию о протоколе USB и о резервируемом напряжении в миллиамперах. А то что данная утилита, в отличие от известного всем ChipGenius, опрашивает сам контроллер, объясняется иным принципом её работы.

Определение модели контроллера путём вскрытия корпуса флешки

Не смотря на прогресс (Flash Drive Information Extractor и ChipGenius) и на подсказки (VID\PID) не всегда можно определить точно контроллер. Поэтому самым эффективным методом является старое доброе вскрытие корпуса. Хотя этот метод в основном пригодиться для определения контроллеров очень старых флэшек, которые не отличаются большим объемом памяти.

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

Вот пример флешки на базе контроллера Phison PS2251-60-5 и двух микросхем памяти с маркировкой HVNG4F5.

По нашей памяти там имеется следующая инфа:
– Toshiba – оригинальны производитель флеш-памяти;
– TLC-8K – тип памяти
– 8192 – объем памяти в мегабайтах
– 0x98,0xDE,0xA8,0?82,0x7A,0x55 – FID этой памяти
– CE=1 – количество каналов выборки
– 32nm – технологический процесс, на котором производилась флеш-память.

Иногда гравировка очень плохо читается, что решается использованием увеличительных стекол, а также освещением маркеровки под определенным углом к источнику света.

Также стоит понимать что маркировка контроллера может отличатся от того какая прошивка для него нужна, вот некоторая информация по этому поводу:
> SM3251Q BA = SM3252B;
> SM3252Q BB = SM3252C;
> SM3253Q AE = SM3254AE;
> SM3255 AC = SM3255TS;

Гадание модели контроллера по VID\PID и почему это делать не нужно

VID\PID это морально устаревший способ для подбора утилиты для флешки, который в большинстве случаев ниначём не основанный. Эта технология по угадыванию моделей контроллера, была актуальна в середине 2000-ых годов, когда фирм производящих контроллеры было всего несколько штук, да и у каждой было всего по несколько моделей контроллеров. Зачастую для всех контроллеров одной фирмы подходила одна и таже утилита, да и самих фирм производящих флешек было ничтожно мало, по сравнению с тем что мы видим сейчас на рынке.
Почему же этот метод в 99% случаях абсолютно бесполезен? Здесь много причин, вот некоторые из них:
– крупные производители флешек, как правило, присваивают свои “не родные” vid\pid для контроллера данные, т.е. от них как от козла молока;
– знать vid\pid и даже точную модель контроллера мало, чтобы приступить к поиску утилиту, т.к. выбор утилиты может зависит от памяти и дело зачастую даже не в новизне памяти или утилиты.
– вид\пид определяются и у неисправной флешки, которую нужно сначала починить, а потом уже искать софт. Т.е. Вы будете глупо перебирать софт найденный в базах, а он на хрен не нужен в этой ситуации.
– зачастую в таких базах заведомо неверная информация содержится или информация о флешка-подделка, выдаваемая за настоящую.

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

Для определения VID\PID можете воспользоваться вышеприведенными утилитами или программой CheckUDisk из комбаина EmbedTools. Хотя я лично не понимаю зачем нужно определять VID\PID, а если и для каких-то целей это нужно, то всё это Вы можете найти в диспетчере оборудования, при получении сведений об устройстве.
Вот скриншот того как работает данная утилита, на примере флешки с контроллером SM3257ENAA:

Как видно из него, ничего интересного в нём нету, хотя серийный номер может где-то и пригодится.

Теперь давайте попробовать подобрать к этой флешки утилиту по убогим схемам с использованием VID\PID. Контроллер у данной флешки установлен самый “популярный” из тех, которые использовали в 2012 году крупнейшие производители флешек, так что не надо думать, что я специально взял пример с каким-то хрен знает каким контроллером.
Как видно из отчета VID\PID = 090C \ 1000, а это стандартные значения для абсолютно любой модели контроллеров фирмы SMI. А такие контроллеры они выпускают уже примерно с 2004 года, и моделей уже накопилось не один десяток. Что и доказывает то, что всякие методы по подбору софта по vid и pid давно уже неактуальны и кажутся смешными. Так что если Вам кто-то посоветует использовать такой метод, то можете не сомневаться, что этот человек недалёкий и не стоит обращать внимание на его писанину.

Ниже я приведу стандартные значения VID и PID для крупнейших производителей флеш-накопителей.

Вот некоторые из таких производителей:
> A-DATA: VID = 125F, а PID имеет различные значения (105B, 311A, 312A, 312B, 317A, C03A, C08A, C13A, C72A, C82A, C93A, C96A, CB10, DB8A, DC1A и т.д.), но всё же PID не позволяет точно определить наименование контроллера, а сомнения это плохо;
> Apacer Technology: VID = 1005 \ PID = B113 или B128;
– в USB2.0 – PID = B113, а контроллер внутри может быть: Appotech, Phison, SMI, SanDisk или USBest;
– в USB3.0 – PID = B128, а контроллер внутри может быть: Innostor или Phison;
> Corsair: VID = 1B1C, а PID имеет различные значения (но всё же PID не позволяет точно определить наименование контроллера);
> Kingston: VID = 0951 \ PID = 1624, 1625, 1642, 1643, 1652, 1653, 168A (есть и другие вид пид) лучше даже не пытаться чета определить по VID\PID, т.к. используется огромное число контроллеров (например: Phison , 3S , Skymedi , …). Также с этими VID и PID можно встретить огромное число подделок, в основном на контроллерах фирм: ChipsBank, DM8261, Ameco, Alcor (никогда на контроллерах данных фирм кингстон не производил флэшки).
> LG: VID = 043E \ PID = 70D6, 70D5, 70D4, 70D3, 70E3, … ПИД никаким образом не укажет Вам не конкретный чип или марку, но чем больше полледняя цифры в нём, тем новее железло там скорее всего установленно. Характерны: SM321BB, SM324BC, SM325AB, SM3252C, SM3252D, SM3254AE, SM3255AB, SM3255ENAA, SM3257ENAA, SM3257ENLT, SK6216/SK6215, SK6226.
> PQI: VID = 3538 \ PID = 0054, 0901, … имеет различные значения (но всё же PID не позволяет точно определить наименование контроллера);
> Transcend: VID = 8564 \ PID = 1000, а контроллер внутри может быть: Alcor, INITIO, SMI или Innostor (в USB3.0 флэшках);
> Verbatim: VID = 0BDA, 18A5, …, а PID имеет различные значения (но всё же PID не позволяет точно определить наименование контроллера);

Т.е. как видно из этих данных, поиск утилиты для воскрешения Вашей флэшки по VID\PID с большой долей вероятности абсолютно бессмысленный, особенно если у Вас не древняя флешка. Вы можете потратить несколько часов, перебирая возможные утилиты взятых из различных баз, а, в конце концов, Вам ни одна утилита не подойдет (частенько такое встречается с современными флэшками). В принципе примерно можно определить по кучи косвенных признаков (включая vid\pid) возможные модели контроллеров, но тута нужна головой обработать кучу почти незначительных признаков, понять которые практически не возможно без понимания сути и хорошего опыта. Главным таким признаком является дата покупки (вернее дата изготовления, но мы её точно не знаем, поэтому получаем небольшую погрешность), по которой можно с намного большей точности сказать, какой контроллер установлен в Вашем друге, чем по VID\PID, которых в современных реалиях почти всегда не несут ни какой дельной информации.

Может и не все модели контроллеров, на данный момент, можно определить с помощью ChipGenius и других утилит. Но в отличае от VID\PID, которым развиваться некуда, у этих программ есть куда. А если учитывать, что данные программы не могут опрасить в основном только те контроллеры, для которых и так нету производственных утилит, то и проблемы то толком и нету, т.к. зачем Вам знать контроллер, если все равно для него нету софта.

У редкого производителя, еще можно встретить стандартные значения VID\PID, так что приведу их Вам для распространённых контроллеров, вдруг Вам встретятся.
Вот некоторые из них:

Alcor
> VID = 058F \ PID = 9380 – как правило, у относительно старых контроллеров;
> VID = 058F \ PID = 6387 – соответственно, у относительно новых контроллеров;
> VID = 0001 \ PID = 7778 – характерны для флэшек-подделок, на контроллерах FC;
> VID = 0011 \ PID = 7788 – наиболее распространено в фейках, на контроллерах FC \ SC;
Смотреть на VID\PID в случае Алькора, для определения контроллера, нету абсолютно. Хотя если PID = 7788 или 7778, то скорее всего у Вас контроллер FC \ SC и соответственно понятно какие утилиты нужно перебирать.

ChipsBank:
> CBM2093A1 – VID = 1E3D \ PID = 2093;
> CBM2093P – VID = 1E3D \ PID = 2095;
> CBM2095 – VID = 1E3D \ PID = 2095;
> CBM2096 – VID = 1E3D \ PID = 2096;
> CBM2096P – VID = 1E3D \ PID = 2096;
> CBM2096PT – VID = 1E3D \ PID = 2096;
> CBM2096T – VID = 1E3D \ PID = 2096;
> CBM2193A1 – VID = 1E3D \ PID = 2093;

eFortune:
> EU201 – VID = 1AA6 \ PID = 0201;
> EU202 – VID = 1AA6 \ PID = 0202;

Innostor:
> IS902 – VID = 1F75 \ PID = 0902;
> IS902E – VID = 1F75 \ PID = 0902;
> IS903 – VID = 1F75 \ PID = 0903;
> IS916 – VID = 1F75 \ PID = 0916;
> IS916D – VID = 1F75 \ PID = 0916;
> IS916EN – VID = 1F75 \ PID = 0916;
> IS917 – VID = 1F75 \ PID = 0917;

iTE Tech. Inc. :
> UT163 – VID = 1307 \ PID = 0163;
> UT165 – VID = 1307 \ PID = 0165;
> UT169 – VID = 1307 \ PID = 1169;
> UT190 – VID = 1307 \ PID = 0190;
> IT1162 – VID = 048D \ PID = 1162;
> IT1167 – VID = 048D \ PID = 1167;
> IT1168 – VID = 048D \ PID = 1168;
> IT1169 – VID = 048D \ PID = 1169;
> IT1170 – VID = 048D \ PID = 1170;
> IT1171 – VID = 048D \ PID = 1170;
Почему-то бывает так, что какой-нибудь контроллер имеет PID другой модели. Поэтому наслово верить не советую, да и у многих из них имеется несколько ревизий с разными буквами.

Phison:
> PS2251-01 – VID = 13FE \ PID = 5000 ;
> PS2251-02 – VID = 13FE \ PID = 5100 ;
> PS2251-03 – VID = 13FE \ PID = 5200 ;
> PS2251-06 – VID = 13FE \ PID = 5400 ;
> PS2251-07 – VID = 13FE \ PID = 5500 ;
> PS2251-30 – VID = 13FE \ PID = 3600 ;
> PS2251-31 – VID = 13FE \ PID = 1E00 ;
> PS2251-32 – VID = 13FE \ PID = 1F00 ;
> PS2251-33 – VID = 13FE \ PID = 3100 ;
> PS2251-37 – VID = 13FE \ PID = 3200 ;
> PS2251-38 – VID = 13FE \ PID = 3800 ;
> PS2251-39 – VID = 13FE \ PID = 3400 ;
> PS2251-50 – VID = 13FE \ PID = 3600 ;
> PS2251-60 – VID = 13FE \ PID = 3D00 ;
> PS2251-61 – VID = 13FE \ PID = 3E00 ;
> PS2251-62 – VID = 13FE \ PID = 3F00 ;
> PS2251-63 – VID = 13FE \ PID = 3300 ;
> PS2251-65 – VID = 13FE \ PID = 3527;
> PS2251-67 – VID = 13FE \ PID = 4100 ;
> PS2251-73 – VID = 13FE \ PID = 3900 ;
> PS2251-75 – VID = 13FE \ PID = 3A27 ;
> PS2251-80 – VID = 13FE \ PID = 3B00 ;
> PS2251-83 – VID = 13FE \ PID = 3C00 ;
> PS2251-85 – VID = 13FE \ PID = 4027 ;
> PS2251-90 – VID = 13FE \ PID = 3D00 ;
> PS2251-91 – VID = 13FE \ PID = 3E00 ;

; Старые модели от Phison, насколько я понимаю в них нету “жесткой” привязки к вид пид, т.е. может быть любая очень старая модель (чёто типа PS2251-53, PS2251-54, PS2251-56 и так далее, в том же духе). Насколько старые точно сказать не могу, но явно программа Phison MPALL, для работы с ними не подойдёт. Также не могу точно сказать, правильно ли я их сортировал, т.к. не обладаю этими данными.
VID = 0D7D \ PID = 0152 ;
VID = 0D7D \ PID = 0290 ;
VID = 0D7D \ PID = 1300 ;
VID = 0D7D \ PID = 1400 ;
VID = 0D7D \ PID = 1500 ;
VID = 0D7D \ PID = 1600 ;
VID = 0D7D \ PID = 1700 ;
VID = 0D7D \ PID = 1900 ;
VID = 13FE \ PID = 1A00 ;
VID = 13FE \ PID = 1A30;
VID = 13FE \ PID = 1C00 ;
VID = 13FE \ PID = 1D00 ;
VID = 13FE \ PID = 2001;
VID = 13FE \ PID = EC00 ;
VID = 13FE \ PID = EE00 ;

Skymedi Inc.,Ltd:
> SK6203 – VID = 1516 \ PID = 6203;
> SK6211 – VID = 1516 \ PID = 6211;
> SK6221 – VID = 1516 \ PID = 6221;
> SK6226 – VID = 1516 \ PID = 6226;

SSS – VID = 0076 \ PID = 0005
Все контроллеры имеют одинаковые VID\PID, так что ни а какой индентификации говорить нету смысла. Иногда встречаются экземпляры с другими вид\пид, но сути это не меняет.

SMI – VID = 090C \ PID = 1000 (еще и 2000 или 3000 могут встретиться, но это не стандартное значение)
Как и в случае с SSS, нету смысла смотреть на VID/PID. Но стоит заметить, что некоторые фирмы типа Kingmax, могут присваиваивать говорящий PID. К примеру равный 3257, что намекает на принадлежность контроллера к моделям из линейки SM3257* (не менее трех вариантов).

Вы скажите, вон, сколько контроллеров можно примерно определить таким методом, но есть одно но, то, что вид\пид Вам не скажет устройство исправно или нет. Дело в том, что утилиты для восстановления работоспособности можно применять только в том случае если флэшка полностью аппаратно исправна, а VID\PID могут получиться и у неисправной флэшки. Т.е. Вы будете перебирать кучу возможного софта, а не одна из программ не определит флэшку или будет вываливаться непонятными ошибками. А по показаниям Flash Drive Information Extractor \ ChipEasy \ ChipGenius видно сразу подвисла флэха или нет, т.е. если все графы (FID-памяти и т.п.) корректно определились то, скорее всего всё хорошо, иначе есть некоторые проблемы.

Определение производителя и модели контроллера у флэшек по внешним данным

Team Group Incorporated

Для USB-флэшек ‘C Series’, на коннекторе которых указан код, по которому можно определить производителя контроллера устройства.

– Alcor – XXXXXHXXXDXXXXX (6-ой символ кода H, а 9-ый D);
– iTE Tech – XXXXXHXXXDXXXXX (6-ой символ кода H, а 9-ый 0);

Teclast Electronics Co., Ltd.

У производителя флешек Teclast, всё очень просто с определением производителя контроллера установленного в их продукции (во всяком случае с теми, которые стали выпускаться с начала 2012 года). Смотрим на картинку ниже, ищем что-то подобное на коннекторе и сравниваем с теми данными, которые здесь приведены.

A – Alcor;
C – Innostor;
D – DM8261;
G – ?;
P – Phison;
S – SMI;
T – iTE Tech.;
U – USBest;
Y – YS8231;
Как видно из приведенного списка, как правило, первая буква производителя контроллера и является сигнатурой для поиска буквы на коннеторе.

TwinMOS Technologies
По заверению производителя отталкиваясь от кода указанного на коннекторе флешки можно определить производителя контроллера устройства.
xxxxxxxxx Axxxxx-x – Alcor;
xxxxxxxxx Pxxxxx-x – Phison;
xxxxxxxxx Kxxxxx-x – Skymedi;
xxxxxxxxx Sxxxxx-x – SMI;
xxxxxxxxx Uxxxxx-x – USBest;

Kingston Technology Corporation

Если Вы являетесь обладателем флэшки фирмы Kingston, то у Вас есть возможность попробовать определить наименование \ фирму контроллера по серийному номеру.

Skymedi:
> SK6211BA: 04286,04234,04256, M4286, 04226, C4226, 04227-322;
> SK6211BB: 04335 (частично), 04334 (частично), C5375-102;
> SK6213AA: 04300-308;
> SK6215: 04334-329, 04334-324, 04334-332, 04335-378, 04335-379, C4477-806;
> SK6226: C4477;
> SK6281AB\AA: 04169, 04234 (частично), 04235-351, 04226-312;
> SK6201: 04169, C4169;

Phison: 05360, 05365, 05375, 05381 (частично), 05384, 05430, 05440, 05470, 04235, 04236, 04265, 04266, 04292, 04227, 04347, 04366, 04282, 04336, 04378, 04275-413, C4275-306, 04425;

SSS:
> SSS6677: 04249, C4249;
> SSS6675: C4225;
> TC58NC6686G1F: 05831, 05381-005, 05381-029, 05430-016;
> SSS6690\6691: 04275, C4275, 04349, C4300, 04300 (частично), 05436, 05430-062, 05430-072, 05381-095, 05381-064, 05381-102, 05430-074, 05375-079;
> SSS6692: 04415, 04416, C4416;
> SSS6697: 04415-301, 04415-321

Помимо этого 13 буква в серийном номере флэшек Kingston указывает на производителя контроллера:
> A – Skymedi;
> B или E – Phison;
> C или F – SSS;

В случае если необходимо установить драйвер к USB накопителю или выполнить программный ремонт, вам не обойтись без получения двух идентификаторов устройства:

  • VID – это Vendor Identifier (идентификатор производителя);
  • PID – это Product Identifier (идентификатор продукта, то есть конкретной модели устройства).
Узнать VID и PID USB устройства вы можете через специальные утилиты, но можно обойтись и без них. Необходимо открыть «Диспетчер устройств » и найти раздел «Контроллеры универсальной последовательной шины USB » в Windows XP или «Контроллеры USB » в Windows Vista/7/8 . Там вы можете найти свое USB устройство, VID и PID которого вы собираетесь определить. После выбора необходимого вам запоминающего устройства, сделайте клик правой клавишей мыши по нему и выберете из контекстного меню, пункт «Свойства ».


В появившемся окне свойств, перейдите на вкладку «Сведения » и выберете из выпадающего списка строку «Код экземпляра устройства » в Windows XP или «ИД оборудования » в Windows Vista/7/8.




В поле «Значение », вам будет отображен VID и PID USB устройства, но важно учесть, что некоторые производители, экономя на регистрации собственных VID и PID, могут указать их произвольно!
Рассмотрим программное получение этих значений с использованием Windows Management Instrumentation (WMI ) и класса «Win32_USBHub ».

Если воспользоваться программой «WmiExplorer » и открыть класс «Win32_USBHub », то можно увидеть в столбце «PNPDeviceID » строку вида USB\VID_152D&PID_2509\00A123457D9C, которая имеет формат USB\VID_XXXX&PID_XXXX\Serial_number. Именно из этой строки мы и будем извлекать данные. Но данный класс возвращает список всех USB устройств подключенных к компьютеру, поэтому необходимо их отфильтровать.


Посмотрите внимательно на представленный скриншот программы «WmiExplorer », вы увидите в колонке «Name » название устройства. Как и в диспетчере устройств, usb накопители представлены в виде «». Именно по этому значению будет сделан фильтр. Извлечение данных осуществляется через класс «ManagementObjectSearcher », путем указания запроса «Select », так как нам необходимо организовать фильтр «where », в запросе укажем условие поиска, вывести только устройства с именем «Запоминающее устройство для USB ».


Функционал данного примера:
  • Получение VID usb накопителя;
  • Получение PID usb накопителя;
  • Получение серийного номера usb накопителя.
Создайте проект Windows Form в Microsoft Visual Studio и добавьте два компонента:
  • ListBox – вывод информации по usb устройствам;
  • Button – запуск процесса получения информации.
У вас получится приведенный ниже пример.

Сделайте двойной клик левой клавишей мыши по компоненту «button1 » и перейдите в автоматически созданный метод «button1_Click ». Добавьте в него, приведенный ниже листинг.
string PNPDeviceID = string.Empty; //Предварительно очищаем список listBox1.Items.Clear(); //Получение списка USB накопителей foreach (System.Management.ManagementObject drive in new System.Management.ManagementObjectSearcher("select * from Win32_USBHub where Caption="Запоминающее устройство для USB"").Get()) { PNPDeviceID = drive["PNPDeviceID"].ToString().Trim(); //Получение Ven устройства listBox1.Items.Add("VID= " + parseVidFromDeviceID(drive["PNPDeviceID"].ToString().Trim()).Trim()); //Получение Prod устройства listBox1.Items.Add("PID= " + parsePidFromDeviceID(drive["PNPDeviceID"].ToString().Trim()).Trim()); //Получение Серийного номера устройства string splitDeviceId = drive["PNPDeviceID"].ToString().Trim().Split("\\"); listBox1.Items.Add("Серийный номер= " + splitDeviceId.Trim()); //Разделение списка устройств пустой строкой listBox1.Items.Add(""); } Так же добавьте два метода расшифровки значений «PNPDeviceID».
private string parseVidFromDeviceID(string deviceId) { string splitDeviceId = deviceId.Split("\\"); string Prod; //Разбиваем строку на несколько частей. //Каждая часть отделяется по символу & string splitProd = splitDeviceId.Split("&"); Prod = splitProd.Replace("VID", ""); ; Prod = Prod.Replace("_", " "); return Prod; } private string parsePidFromDeviceID(string deviceId) { string splitDeviceId = deviceId.Split("\\"); string Prod; //Разбиваем строку на несколько частей. //Каждая часть отделяется по символу & string splitProd = splitDeviceId.Split("&"); Prod = splitProd.Replace("PID_", ""); ; Prod = Prod.Replace("_", " "); return Prod; } Запустите ваш проект, нажав на клавиатуре, клавишу «F5 ». Вставьте Usb накопитель и нажмите кнопку «Получить информацию ». Вы получите информацию о данном накопителе. Если устройств подключено несколько, то информация об устройствах будет разделена пустой строкой.