Страница 1 из 1

Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Пн апр 25, 2016 4:10 pm
relocman
WTware v.5.4.16
Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID
usbids:
[3] USB ID: 0403:6001, BUS ID: 4-2, class: 0x00, subclass: 0x00, Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
[4] USB ID: 0403:6001, BUS ID: 5-2, class: 0x00, subclass: 0x00, Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

При добавлении в кофиг serial=com1(usb), serial=com2(usb) терминал превращается в чайник (teapot)


Как указать их в конфиге ?

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Пн апр 25, 2016 4:25 pm
aka
Попробуй так, одной строкой:

serial=COM1(usb 4-2); COM2(usb 5-2)

И лог после запуска покажи.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 03, 2016 12:41 pm
relocman
Спасибо! Данный способ работает.
Правда часто бывает, что после первой загрузки (ТС) терминальной станции , подключенные ККМ не отвечают с проброшенных портов. Порты сопоставлены, а ответа от оборудования нет.Причем был найден способ "растормашить ККМ" Просто начать сканирование спец программой поиска ККМ, меняя скорость от 9600 до 115200.

Это проблема проявлется только в ТС с указанной новой строчкой конфига, где подключены по 2 одинаковых ККМ. Там же где конфиг стандартный и задейтвован лишь один ККМ, все работает без нареканий.
Увы, это неудобно.
Нужен более надежный способ.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 03, 2016 12:44 pm
aka
Сессия точно завершается? Не отключается, а завершается, и соответственно при подключении создаётся новая сессия?

Перенаправленный устройства не любят отключения сессий.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 03, 2016 1:02 pm
relocman
Да и не просто завершается, приходится делать сброс (выход) сеанса, через диспетчер подключений, на сервере терминалов.
Так как программа 1С Предприятие, запущенная в сеансе ждет ответа от порта и не обрабатывает сигналы.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 03, 2016 3:29 pm
aka
После того, как работающая с железкой программа была аварийно прибита из диспетчера задач, железка может остаться в подвешенном, неготовом к работе состоянии.

Должно быть так:

1. Завершили сеанс. В Диспетчере подключений сеанса юзера больше нет.
2. Выключили железо. И компьютер, и ККМ.
3. Включили железо.
4. Подключились.

Именно в таком сценарии будут проблемы?

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 04, 2016 10:28 am
relocman
Да, все верно. Именно такая последовательность.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 04, 2016 3:14 pm
aka
Логи покажи. Пожалуйста, чтобы в логах не было лишних действий. Загрузил, подключился к серверу. Сохранил лог. Запустил программу, увидел ошибку. Сохранил. Запустил поиск, растормошил железку, сохранил.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 04, 2016 4:30 pm
relocman
Конечно предоставлю, но уже завтра, с утра. Все терминалы нещадно используются.
Может ли замена версии (v.5.4.16) Wtware на актуальную, решить проблему ?

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 04, 2016 5:13 pm
aka
Ставь актуальную. Хуже не будет.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Чт май 05, 2016 10:50 am
relocman
свежие парные логи

term1_log - ТС с одним ККМ, с которой все ОК
term5_log - ТС с двумя ККМ, с которой все НЕОК (Загрузил, подключился к серверу. Сохранил лог. Запустил программу, увидел ошибку. Сохранил...)
term5_log2 - ТС с двумя ККМ, с которой все НЕОК (...Запустил поиск, растормошил железку, сохранил)

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Чт май 05, 2016 5:44 pm
relocman
Есть ли мысли по решению данной проблемы ?
Не откатываться же нам обратно на WinCE :^)

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Пт май 06, 2016 7:07 pm
aka
Нету мыслей. Попробуй это:
http://pxe.ru/files/testing/201605061958.zip
Те же логи:
1. Загрузил, подключился к серверу. Запустил программу, увидел ошибку. Сохранил лог.
2. Запустил поиск, растормошил железку, сохранил.
Пожалуйста, как можно меньше лишних действий. Лог должен получиться большой.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Пн май 16, 2016 10:18 am
relocman
Все сделано

