+7 499 990-10-21

Выбор оборудования для кассы

Выбор оборудования для кассы

Сообщение Sergey78 » 29 ноя 2010, 17:03

Подскажите пожалуйста, будет ли совместимо следующее оборудование
1. ФР FPrint 5200К подключенный по USB или же через переходник COM-USB.
Судя по описанию, с самим ФР Д:К работает отлично, переходник COM-USB линукс видит, будет ли работать? В случае с подключением по USB (переходник видимо в сам ФР встроен?), какие-то дополнительные драйвера для линукса нужны?

2. Клавиатура POSua LPOS -064P (без ридера) в USB исполнении
То, что сама клавиатура поддерживается я видел, нет ли сложностей с USB исполнением?

3. Дисплей покупателя Posiflex PD-2800. Опять же, или USB или через переходник. Тут, судя по описанию о настройке оборудования, возможно придется таблицу перекодировки сделать. Других сложностей не должно быть?

Дело в том, что в качестве системника хочу применить неттоп, типа http://fast.ulmart.ru/good_pics/212201.jpg (http://www.ulmart.ru/goods/212201/) прикрепив его к монитору. Однако у подобных устройств нет PS\2 порта (про клавиатуру) и нет COM портов (про переходники). Радует стоимость (4400 + память + диск), небольшой размер, бесшумность, возможность крепления сзади на монитор.
Есть еще различные Ebox-ы, но за эти деньги думаю Atom будет быстрее.
Возможно кто-то уже использовал подобное оборудование, интересен опыт.
Sergey78
 
Постов: 99
Зарегистрирован: 26 ноя 2010, 13:47

Re: Выбор оборудования для кассы

Сообщение Alexander » 29 ноя 2010, 17:39

Sergey78 писал(а):Подскажите пожалуйста, будет ли совместимо следующее оборудование
1. ФР FPrint 5200К подключенный по USB или же через переходник COM-USB.
Судя по описанию, с самим ФР Д:К работает отлично, переходник COM-USB линукс видит, будет ли работать? В случае с подключением по USB (переходник видимо в сам ФР встроен?), какие-то дополнительные драйвера для линукса нужны?

Кратко: Да, будет.
Подробно: В комплект ФР FPrint-5200 входит USB кабель AmBm. Для того, чтобы активировать встроенный в ФР USB<->COM переходник, надо на нижней панели открыть металлическое окошечко и на панели переключателей перещёлкнуть 3-й (подробнее - см. руководство на ФР).
Если всё сделано правильно, тогда при подключении ФР к USB-порту ПК в "Настройках драйверов устройств" в списке портов появится порт USB<->COM1 (если других пока не было).
Никаких дополнительных драйверов не требуется, т.к. чип переходника Prolific 2303 поддерживается штатным модулем usbserial.
Sergey78 писал(а):2. Клавиатура POSua LPOS -064P (без ридера) в USB исполнении
То, что сама клавиатура поддерживается я видел, нет ли сложностей с USB исполнением?

Сложностей нет, но раскладку под USB надо будет сделать по образу и подобию PS/2-ной, т.к. штатная программа считает их разными клавиатурами. (Или надо будет покопаться - где-то у нас была раскладка под USB-вариант на 64 клавиши)
Sergey78 писал(а):3. Дисплей покупателя Posiflex PD-2800. Опять же, или USB или через переходник. Тут, судя по описанию о настройке оборудования, возможно придется таблицу перекодировки сделать. Других сложностей не должно быть?

По опыту USB-овый PD-2800 можно переключить на эмуляцию USB<->COM. В таком случае потребуется небольшая дополнительная настройка порядка загрузки модулей ядра (пару файлов раскидать по системным каталогам). Таблица перекодировки по-моему подходит одна из типовых.

P.S. Можно использовать любое COM-оборудование с внешним переходником USB<->COM. В таком случае оптимально выбирать переходники на чипе Prolific PL-2303 (большинство доступных на рынке на нём и сделано). Дополнительных драйверов и/или настроек не требуется.
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Выбор оборудования для кассы

