esasoft
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Продолжаю тему про 2400M и Windows x64. На данный момент удалось прикрутить драйвер, WIA (полностью работает, включая кнопки на сканере), стандартную панель (на русском языке), подсистему TWAIN (работает именно подсистема, т.е. есть доступ к сканеру через TWAIN (например, через панель, XnView, FineReader), сканирует гораздо быстрее, чем через WIA; но не работает стандартный диалог TWAIN от Mustek - не передаётся отсканированное изображение в него). Вариантов исправления глюков с панелью TWAIN пока видится два - трейсить её работу и все зависимости в x86 и пытаться перенести полученные данные на x64, или создание специального WIA-драйвера, работающего через TWAIN, с помощью специальной программы (есть такая). Это позволит сканировать быстрее (на родной WIA-подсистеме в x64 заметные лаги перед сканированием). По итогам работы, когда она завершится, будут созданы MSI-инсталляторы драйверов и программ сканера для нормальной установки в современных ОС, и для x86, и для x64. Немного теории. Выкачав весь ftp Mustek'а (около 14 Гб), я обнаружил, что у всех сканеров, использующих в качестве процессора чип от Grand Tech, один и тот же файл драйвера (gt680x.sys, не отличается ничем, независимо от модели сканера - один для всех сканеров и версии x86, и другой для всех сканеров и версии x64). Поэтому, скорее всего, все сканеры на этом чипе можно запустить на x64 системах. Свои тесты я провожу на Windows 8.1 Professional x64. Проблема установки заключается в том, что x64-драйвер написан давно и для Windows XP x64. Во-первых, он не подписан, поэтому Windows 7 и 8.1 x64 его не принимают, а во-вторых, даже если включить тестовый режим и подписать драйвер, Windows при установке стабильно вываливается в BSOD. Но хорошая новость заключается в том, что на самом деле этот драйвер прекрасно и абсолютно безглючно работает в Windows 7 и 8.1 x64! Проблема возникает ТОЛЬКО во время штатной установки, и больше нигде и никогда. Поэтому был найден простой способ обхода этой ошибки - перед установкой оригинальный файл gt680x.sys в папке с драйвером заменяется на универсальный драйвер от Cypress, встающий на любое USB-устройство (он предназначен для разработки ПО для USB). Windows находит драйвер, штатно и без проблем его устанавливает. Потом, загрузившись в другую ОС или с загрузочного диска или флешки, меняем в папке Windows\System32\Drivers файл gt680x.sys на оригинальный, и перезагружаемся. Всё После перезагрузки получаем полностью рабочий сканер через WIA. По поводу кнопок. Может показаться, что они не работают (при нажатии ничего не происходит). Если запустить программу настройки wiaacmgr.exe и зайти на вкладку настройки кнопок, то диалог и настройки неактивны. НО ! Если их активировать с помощью, например, утилитки MT Resizer 3, то действия сохраняются и кнопки начинают работать ! Также важный момент заключается в замене файла прошивки сканера (**fw.usb) на родной, именно от того сканера, который вы пытаетесь запустить. В hex-редакторе открыть файл минидрайвера (***minidrv.dll) и посмотреть, как называется файл прошивки сканера, который он ищет, и, либо переименовать на это искомое имя файл прошивки (находится в Windows\System32\Drivers), либо в самом файле минидрайвера сменить его имя на наше (но это чревато глюками и не всегда возможно, поэтому я выбрал первый вариант). Само собой, нужно править inf-файл, и брать библиотеки (dll) из x64-версии драйвера (например, от 2448TA Pro). Также, естественно, нужно включить в системе тестовый режим. Обо всех шагах будет подробная инструкция, так что любой справится. Вот примерно так Если будут вопросы - задавайте. | Всего записей: 600 | Зарегистр. 04-09-2004 | Отправлено: 05:19 07-08-2015 | Исправлено: esasoft, 05:42 07-08-2015 |
|