1. Загрузил, подключился к серверу. Запустил программу, увидел ошибку. Сохранил лог. (log1)
2. Запустил поиск, растормошил железку, сохранил.(log2)

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 17, 2016 11:07 am
relocman
Тема очень актуальна ! Каждое утро приходиться вручную тормашить эти ККМ

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 17, 2016 11:29 am
aka
В логе1 нет ни одного обращения к ком-портам. То есть это точно не втварь тупит. До втвари во время тупения ни один запрос к порту не доходил.

В логе2 пошли обращения к портам. Вот это:

Код: Выделить всё

[rdpdr-serial 8] [  139.624972]     rdpdr[]-main.cpp (   88): IRP_MJ_CREATE
Это самая первая команда "открыть порт", пришедшая от виндовса. Она в логе2. В логе1 такого нет.

Если подключиться (не забываем завершать сессию!), не запускать программу, а запустить виндовую командную строку и написать в ней:

Код: Выделить всё

 change port
В логе появится много букв?

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 18, 2016 5:10 pm
relocman
Повторил опыт (новые логи в архиве, они с префиксом 1805_)

1. Загрузил, подключился к серверу. Запустил cmd /k "change port" - увидел 2 порта,запустил программу, увидел ошибку. Сохранил лог. (log1)
2. Запустил поиск, растормошил железку, сохранил.(log2)

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 18, 2016 11:19 pm
aka
1. Попробуй без удалённого управления. При удалённом управлении много всего меняется, и работу устройств мы не тестировали. Врядли поможет, но вдруг.
2. Ещё одно шаманство: попробуй ДВА раза сделать change port. Единственная активность между "записали байтик - железка не ответила" и "записали байтик - железка ответила" - переоткрыли ttyUSB0. Врядли поможет, но вдруг.
3. Совсем дикое шаманство: попробовать записать в железку (то есть в ком-порт) этот самый байтик со значением 5. Навеняка под виндовс полно программ, которые справятся записать байт в ком-порт.

4. Вот первая запись байтика в железку /dev/ttyUSB1:

Код: Выделить всё

[rdpdr-serial 9] [  296.235942]     rdpdr[]-main.cpp (  100): IRP_MJ_WRITE
[rdpdr-serial 9] [  296.236231] 00000000:05
Затем с железки пытаются читать:

Код: Выделить всё

[  296.237171]     rdpdr[]-main.cpp (   96): IRP_MJ_READ
Но железка ничего не ответит. Через двадцать секунд открывается железка на другом порту:

Код: Выделить всё

[rdpdr-serial 8] [  315.318823] rdpdr[serial]-worker.cpp (  621): Open /dev/ttyUSB0.
Это наверное поиск запустил? Но никакой активности с железкой на /dev/ttyUSB0 нет, её только открыли и закрыли.

Затем долго ждём. Затем втварь прерывает чтение из /dev/ttyUSB1, потому что запрошенные 250 секунд таймаута вышли, а байты от железки не пришли:

Код: Выделить всё

[rdpdr-serial 9] [  546.264660] rdpdr[serial]-modes.h (  220): Now: 1463522934.264125. Abort read request due to total timeout.
И от виндовса снова приходит команда записать такой же байтик в железку:

Код: Выделить всё

[rdpdr-serial 9] [  546.278354]     rdpdr[]-main.cpp (  100): IRP_MJ_WRITE
[rdpdr-serial 9] [  546.278466] 00000000:05
На этот раз железка сразу же отвечает:

Код: Выделить всё

[rdpdr-serial 9] [  546.281554]     rdpdr[]-main.cpp (   96): IRP_MJ_READ
[rdpdr-serial 9] [  546.281734] rdpdr[serial]-worker.cpp ( 1689): abortTimeout 1463523184.279486, now 1463522934.279495, rt 249.999991.
[rdpdr-serial 9] [  546.281848] rdpdr[serial]-worker.cpp ( 1742): Set wait timeout 250.000991.
[rdpdr-serial 9] [  546.282586] rdpdr[serial]-worker.cpp ( 1799): Now: 1463522934.279575. 1 bytes read from /dev/ttyUSB1, 1 bytes left.
[rdpdr-serial 9] [  546.282731] 00000000:15
[rdpdr-serial 9] [  546.282872] rdpdr[serial]-worker.cpp (  260): Read completion - 1 bytes read, 0 unreaded.
И дальше уже идёт обмен байтиками.