Сообщение Sergey78 » 10 дек 2010, 19:56

Alexander писал(а):По опыту USB-овый PD-2800 можно переключить на эмуляцию USB<->COM. В таком случае потребуется небольшая дополнительная настройка порядка загрузки модулей ядра (пару файлов раскидать по системным каталогам). Таблица перекодировки по-моему подходит одна из типовых.


А поподробнее не расскажите? Приехало все оборудование, начал подключать. Фискальник вроде заработал (подключен по usb, тест проходит, дальше не пробовал).
Экран для покупателей при подключении пишет, что он в режиме Epson. В системе появляется /dev/ttyACM0. В Дэнси этого порта не видно.
Сделал ln -sf /dev/ttyACM0 /dev/ttyUSB0. В денси порт появился (USBM-COM). Это я думаю можно правилами udev поправить, чтоб сразу с нужным именем создавался.
Однако при попытке тестирования пишет каракули. Выбрал Epson и Posiflex (версия другая, но надеялся, что подойдет). Если нажать кнопку "Тест" еще раз, конфигуратор вообще виснет. Приходится из терминала процесс убивать.
До включения конфигуратора денси, пробовал писать в порт:
echo "hello" > /dev/ttyUSB0
На экране нормально отображается. Русские буквы (локаль UTF-8) естественно не показывает, на каждую букву две кракозябры пишет (что естественно, ибо UTF).
Если запустить тест из конфигуратора, то потом уже никакие echo из консоли не отображаются, видимо он ждет какого-то сигнала.
Sergey78
 
Постов: 99
Зарегистрирован: 26 ноя 2010, 13:47

Re: Выбор оборудования для кассы

Сообщение Alexander » 10 дек 2010, 20:31

Тут проблема в том, что ядро грузит некорректный модуль для этого устройства.
Решается, действительно, через udev.
Файл pd_2800_load скиньте в /usr/bin
Файл 10-PD-2800-VFD.rules скиньте в /etc/udev/rules.d
После переподключения дисплея к USB-порту драйвер переходника должен заработать корректно.
Вложения
Posiflex_PD_2800_Linux.zip
(789 байт) Скачиваний: 456
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Выбор оборудования для кассы

Сообщение Sergey78 » 16 дек 2010, 16:36

Alexander писал(а):Тут проблема в том, что ядро грузит некорректный модуль для этого устройства.
Решается, действительно, через udev.
Файл pd_2800_load скиньте в /usr/bin
Файл 10-PD-2800-VFD.rules скиньте в /etc/udev/rules.d
После переподключения дисплея к USB-порту драйвер переходника должен заработать корректно.


Благодарю. Запустить удалось, но результат не стабилен. Я все же надеюсь это победить, потом расскажу, если получится.

Подключил ФР (FPrint-5200K) по usb. В "найстройке драйверов устройств" включил его. Протокол Атол. Галочка "использовать пароль" стоит. Пароли по умолчанию, (4 нуля и 8 нулей). Проверка связи проходит, выводится серийник и описание. При попытке войти в "регистрация продаж", не пускает, говорит "Ошибка 140: неверный пароль".
Пробовал менять пароль на закладке настройки ФР - ФР не отвечает.
Подключал Фр к винде с программой настройки от Атола. Пароль на вход похоже стандартный, 0 (ноль), в настройки пускает и тестироватся дает.
Что я делаю не правильно, какой пароль он хочет?
Sergey78
 
Постов: 99
Зарегистрирован: 26 ноя 2010, 13:47

Re: Выбор оборудования для кассы

Сообщение Alexander » 16 дек 2010, 17:03

Для ФР разработки АТОЛ с заводскими настройками:
- должна быть установлена галочка [v] "Использовать пароль доступа";
- в поле "Пароль доступа" должно быть установлено "0000";
- в поле "Пароль администратора" должно быть установлено "30" (можно без шести нулей слева).

P.S. А в чём проявляется нестабильность работы дисплея?
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Выбор оборудования для кассы

