Отваливаются COM-порты в терминальной сессии #526112


#0 by sulye
Добрый день. Есть Terminal Server Windows 2003 sp2 32bit. Есть RDP-клиенты под Windows 7 HB x64, к которым подключено различное торговое оборудование через USB-RS232 переходники. Всё подключается и работает в 1С 7.7. Но после увеличения числа клиентов, стали наблюдаться сбои такого вида: 1С не реагирует на считывание магнитной карты либо штрихкода. Помогает только переинициализация драйвера. После некоторых тестов удалось выяснить, что 1С не "виновата", а именно: на примере гипертерминала: подключаемся, считываем, отключаемся, пробуем подключиться и "COM-порт недоступен", проверяем командой change port - действительно - порта нет. Считываем на устройстве что угодно, change port - порт есть, можно работать. Т.е. такое впечатление, что Terminal Server отключает устройство, пока из него не идёт данных, а при появлении последних снова подключает. Зачем он это делает, электроэнергию экономит или ещё зачем - чёрт его знает. Повторю, что такое поведение присутствует даже без 1C. Google не помогло, в документации ничего не нашёл насчёт отключения неиспользуемых портов. Может кто сталкивался? P.S. Для успокоения совести пробовался Windows 2008R2 x64, 1C8.2 с различными драйверами, разные модели Virtual COM - результат одинаковый. Возможно дело в клиенте Windows 7, т.к. до этого на XP данной проблемы вроде бы не было.
#1 by vudo
Проброс портов поаробуй сделать. Например Tibbo.
#2 by Neg
В пользователях проставь в энергосбережении никогда, всё никогда. Стоит? Не 22 см, а энергосбережение.
#3 by sulye
На клиентах Windows 7 в свойствах энергосбережения - USB-устройства стоит (не 22 см, и даже не 16), а НИКОГДА не отключать. Или где это "В пользователях" ?
#4 by smaharbA
не знаю
#5 by Torquader
На клиенте: - Отключить энергосбережение компьютера. - У каждого устройства в "Диспетчер устройств" отключить "Выключать устройство для экономии энергии". - Задать наименьшее возможное имя для порта (например COM3).
#6 by sulye
Torquader: Это всё сделано, проблема всё равно проявляется.
#7 by Mагистр
Закладка - та же фигня - в терминальном после спящего режима отваливается...
#8 by Mагистр
Этим не лечится - проходили - тупо заново инициализирую кнопкой на форме - пока так пришлось выкручиваться.
#9 by Mагистр
т.е. проблема такая - пользователь пришел - включил ТИС в терминале - посканировал - все ок - пошел курить - терминал отрубился - набрал пароль, вошел - сканера нет - нажал кнопку на форме: " активизировать сканер"... другого не смог придумать...
#10 by Mагистр
причем в не терминальном режиме такого не происходит НИКОГДА!
#11 by Neg
Так отключи спящий режим.
#12 by sulye
Магистр, это ещё полбеды - у меня нажать на кнопку мало, нужно ещё что-то считать вхолостую, чтобы порт поднялся и потом нажать кнопку, если не считать его как бы нет совсем, сканера 2, вот код инициализации: =========================================================    //Scaner = NicaaouIauaeo("AddIn.Scaner45"); // Это глобальная переменная, она при старте системы инициализируется    Scaner.CurrentDeviceNumber = 1; //Сканер штрихкодов    Scaner.Model = 0;        Scaner.PortNumber = 5;          Scaner.DeviceEnabled=1;                    Если (Scaner.ResultCode <> 0) Oiaaa        Сообщить("Сканер штрихкодов НЕ подключен.");    Иначе        Сообщить("Сканер штрихкодов подключен.");    КонецЕсли;    Scaner.CurrentDeviceNumber = 2; // Считыватель магнитных карт        Scaner.Model = 1;            Scaner.PortNumber = 4;          Scaner.DeviceEnabled=1;        Если (Scaner.ResultCode <> 0) Oiaaa        Сообщить("Считыватель магнитных карт НЕ подключен.");    Иначе        Сообщить("Считыватель магнитных карт подключен.");    КонецЕсли;        Scaner.AutoDisable = 1;    Scaner.DataEventEnabled = 1;        // Дальше инициализируется ФР, с ним почему-то проблем нет ========================================================= может тут что криво?
#13 by Torquader
У меня почему-то терминалы не отключаются - как пользователь вошёл, так оно и работает - просто отключили энергосбережение на сервере и в свойствах каждого пользователя был выключен Screen Saver как в терминале, так и на локальной машине.
#14 by sulye
Torquader, а подскажите где Вы это всё отключали, может я не там где-то отключаю?
#15 by Torquader
Заходим на клиенте и на сервере "Управление электропитанием" и запрещаем там переход в ждущий режим (то есть ставим "Никогда"). Потом заходим в свойства хранителя экрана под пользователем и выключаем хранитель (ну или хотя бы выключаем "Запрашивать пароль").
#16 by sulye
Это сделано...
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С