Ещё дальше, через сорок минут, железку выдёргивают, вдёргивают, и так несколько раз. Это уже не относится к пролеме?

Код: Выделить всё

[        KERNEL] [ 3293.112408] usb 3-2: USB disconnect, device number 3
Шаманства нужны. Я не вижу ошибок.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 24, 2016 4:48 pm
relocman
Может помогут логи конфигурации с одним ККМ ?
Ведь там все работает замечательно.
Эти ККМ прекрасно работают и в WinCE и в WinXP, и через железные COM-порты RS232, и через USB.
А вот в Wtware все работает только когда подключен только один ККМ и только когда он подключен через и USB.
Подключение ККМ через COM-порт RS232 или работа 2 шт. ККМ через USB выглядит одинаково.

Увы, принтеры эти фискальные и поэтому тренировкой на них можно навлечь уйму штрафов.

Уже готов даунгрейдить на Wtware lite или любую сборку, корректно работающую на данной конфигурации.


логи конфигурации с одним ККМ вложены

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Вт май 24, 2016 6:11 pm
aka
Логи от старых втварей с выключенной отладкой точно не помогут.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 25, 2016 10:51 am
relocman
обновил ТС, и добавил логи отладочной версии

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 25, 2016 1:38 pm
aka
Ээээ. kassa1 - открыли железку, записали в неё тот же байт 0x05, пытаемся читать. Ничего не читается. В точности как и в логе с двумя железками.

Дальше сморю kassa3. Опять в точности те же действия: открыли порт, записали байтик со значением 5, ожиданем чтения из железки MJ_READ. Железка не отвечает. На 204-й секунде завершили RDP сессию, начали новую RDP сессию, и со второй попытки железка поехала.

Не вижу, где один ККМ работает. Вижу ту же проблему, что и в логе с двумя ККМ, железка заводится со второй попытки.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 25, 2016 2:07 pm
relocman
Да, оказывается кассиры скрыли тот факт, что для того чтобы ККМ работал без проблем, они поле первой загрузки ТС, делают еще одну перезагрузку.
После второй перезагрузки, в ТС, где подключен один ККМ, все нормально работает.
Вот и выслал логи этих двух ТС.

Сейчас бы подошел любой костыль способный отослать железке этот байт

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 25, 2016 2:16 pm
relocman
Тут предлагают способ как отослать строку или символ через BAT-файл
_https://batchloaf.wordpress.com/2013/02/12/simple-trick-for-sending-characters-to-a-serial-port-in-windows/

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 25, 2016 2:39 pm
aka
Файл с одним байтом со значением 5 в атаче.

type byte0x05.txt > COM2

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Ср май 25, 2016 2:43 pm
relocman
Спасибо. Завтра, с утра буду пробовать.

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Чт май 26, 2016 9:06 am
relocman
Проверял сегодня
type byte0x05.txt > COM1
результат команды:
Не удается найти указанный файл.
После этого COM1 отваливается.
Это видно при вводе комманды change port

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Чт май 26, 2016 3:08 pm
aka
У меня работает:
Untitled.png
Untitled.png (6.51 КБ) 45131 просмотр
А лог где?

Re: Два одинаковых ККМ Штрих-М, на одном терминале - одинаковые USB ID

Добавлено: Пт июн 03, 2016 9:30 am
relocman
Увы, нет столько времени. Время и Внимание ресурс очень дорогой.
Пошел индийским путем - подключил все ККМ через USB2COM Converter, на основе чипа Prolific Technology, Inc. PL2303
Проблемы исчезли полностью.