Сообщение Sergey78 » 16 дек 2010, 18:03

Alexander писал(а):Для ФР разработки АТОЛ с заводскими настройками:
- должна быть установлена галочка [v] "Использовать пароль доступа";
- в поле "Пароль доступа" должно быть установлено "0000";
- в поле "Пароль администратора" должно быть установлено "30" (можно без шести нулей слева).

Спасибо, все заработало.

Alexander писал(а):P.S. А в чём проявляется нестабильность работы дисплея?


Не всегда после старта работает. Приходится вынимать из порта и вставлять обратно. Я поизучаю проблему, думаю удастся решить.
Sergey78
 
Постов: 99
Зарегистрирован: 26 ноя 2010, 13:47

Re: Выбор оборудования для кассы

Сообщение Sergey78 » 16 дек 2010, 19:52

Что-то уже совсем запутался, но на данный момент дисплей заработал.
Возможно из-за обновления ядра (я на testing-ветку перешел, соответсвенно ядро 2.6.32), почему-то у дисплея стал ATTRS{idVendor}=="058F", ATTRS{idProduct}=="9720". Хотя изначально точно помню, что было ATTRS{idVendor}=="0D3A", ATTRS{idProduct}=="0220".
Где и как оно определяет какой модуль подгружать я пока не понял, просто добавил скрипт еще и в rc.local.
Да, в правила udev сразу стоит добавить KERNEL=="ttyUSB*" MODE="0666", чтоб chmod-ом не править их.

Если можно, небольшой offtopic... Как реализовано выключение/перезагрузка из меню программы? Под пользователем не дает (кнопки просто "не нажимаются").
сделал chmod +s /sbin/reboot, так же на halt и shutdown. Из консоли по команде /sbin/reboot перезагружается. /sbin в Path добавил. Из меню программы все равно не хочет.
Sergey78
 
Постов: 99
Зарегистрирован: 26 ноя 2010, 13:47

Re: Выбор оборудования для кассы

Сообщение Alexander » 16 дек 2010, 21:54

Выключение реализовано через вызов
system("poweroff");
а перезагрузка через
system("reboot");

Думаю, что поможет создание в /usr/bin символических ссылок с такими именами на команды в /sbin

P.S. Сказываются особенности дистрибутивов :)
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Выбор оборудования для кассы

Сообщение Sergey78 » 17 дек 2010, 19:06

Alexander писал(а):Выключение реализовано через вызов
Думаю, что поможет создание в /usr/bin символических ссылок с такими именами на команды в /sbin
P.S. Сказываются особенности дистрибутивов :)


Да, именно так. Создал ссылки и заработало.
Я опять с дисплеем для покупателей. На данный момент он работает, только если подключени один, без Фр и сканера.

У меня есть устройства:
ФР - подключен через usb, использует модуль ftdi_sio.
Сканер ШК, подключен через переходник usb-com, использует pl2303

Для начала вынимаю все из портов, оставляю только дисплей. После загрузки он использует модуль cdc_adm, вот что говорит про него udev:
Код: Выделить всё
  looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/tty/ttyACM0':
    KERNEL=="ttyACM0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="cdc_acm"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="02"
    ATTRS{bInterfaceSubClass}=="02"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v058Fp9720d0000dc02dsc00dp00ic02isc02ip01"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bmCapabilities}=="6"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{urbnum}=="8"
    ATTRS{idVendor}=="058f"
    ATTRS{idProduct}=="9720"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="02"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="2"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"


Запускаю руками скрипт:
Код: Выделить всё
#!/bin/bash
/sbin/modprobe -r ftdi_sio pl2303 option cdc_acm usbserial
/sbin/modprobe usbserial vendor=0x058f product=0x9720
/sbin/modprobe ftdi_sio
/sbin/modprobe pl2303
/sbin/modprobe option


После этого udev видит его уже так:
Код: Выделить всё
looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="generic"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1':
    KERNELS=="2-1:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbserial_generic"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bInterfaceClass}=="0a"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{modalias}=="usb:v058Fp9720d0000dc02dsc00dp00ic0Aisc00ip00"
    ATTRS{supports_autosuspend}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{urbnum}=="8"
    ATTRS{idVendor}=="058f"
    ATTRS{idProduct}=="9720"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="02"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="2"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"


