Доброго времени суток! Поискал на форуме похожие темы, например Фискальный регистратор+RDesktop но нужного ответа для себя не нашел.
Задача следующая: Есть пк на win7, на нём стоит 1с 8.3, есть много клиентов на Ubuntu 16.04 LTS. К пк с Ubuntu подключается сканер штрих-кодов Datalogic QuickScan QD2430 (есть 2 кабеля к нему: RS-232 и USB), необходимо с Ubuntu, подключаясь по rdp к пк с windows пробросить данный сканер ШК для работы в 1с и (например, Блокноте). Еще проблема - 1с на пк с win7 корректно работает со сканером шк, только если он подключен к СОМ1, с другими номерами СОМ портов 1с отказывается работать, это изменять нельзя, так же не желательно создавать виртуальный СОМ-порт с привязкой к конкретному ip-адресу клиента на Ubuntu, т.к. клиентов более 200 пк.
Что я предпринимал и какие результаты:
Сканер настраивал по штрих-кодам из книжки так:
- Восстановление заводской конфигурации ЕС
- Стандартный интерфейс - RS232-STD
- Скорость передачи данных - 9600
- Четность - нет
- 8 бит данных
- 1 стоп-бит
- Управление установлением связи = RTS
Подключаю сканер через СОМ кабель к Ubuntu, он определяется как /dev/ttyS0. Есть 2 пользователя: user и root, оба состоят в группе dialout, права на /dev/ttyS0 - 666. Далее пишу в терминал stty -F /dev/ttyS0 -parity cs8 raw -echo после этой настройки проверяю в терминале работу сканера ШК: cat /dev/ttyS0 - вижу, как сканер сканирует штрих-код.
Теперь пробую через rdp пробросить сканер на win7:
rdesktop -u user -p mypass -g 1024x768 -r comport:COM1=/dev/ttyS0 192.168.40.21
Соединение проходит, в win открываю cmd.exe и пишу: change port, вижу такую строчку:
- AUX = \DosDevices\COM1
- COM1 = \Device\RdpDrPort\;COM1:1\tsclient\COM1
- COM2 = \Device\Serial1
По «гуглу» это говорит о том, что порт пробросился, но 1с сканер не видит (в настройках 1с сканер шк добавлен), в Блокнот не сканируется инфа, так же проверяю работу сканера программой PcWedge - у неё настройки следующие:
- SerialPort=\\.\COM1
- BaudRate=9600
- Parity=None
- DataBits=8
- StopBits=1
- FlowControl=None
- RDxBuffer=4096
- SleepTime=0
- Operation=11
- PreAmble=
- TargetType=0
- TargetParam=
- PostAmble=
Причем если в этой программе нажать Close(выход) то она «мёртво повисает».
Пробовал физически сканер подключать через USB провод, в этом случае всё точно так же, как описано выше, за исключением, что устройство висит на /dev/ttyACM0, а на win-пк установлены драйвера (на всякий случай USB-Com с сайта datalogic)
И настройки на самом сканере такие по книжке:
- Восстановление заводской конфигурации ЕС
- Выберете USB-COM-STD
При таком пробросе (имеется ввиду usb-сом подключение сканера к Ubuntu) на win в терминале Ubuntu при попытке что-то отсканировать в PcWedge (1с не видит сканер, в блокнот так же не сканируется) выдается сообщение:
open:устройство занято
xfreerdp - выдает ошибку, что у него не установлены плагины для проброса СОМ и его надо пересобирать с параметрами cmake -DWITH_SSE2=ON -DCHANNEL_URBDRC_CLIENT=ON -DCHANNEL_URBDRC=ON, но, честно сказать, этого я не делал, Remmina(графическая оболочка) не пробрасывает СОМ порты, в свойствах не увидел таких галок и настроек.
Так же пробовал пробрасывать шк под другим СОМ портом, например, СОМ5, СОМ7, СОМ3 (их не существует физически в win-пк) и тд. чтобы он хотя бы в Блокнот сканировал. Стоит отметить, что в обоих вариантах подключения сканера шк я при rdp сессии вижу передаваемую информацию через putty, но в диспетчере устройств win7 не создается ни нового СОМ-порта ни нового USB устройства. Подскажите, пожалуйста, что еще можно попробовать сделать?
С Уважением, V.C.