Перевести страницу

Статьи

Модификация прошивки и USB-COM драйвера сканеров Datalogic QD21xx и QW21xx

А зачем это? В каких случаях нужно?


 

При работе сканеров Datalogic QuickScan QD21xx и QW21xx с RS232/COM-кабелем или с USB-кабелем с интерфейсом «USB-COM emulation» данный сканер по умолчанию ведёт себя своеобразно в том случае, если «верхний» софт (host) принудительно прерывает контроль за RS232-каналом. В частности, это наблюдается при работе с 1С. Также легко «наигрывается» при тестировании под HyperTerminal’ом или любой другой терминальной программой.

Своеобразность заключается в следующем: в случае если host прервал контроль за RS232-каналом (1С это делает сам по тайм-ауту бездействия, в HyperTerminal’е просто нажимаем кнопочку «Disconnect») сканер сканирует ОДИН штрих-код и, не имея возможности получить сигнал подтверждения передачи, переходит в состояние «глубокого сна». Внешне это выглядит, будто сканер просто умер/завис и не подаёт никаких признаков жизни. Метод лечения – физически перевоткнуть сканер в USB-разъёме или перегрузить компьютер в случае физического COM-интерфейса. Повторный «подъём» контроля за RS232-интерфейсом со стороны «верхнего» софта порой восстанавливает работоспособность (в HyperTerminal’е обычно «прокатывает», но не всегда), при этом передаётся сохранённый в буфере сканера последний со сканированный ШК. Но в целом ряде случаев, и в частности – в 1С, без физического реконнекта не обойтись.

Обнаружено, что в случае физического COM-подключения (RS232-кабелем) иногда помогает изменение опции "Host Commands - Obey/Ignore" со значения Obey по умолчанию на значение Ignore. К сожалению, это не работает при подключении через интерфейс USB-COM emulation.


Метод «лечения», если мы с описанным столкнулись

 

А) Обновление прошивки и аппарата

Б) Изменение драйвера эмуляции. 

Оба изменения направлены на то, чтобы в описанной ситуации перехода в «сон» не происходило. В результате после внесения изменений в тех же условиях аппарат, не найдя канал передачи, просто «верещит», но не отключается. «Подъём» контроля интерфейса со стороны host’а восстанавливает работоспособность сканера. Сохранения ШК в буфере сканера не происходит.

Следует заметить, что разработчики из Datalogic полагают изначальное поведение аппарата более «правильным», поэтому этот метод лечения выбивался с большими трудами и не факт, что не всплывёт когда-либо в дальнейшем с другими прошивками моделями.


Описание порядка процедуры модификации

 

  Для прошивки используется программа Aladdin, скачать можно на официальном сайте производителя: www.datalogic.com, далее – «Поддержка и услуги» - «Загрузка» -«ПО и утилиты» - «Utilities» - ищем Datalogic Aladdin в списке.

Скачиваем, устанавливаем.

Теперь кратко :


  • Подключаем сканер USB-шнурком (можно и по RS232, см. тогда в pdf-доке выше)
  • Запускаем Aladdin в режиме разработчика. Для этого его нужно запустить с ключом +d : находим на рабочем столе иконку Аладдина, правой кнопкой мыши выбираем «свойства»\Properties, во вкладке «ярлык» находим поле «Объект»\Target дописываем +d. Должно получиться примерно так:


“C:\Program Files\Datalogic\Aladdin\aladdin.exe“ +d


  • Не запуская процедуру детекта устройства, идём в пункт меню “Tools – firmware upgrade”
  • Кнопкой “load firmware file” выбираем файл прошивки нужного устройства из этого архива (архив предварительно нужно, конечно, распаковать) :






ВАЖНО! Не ошибаемся с выбором прошивки для нашего устройства! Точное название устройства смотри на шильдике сканера в строке CLASS



  • Если в поле «boot version» будет написана версия загрузчика – обязательно ставим галку ниже, у пункта «upgrade boot», чтобы обновить и его, по умолчанию загрузчик не обновляется
  • Нажимаем кнопку “Firmware upgrade with USB cable”
  • Вытаскиваем USB разъём шнурка из компьютера, зажимаем «курок» и, держа его нажатым, втыкаем в компьютер снова (Вариант – сканируем прямо с экрана появившийся на экране ШК; не все устройства не со всех экранов делают это стабильно, перетыкание более надёжно)
  • Отпускаем «курок» с началом процесса перепрошивки (ползёт полоска), ждём окончания процесса

Вытаскиваем USB-разъём сканера из компьютера и обновляем драйвер USB-COM эмуляции. Можно использовать драйвер с офсайта (там же, где и Aladdin), текущая версия уже «правильная». Более ранние версии обновлять ОБЯЗАТЕЛЬНО. На всякий случай – вот в архиве:

Скачиваем(распаковываем), запускаем, инсталлируем, всё как обычно.

 

Втыкаем сканер снова, должно обнаружиться новое устройство. По умолчанию сканеры с USB-кабелем в комплекте идут с интерфейсом «эмуляция USB-клавиатуры», поэтому нам его нужно перепрограммировать на USB-COM emulation.


Сервисные штрих-коды для настройки работы сканера в режиме USB-COM эмуляции. “USA Factory Configuration” в данном конкретном случае опционален, поскольку после перепрошивки он так и устанавливается, но вообще следует иметь в виду, что с данным сканером программирование ВСЕГДА рекомендуется начинать с него, поскольку в целом ряде случаев «европейские» установки могут быть некорректными. По идеологии этих устройств СНАЧАЛА выбирается интерфейс, а ЗАТЕМ – дефолтные установки для него, именно поэтому порядок 2-го и 3-го ШК такой как есть.

 

Последние два ШК тоже опциональны: предпоследним включаем распознавание ШК «Interleaved 2 of 5», которое по умолчанию выключено, а последним – суффикс CR/LF (Enter и перевод строки), суффикс по умолчанию – просто CR, без перевода строки.




После программирования нового интерфейса операционная система обнаружит новое устройство Serial Port for Barcode Scanner и сама его установит (если мы всё корректно проделали).

 

В свойствах этого нового оборудования («Параметры порта» - «Дополнительно») можно поменять номер COM-порта на более нам удобный.

 

После проделанных манипуляций сканер не будет больше «уходить в сон» при потере канала передачи данных.

 

Удачи!


Вот результат удачной настройки.




Нет комментариев

Добавить комментарий