Тут я на всякий случай сохранил вывод udev файл, чтоб потом сравнить:
udevadm info -a -n /dev/ttyUSB0 > ~/pd.txt
Дисплей работает. В настройках стоит USB<>COM1, русский отображается, все хорошо.

Теперь выключаю, добавляю ФР и сканер ШК.
После загрузки дисплей видится как ttyACM0 с драйвером cdc_adm.
Опять запускаю руками скрипт выгрузки-загрузки модулей. В ответ получаю:
FATAL: Module pl2303 is in use.
Устройство /dev/ttyACM0 пропало, но ttyUSB не появилось.
Полностью выключил все, включил, опять руками стартанул скрипт - дисплей опять работает.

Вообщем работает, но не стабильно. В очередной раз выключил-включил, дисплей не работает. Он как ttyUSB0 появился, про него
udev говорит:
Код: Выделить всё
root@kassa-pava:~# udevadm info -a -n /dev/ttyUSB0|grep DRIVER
    DRIVER==""
    DRIVERS=="generic"
    DRIVERS=="usbserial_generic"
    DRIVERS=="usb"
    DRIVERS=="usb"
    DRIVERS=="uhci_hcd"
    DRIVERS==""

Однако ничего на него не выводится и в моменты когда программа пытается на него что-то вывести, все "подвисает".

Почитав манов, сделал так:
В /etc/modprobe.d/usbserial.conf :
Код: Выделить всё
options usbserial vendor=0x058f product=0x9720
softdep ftdi_sio pre: usbserial
softdep pl2303 pre: ftdi_sio
softdep option pre: pl2303

Указал параметры для usbserial и указал зависимости для модулей, чтоб грузились в нужном порядке.
cdc_amd мне не нужен, модемов нет, поэтому в /etc/modprobe.d/blacklist.conf добавил blacklist cdc_acm.
Дальше "depmod -a", "update-initramfs -u", все выключаю и стартую вновь.
Дисплей определился как ttyUSB0, udev про него говорит:
Код: Выделить всё
looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="generic"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1':
    KERNELS=="2-1:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbserial_generic"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bInterfaceClass}=="0a"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{modalias}=="usb:v058Fp9720d0000dc02dsc00dp00ic0Aisc00ip00"
    ATTRS{supports_autosuspend}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{urbnum}=="9"
    ATTRS{idVendor}=="058f"
    ATTRS{idProduct}=="9720"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="02"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="2"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"


Т.е. драйвер оно правильный подключило.
Однако сам дисплей не работает, на нем ничего не отображается и программа подвисает секунд на 30 (например при выборе в главном меню "Настройка драйверов устройств" и выходе обратно в главное меню).
Поскольку я сохранил в файл всю информацию от udev в момент, когда дисплей работал, сравниваю одно с другим:
Код: Выделить всё
root@kassa-pava:~# udevadm info -a -n /dev/ttyUSB0 > pd-1.txt
root@kassa-pava:~# diff pd.txt pd-1.txt
41c41
<     ATTRS{urbnum}=="8"
---
>     ATTRS{urbnum}=="13"
67c67
<     ATTRS{urbnum}=="33"
---
>     ATTRS{urbnum}=="35"


Параметр urbnum это похоже какой-то счетчик, т.к. значения его меняются. Остальные параметры одинаковы.

На данный момент даже как-то идей не осталось, что еще сделать. Вроде драйвер правильный сразу грузит, а не работает.
Подскажите пожалуйста направление, где искать.
Sergey78
 
Постов: 99
Зарегистрирован: 26 ноя 2010, 13:47

След.

Вернуться в Кассовая программа ДЭНСИ:КАССА

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


cron

Кто сейчас на конференции

Сейчас посетителей на конференции: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (180) здесь было 29 апр 2024, 13:15

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1