Приобрели лицензию на BGBilling и плагин CashCheck, проблема осталась.
Про Штрих-ФР-К параметры такие как четность и управление потоком настраиваются в параметрах COM порта, скрин я выкладывал.
Обновил сервер и сам плагин до последней версии, проблема так же не ушла.
С первым драйвером сервис не запускается, а со вторым запускается но не работает.
Еще раз выложу лог и конфиг:
Код:
# Настройки для CashCheck-сервера
# (ru.bitel.frk.server.CmdTcpServer)
# Написаны на неком очень куцем подмножестве YAML
# Указываем, на класс, который реализует общение с (любым) устройством на высшем уровне
#driver: ru.bitel.frk.driver.shtrih.Driver
driver: ru.bitel.frk.driver.shtrih2.Driver
#driver: ru.bitel.frk.driver.emu.Driver
#driver: ru.bitel.frk.driver.fop.Driver
#driver: ru.bitel.frk.driver.sp101frk.Driver
#driver: ru.bitel.frk.driver.atol.Driver
# Порт на котором сервер слушает подключения
port: 9876
# Остальные параметры специфичны для каждого драйвера и передаются полностью в драйвер
# ------------------------
# Для принтера Штрих-ФР-К:
# ------------------------
#ru.bitel.frk.driver.shtrih.Driver:
ru.bitel.frk.driver.shtrih2.Driver:
{
# имя порта, например, в виндовсе COM<X> в линуксе /dev/ttyS<X>
portName: COM1
#portName: /dev/ttyS0
# скорость обмена
# 2400, 4800, 9600, 19200, 38400, 57600, 115200
baudRate: 115200
# describing a flow control type
# None, Xon/Xoff Out, Xon/Xoff In, RTS/CTS In, RTS/CTS Out
flowControlIn: None
flowControlOut: None
# data bits setting
# 5, 6, 7, 8
databits: 8
# stop bits setting.
# 1, 1.5, 2
stopbits: 1
# parity setting
# None, Even, Odd
parity: None
# таймаут приёма одного байта (в мс.), характеристика порта
oneByteTimeout: 100
# таймаут в мс. между опросами состояний для ждания окончания печати предыдущей операции.
waitNoprintTimeout: 1000
# кол-во опросов состояния для ждания окончания печати предыдущей операции (каждое длинной таймаут).
waitNoprintNumtry: 20
# запрет прямого использования команды отрезки (позволяет избежать проблем с отрезчиком в некоторых случаях). костыль.
# по умолчанию - 0 (отрезчик используется)
#cutterDisabled: 0
# насильное использование резчика после каждой операции печати (если вдруг авторезка не работает)
# по умолчанию - 0 (отрезчик руками не включается, срабатывает только если авторезка)
#cutterForceManual: 0
}
# ---------------------------
# Для Эмулятора регистратора:
# ---------------------------
# не требуется
# -----------------
# Для FOP-драйвера:
# -----------------
ru.bitel.frk.driver.fop.Driver:{
# Название принтера в системе (если не указан, то возьмётся дефолтный,
# прописнный в системе, если и такого нет, будет ошибка)
printer: pdf
# Шаблон xsl. Прямой путь к файлу (можно, конечно, положить его в xsl сервера
# биллинга, тогда сервер печати, конечно, не стартует без запущенного него)
#xsl: http://127.0.0.1:8080/bgbilling/xsl/cashcheck_pko.xsl
#xsl: file:///home/dimon/workspace/bgbilling/modules/cashcheck/server/server_files/xsl/cashcheck_pko.xsl
#xsl: C:\BGCashcheckServer\xsl\cashcheck_pko.xsl
xsl: file:///usr/local/BGCashcheckServer/xsl/cashcheck_pko.xsl
# Имя задания печати (произвольное), может быть не задано
jobName: fop driver printing
# Количество копий, может быть не задано
jobCopies: 1
}
# ------------------
# Для принтера АТОЛ:
# ------------------
ru.bitel.frk.driver.atol.Driver:{
# имя порта, например, в виндовсе COM<X> в линуксе /dev/ttyS<X>
#portName: COM1
portName: /dev/ttyS0
# скорость обмена
# 1200, 2400, 4800, 9600, 14400, 38400, 57600, 115200
baudRate: 115200
# остальное по умолчанию заявлено в протоколе:
# 1 стартовый бит;
# 8 битов данных;
# 1 стоповый бит;
# без проверки на четность;
# 3 линии (TXD, RXD, GND).
# Так как драйвер поддерживает несколько принтеров, разновидностей и
# их платформ, то надо бы указать тип принтера заранее (ниже - возможные
# значения).
#Неизвестный принтер, не надо использовать в реальной работе
type: UNKNOWN
#Триум-Ф эталонной версии 01
#type: Trium_F
#«Меркурий-140Ф» АТОЛ
#type: Mercury_140F
#ФЕЛИКС-Р Ф эталонная версия 02
#type: FELIX_R_F
#ФЕЛИКС-02К эталонная версия 01
#type: FELIX_02K
#ТОРНАДО (МЕРКУРИЙ-114.1Ф эталонная версия 04)
#type: TORNADO
#Меркурий MS-K эталонная версия 02
#type: Mercury_MS_K
#ФЕЛИКС-Р К эталонной версии 01
#type: FELIX_R_K
#ФЕЛИКС-3СК эталонная версия 01
#type: FELIX_3CK
#FPrint-01K эталонная версия 01
#type: FPrint_01K
#FPrint-02K эталонная версия 02
#type: FPrint_02K
#FPrint-03K эталонная версия 01
#type: FPrint_03K
#ККМ BIXOLON-01K
#type: BIXOLON_01K
#PayPPU-700K
#type: PayPPU_700K
#PayVKP-80K
#type: PayVKP_80K
#PayCTS-2000K
#type: PayCTS_2000K
#FPrint-88K
#type: FPrint_88K
#FPrint-5200K
#type: FPrint_5200K
# Пароль доступа к ККМ (не пароль кассира/админа/сисадмина!)
# 4цифры, по умолчанию "0000", согласно протоколу
accessPassword: 0000
# запрет прямого использования команды отрезки (позволяет избежать проблем с отрезчиком в некоторых случаях). костыль.
# по умолчанию - 0 (отрезчик используется)
#cutterDisabled: 0
# насильное использование резчика после каждой операции печати (если вдруг авторезка не работает)
# по умолчанию - 0 (отрезчик руками не включается, срабатывает только если авторезка)
#cutterForceManual: 0
}
# ------------------
# Для ККМ СП-101-ФРК:
# ------------------
ru.bitel.frk.driver.sp101frk.Driver:
{
# имя порта, например, в виндовсе COM<X> в линуксе /dev/ttyS<X>
#portName: COM1
portName: /dev/ttyS0
# скорость обмена
# В протоколе утверждается:
# При включении питания скорость всегда 19200.
# Изменить значение можно командой «Установить скорость обмена».
# Диапазон допустимых значений 4800 – 115200 бод.
baudRate: 19200
# Примечание: так как в программе скорость дополнительно не выставляется
# этой командой, то, выходит, что менять этот параметр не придётся.
# Ещё в протоколе утверждается:
# Контроль четности Нет
# Длина блока данных 8
# Число стоповых бит 1
# Значения фиксированы
}
Код:
INFO 20.02.2012 22:33:17,445 : server: run 'CmdTcpServer v 5.1 build 264 from 17.02.2012 17:24:59' with command 'start'
INFO 20.02.2012 22:33:17,446 : server: logging level DEBUG
INFO 20.02.2012 22:33:17,475 : server: driver: ru.bitel.frk.driver.shtrih2.Driver
INFO 20.02.2012 22:33:17,478 : server: driver-status: portName=COM1, baudRate = 115200
INFO 20.02.2012 22:33:17,490 : server: started: ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=9876]
DEBUG 20.02.2012 22:33:56,454 : server: connection accepted #1: Socket[addr=/172.20.20.5,port=58131,localport=9876]
DEBUG 20.02.2012 22:33:56,652 : thread#1: try 'status' command...
WARN 20.02.2012 22:33:56,714 : thread#1: send error driver: ru.bitel.frk.server.PrinterConnectException: there was no normal transfer to the 5 attempts (enters to transfer packet).
DEBUG 20.02.2012 22:33:56,715 : thread#1: command 'status' processing sucessfull
DEBUG 20.02.2012 22:33:56,715 : thread#1: end all commands (good work)
DEBUG 20.02.2012 22:33:56,715 : thread#1: close socket
DEBUG 20.02.2012 22:35:38,541 : server: connection accepted #2: Socket[addr=/172.20.20.5,port=58132,localport=9876]
DEBUG 20.02.2012 22:35:38,740 : thread#2: try 'status' command...
WARN 20.02.2012 22:35:38,753 : thread#2: send error driver: ru.bitel.frk.server.PrinterConnectException: there was no normal transfer to the 5 attempts (enters to transfer packet).
DEBUG 20.02.2012 22:35:38,753 : thread#2: command 'status' processing sucessfull
DEBUG 20.02.2012 22:35:38,754 : thread#2: end all commands (good work)
DEBUG 20.02.2012 22:35:38,755 : thread#2: close socket
INFO 20.02.2012 22:36:23,402 : server: invoke exit() method...
INFO 20.02.2012 22:36:23,409 : server: run 'CmdTcpServer v build from ' with command 'stop'
INFO 20.02.2012 22:36:23,409 : server: logging level DEBUG
INFO 20.02.2012 22:36:23,411 : server: stoping server, sending killserver command...
DEBUG 20.02.2012 22:36:23,416 : server: connection accepted #3: Socket[addr=/127.0.0.1,port=52215,localport=9876]
DEBUG 20.02.2012 22:36:23,419 : thread#3: try killserver command...
INFO 20.02.2012 22:36:23,420 : server: server runtime shutdowned
INFO 20.02.2012 22:37:22,639 : server: run 'CmdTcpServer v 5.1 build 264 from 17.02.2012 17:24:59' with command 'start'
INFO 20.02.2012 22:37:22,640 : server: logging level DEBUG
ERROR 20.02.2012 22:37:22,648 : error parse config file
ru.bitel.frk.A.C$_B: error parse symbol '#'/#35, position: 982, state: WAITVALUELN, keyvalue: 'ru.bitel.frk.driver.shtrih.Driver'->'9876'
at ru.bitel.frk.A.C.A(Unknown Source)
at ru.bitel.frk.A.C.<init>(Unknown Source)
at ru.bitel.frk.server.CmdTcpServer.main(Unknown Source)
INFO 20.02.2012 22:51:36,046 : server: run 'CmdTcpServer v 5.1 build 264 from 17.02.2012 17:24:59' with command 'start'
INFO 20.02.2012 22:51:36,047 : server: logging level DEBUG
INFO 20.02.2012 22:51:36,076 : server: driver: ru.bitel.frk.driver.shtrih2.Driver
INFO 20.02.2012 22:51:36,079 : server: driver-status: portName=COM1, baudRate = 115200
INFO 20.02.2012 22:51:36,089 : server: started: ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=9876]
DEBUG 20.02.2012 22:52:11,408 : server: connection accepted #1: Socket[addr=/172.20.20.5,port=58173,localport=9876]
DEBUG 20.02.2012 22:52:11,607 : thread#1: try 'status' command...
WARN 20.02.2012 22:52:11,670 : thread#1: send error driver: ru.bitel.frk.server.PrinterConnectException: there was no normal transfer to the 5 attempts (enters to transfer packet).
DEBUG 20.02.2012 22:52:11,671 : thread#1: command 'status' processing sucessfull
DEBUG 20.02.2012 22:52:11,672 : thread#1: end all commands (good work)
DEBUG 20.02.2012 22:52:11,672 : thread#1: close socket
Код:
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
ru.bitel.frk.server.PrinterConnectException: there was no normal transfer to the 5 attempts (enters to transfer packet).
at ru.bitel.frk.driver.shtrih2.A.A(Unknown Source)
at ru.bitel.frk.driver.shtrih2.A.L(Unknown Source)
at ru.bitel.frk.driver.shtrih2.Driver.status(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ru.bitel.frk.server.CmdTcpServer.run(Unknown Source)
ru.bitel.frk.server.PrinterConnectException: there was no normal transfer to the 5 attempts (enters to transfer packet).
at ru.bitel.frk.driver.shtrih2.A.A(Unknown Source)
at ru.bitel.frk.driver.shtrih2.A.L(Unknown Source)
at ru.bitel.frk.driver.shtrih2.Driver.status(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ru.bitel.frk.server.CmdTcpServer.run(Unknown Source)
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
ru.bitel.frk.server.PrinterConnectException: there was no normal transfer to the 5 attempts (enters to transfer packet).
at ru.bitel.frk.driver.shtrih2.A.A(Unknown Source)
at ru.bitel.frk.driver.shtrih2.A.L(Unknown Source)
at ru.bitel.frk.driver.shtrih2.Driver.status(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ru.bitel.frk.server.CmdTcpServer.run(Unknown Source)
Готов даже предоставить управление например через teamviewer.
Если необходимо могу выложить все необходимые логи.
Насчет системы проверял на другом ПК, к которому подключена такая же касса, результат тот же.