Считыватель смарт-карт виден, но не смарт-карта
У меня Windows 7 работает под VirtualBox. Windows 7 содержит приложение, для работы которого требуется смарт-карта.
В хост-системе есть устройство чтения смарт-карт, а в Linux (нативная ОС) я вижу как устройство чтения, так и карту.
В VirtualBox, если в устройстве чтения смарт-карт присутствует карта, я могу подключить устройство как USB-устройство. Это в разделе Устройства => Устройства USB => Универсальный считыватель смарт-карт EMV. Windows 7 может видеть устройство чтения смарт-карт, но не смарт-карту.
Вот вывод Windows из "certutil -scinfo":
The Microsoft Smart Card Resource Manager is running.
Current reader/card status: Readers: 1
0: Generic EMV Smartcard Reader 0
--- Reader: Generic EMV Smartcard Reader 0
--- Status: SCARD_STATE_EMPTY
--- Status: No card.
--- Card:
=======================================================
Analyzing card in reader: Generic EMV Smartcard Reader 0
--------------===========================--------------
Done.
CertUtil: -SCInfo command completed successfully.
Я попытался перезагрузить Windows, запустить и остановить службу смарт-карт, удалить и заново установить карту. Ничего не помогло, и я не смог найти ничего полезного в Интернете.
Обновить
Перезагрузил хост-машину (Linux) и перезапустил VirtualBox. Нет эффекта.
Я также удалил MS Driver (Micorsoft Usbccid Smartcard Reader (WUDF)). Затем я "отключил" USB-кард-ридер и "подключил" его обратно. Windows переустановил тот же драйвер и отказал точно таким же образом.
Обновление 2
Иногда удаление драйвера Windows помогает. Все еще кажется серьезным случайных событий, чтобы заставить его работать правильно.
2 ответа
Гостевая ОС из любой виртуальной среды не позволяет видеть существующие порты и подключенные устройства. Вы будете подключать и отключать постоянно, и это может не иметь никакого результата.
Ну, если у вас все еще есть проблемы, попробуйте это стороннее программное обеспечение. Это может быть хорошим помощником. http://www.flexihub.com/access-remote-emv-smart-cardreader.html
Я уже пробовал это сегодня с VirtualBox - у меня это сработало, но я использую кард-ридер EMV, а моей хост-системой является Mac, если это важно. GuestOS (Windows) видит устройство (картридер) подключенным напрямую.
Поэтому после "подключения" и "отключения" считывателя от виртуальной коробки, а также удаления и повторной установки карты, он, наконец, решил работать. Понятия не имею, что изменилось или почему, но кажется, что танец с железом в конечном итоге убедит Windows увидеть читателя и карту.
Обновить
Все еще возникают серьезные проблемы с этим. Кажется, что между подключением и отключением удаление драйвера Windows также помогает "встряхнуть" все, что не так. Но это все еще кажется по существу случайным.
Разговор об ужасном пользовательском опыте.
Мой опыт показывает, что гость Windows, кажется, не уведомляется о вставке смарт-карты. У меня есть две хитрости, чтобы решить эту проблему:
- при использовании внешнего USB-считывателя вставьте смарт-карту в считывающее устройство, когда он отсоединен, подключите считыватель, затем подсистема USB Windows правильно запускает "обнаружение нового устройства", и все отображается
- при использовании внутреннего считывателя на моем хосте вставьте смарт-карту, перейдите в гостевой диспетчер устройств Windows, принудительно выполните "Сканирование на предмет изменений оборудования", после чего устройство смарт-карты отобразится
Мне не нужно устанавливать / удалять устройство чтения смарт-карт в гостевой. Мне не всегда нужно повторно сканировать.
Я ищу способ упростить повторное сканирование, может быть, devcon rescan
как администратор может быть (и тогда интерес представляет быстрый способ получения devcon.exe).