Этот репозиторий стремится предоставить инструкции о том, как создать пакет драйвера lowcdc.sys для 64-разрядной версии Windows 10, и содержит почти все необходимое (за исключением драйвера usbser.sys из-за ограничений лицензионного соглашения Windows 7) для достижения этого.
Драйвер lowcdc.sys разработан Osamu Tamura и публикуется без изменений. Исходные коды доступны на сайте автора.
Поддерживаются следующие устройства:
| Устройство | ИД оборудования |
|---|---|
| AVR-CDC | USB\VID_16C0&PID_05E1 |
| Digispark | USB\VID_16D0&PID_087E |
Используйте теги (tags/releases) для получения стабильных выпусков.
Растет количество отчетов, указывающих на проблемы совместимости устройств AVR-CDC со стеком драйверов USB 3.0 в Windows 10. Перед подготовкой пакета драйвера LowCDC-Win10x64 к установке или непосредственно установкой убедитесь, что USB-устройство прошло энумерацию и ему присвоен идентификатор (ИД) оборудования. Узнайте больше об ИД оборудования и как найти его для устройства.
-
В состав некоторых пакетов драйвера не входит подписанный каталог (.cat-файл). Файл lowcdc.inf может не содержать необходимых секций, таких как SourceDisksNames и SourceDisksFiles.
-
В Windows 10 драйвер последовательного интерфейса через USB — usbser.sys — был переписан, что привело к невозможности его совместного использования с lowcdc.sys.
-
Скачайте последний релиз LowCDC-Win10x64 и распакуйте содержимое архива куда-нибудь на вашем компьютере.
-
Найдите драйвер
usbser.sys, входящий в состав 64-разрядной версии Windows 7. Расположение файла на установочном диске Windows 7 с интегрированным пакетом обновления SP1\Sources\install.wim\Windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_fbc4a14a6a13d0c8\usbser.sys. Номер версии драйвера, которым пользуюсь я — 6.1.7601.17514. Скопируйте файл в директорию с файлами LowCDC-Win10x64 — директорию пакета драйвера — под именемusbser61.sys, чтобы избежать возможной замены встроенного драйвера Windows 10. -
Установите Windows 10 SDK и Windows Driver Kit (WDK) с одним номером версии. Убедитесь, что утилита
Inf2Cat.exeприсутствует в директории\Program Files (x86)\Windows Kits\10\Bin\%Version%\x86, а утилитыMakeCert.exe,CertMgr.exe,SignTool.exe— в директории\Program Files (x86)\Windows Kits\10\Bin\%Version%\x64. Обратите внимание, что более ранние установки наборов средств разработки не включали номер версии в пути к исполняемым файлам утилит.Существует метод, проверенный с версией 10.0.19041.685 Windows 10 SDK и WDK, который позволяет установить в основном необходимое ПО. Выберите загрузку для установки на другом компьютере вместо установки наборов средств разработки. По завершении загрузки запустите
Windows SDK for Windows Store Apps Tools-x86_en-us.msi,Windows SDK Signing Tools-x86_en-us.msiиWindows Driver Kit Binaries-x86_en-us.msiиз директорийInstallers. -
Удалите закрытый ключ, связанный с тестовым сертификатом (опционально).
⚠️ Поскольку тестовый сертификат был добавлен в хранилища сертификатов «Доверенные корневые центры сертификации» и «Доверенные издатели», необходимо уничтожить закрытый ключ, чтобы злоумышленник не мог использовать его для подписи вредоносных приложений.
-
Включите опцию запуска TESTSIGNING, перезагрузите компьютер. В правом нижнем углу должен отображаться водяной знак, включающий в себя надпись Test Mode, номера версии и сборки Windows.
⚠️ Будьте осторожны, используя компьютер в режиме Test Mode: Windows загрузит драйверы, подписанные любым сертификатом. -
Для использования подписанного пакета драйвера на другом компьютере, установите тестовый сертификат в соответствующие хранилища сертификатов с помощью Мастера импорта сертификатов или утилиты CertMgr.
-
Установите пакет драйвера.
Пакетный файл createcat.bat предназначен для создания подписанного каталога для пакета драйвера LowCDC-Win10x64, т.е. для выполнения шагов с 4-го по 8-й включительно из секции Подготовка и подпись пакета драйвера.
createcat.bat не требует какой-либо настройки и готов к использованию. Вы можете изменить имя сертификата (переменная CertName), а также использовать уже установленный сертификат (измените имя сертификата и установите переменную CreateCert=0).
-
Запустите
createcat.batс правами администратора (необязательно запускать из командной строки). -
Введите номер версии Windows 10 SDK и WDK, если он включен в путь к исполняемым файлам утилит.
-
Изучите вывод. Ниже приведен результат успешного выполнения.
D:\LowCDC-Win10x64>createcat.bat
Administrator privileges are required. Detecting privileges...
Success: Administrator privileges are confirmed.
D:\LowCDC-Win10x64>dir "C:\Program Files (x86)\Windows Kits\10\Bin" /a:d
Volume in drive C is Windows
Volume Serial Number is FA25-3D99
Directory of C:\Program Files (x86)\Windows Kits\10\Bin
2021-02-11 01:47 .
2021-02-11 01:47 ..
2021-02-11 01:47 10.0.14393.0
2021-02-11 01:47 10.0.15063.0
2021-02-11 01:47 10.0.16299.0
2021-02-11 01:47 10.0.17134.0
2021-02-11 01:47 10.0.19041.0
2021-02-11 01:47 arm
2021-02-11 01:47 arm64
2021-02-11 01:47 x64
2021-02-11 01:47 x86
0 File(s) 0 bytes
11 Dir(s) 14 986 432 512 bytes free
Enter the Windows 10 SDK and WDK version number if included in the path to the tools executables: 10.0.19041.0
D:\LowCDC-Win10x64>cd /d C:\Program Files (x86)\Windows Kits\10\Bin\10.0.19041.0\x86
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86>Inf2Cat /driver:"D:\LowCDC-Win10x64" /os:10_X64
.................................
Signability test complete.
Errors:
None
Warnings:
None
Catalog generation complete.
D:\LowCDC-Win10x64\lowcdc.cat
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86>cd ..\x64
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64>if 1 == 1 (
MakeCert -r -pe -ss My -n "CN=createcat.bat autogenerated certificate" -sk "createcat.bat autogenerated certificate" -eku 1.3.6.1.5.5.7.3.3 "D:\LowCDC-Win10x64\certcopy.cer"
CertMgr -add "D:\LowCDC-Win10x64\certcopy.cer" -s -r LocalMachine Root
CertMgr -add "D:\LowCDC-Win10x64\certcopy.cer" -s -r LocalMachine TrustedPublisher
)
Succeeded
CertMgr Succeeded
CertMgr Succeeded
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64>SignTool sign /v /s My /n "createcat.bat autogenerated certificate" /t http://timestamp.digicert.com "D:\LowCDC-Win10x64\lowcdc.cat"
The following certificate was selected:
Issued to: createcat.bat autogenerated certificate
Issued by: createcat.bat autogenerated certificate
Expires: Sun Jan 01 02:59:59 2040
SHA1 hash: 2F02FA84A9BC0F51901EE66FEC29CC7CCE7B1AF1
Done Adding Additional Store
Successfully signed: D:\LowCDC-Win10x64\lowcdc.cat
Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64>SignTool verify /v /pa "D:\LowCDC-Win10x64\lowcdc.cat"
Verifying: D:\LowCDC-Win10x64\lowcdc.cat
Signature Index: 0 (Primary Signature)
Hash of file (sha1): F3CFE6C188D35D3F90C588C1CBC239396F770326
Signing Certificate Chain:
Issued to: createcat.bat autogenerated certificate
Issued by: createcat.bat autogenerated certificate
Expires: Sun Jan 01 02:59:59 2040
SHA1 hash: 2F02FA84A9BC0F51901EE66FEC29CC7CCE7B1AF1
The signature is timestamped: Tue Mar 02 13:08:43 2021
Timestamp Verified by:
Issued to: DigiCert Assured ID Root CA
Issued by: DigiCert Assured ID Root CA
Expires: Mon Nov 10 03:00:00 2031
SHA1 hash: 0563B8630D62D75ABBC8AB1E4BDFB5A899B24D43
Issued to: DigiCert SHA2 Assured ID Timestamping CA
Issued by: DigiCert Assured ID Root CA
Expires: Tue Jan 07 15:00:00 2031
SHA1 hash: 3BA63A6E4841355772DEBEF9CDCF4D5AF353A297
Issued to: DigiCert Timestamp 2021
Issued by: DigiCert SHA2 Assured ID Timestamping CA
Expires: Mon Jan 06 03:00:00 2031
SHA1 hash: E1D782A8E191BEEF6BCA1691B5AAB494A6249BF3
Successfully verified: D:\LowCDC-Win10x64\lowcdc.cat
Number of files successfully Verified: 1
Number of warnings: 0
Number of errors: 0
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64>if 1 == 1 (
CertUtil -user -delkey "createcat.bat autogenerated certificate"
CertMgr -del -c -n "createcat.bat autogenerated certificate" -s -r CurrentUser My
)
createcat.bat autogenerated certificate
CertUtil: -delkey command completed successfully.
CertMgr Succeeded
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64>cd /d D:\LowCDC-Win10x64
Press any key to continue . . .После выполнения пакетного файла в директории пакета драйвера появятся подписанный каталог пакета драйвера lowcdc.cat и копия созданного сертификата certcopy.cer.
Завершение проверки каталога пакета драйвера ошибкой 0x800B0101 означает, что время создания сертификата (системное время компьютера) опережает время подписи (полученное с удаленного сервера).
SignTool Error: WinVerifyTrust returned error: 0x800B0101
A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file.Откройте lowcdc.cat, сравните время создания сертификата и время подписи. Устраните несоответствие, изменив системные настройки даты и времени. Запустите createcat.bat повторно.
Информация об установленном драйвере в диспетчере устройств Windows.
Проверка работы драйвера на примере программатора MicroProg.
Проверка работы драйвера на STK500-совместимом программаторе и AVRISP.
Драйвер lowcdc.sys разработан Osamu Tamura @ Recursion Co., Ltd.
Авторские права 2016-2021 Артём Протаскин
Этот документ доступен по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.



