VNC + проброс usb МФУ (сканер+принтер)

Совместимые и несовместимые модели принтеров.
Ответить
LittleBomba
Сообщения: 6
Зарегистрирован: Пн янв 20, 2020 6:40 am

VNC + проброс usb МФУ (сканер+принтер)

Сообщение LittleBomba »

Доброго утречка! Долго изучал форум, и везде aka советует НЕ пользоваться usbip, но у меня видимо пока что безвыходная ситуация, поэтому прошу советов и помощи.

Дано: Есть Raspberry pi 3 b+ с wtware и есть esxi гипервизор с гостевыми ОС windows 10 pro. Есть специфичный софт, который работает с usb токенами, которые не любят терминальные сессии и умеют только в консольке. Отсюда RDP со всеми вкусняшками отпадает (на windows 7 был один трюк с shadow console, на windows 10 такое не прокатывает) - соответственно остался вариант с VNC через консоль гипервизора. Тут на форуме я не единственный у кого так.

Задача: Обеспеспечить видимость usb токенов соответствующим софтом, максимально корректную и быструю картинку на тонком клиенте и проброс usb мфу на гостевую ОС, (пробросить мфу - и принтер и сканер, поэтому через cups сервер не подошел вариант).

Решение 1 - (временное, не совсем устраивает): В моем случае пока как временное решение использую virtualHere - все супер (из минусов ограничение на проброс 1 устройства и постоянное всплывающее инфо окно при старте виртуалки что это триальная версия).

Решение 2 (уже не используется) - В свое время в качетсве тонкго клиента использовал nuc с операционкой Manjaro. На ней удачно запустилась серверная часть usbip v 0.2.... и на гостевой ОС так же удачно проброшанные устройства виделись. Минус - не смог разобраться где в Manjaro найти переменную отвечающую за временное отключение usb устройств - постоянно отваливалась мфу при долгом простое тонкого клиента (лечилась ребутом тонкого клиента и виртуалки, в скриптах под linux я не особо от слова совсем - поэтому не смог это автоматизировать).

Решение 3 (вероятность 50х50) - сетевой мфу.... Решает головную боль, пока не реализуемо.

PS В wtware видимо как Вы и писали - несовместимость с драйверами usb enumeration. Хотя могу ошибаться. При попытке с винды увидеть расшаренные устройства выдает ошибку "usbip.c 280 (show_exported_devices)". Немного почитав пришел к выводу, что windows тупо не видит сервер usbip. И да на хабре была статья про несовместимость windows версии с серверами на linux из-за некорректности определения версий (правится через Hiew), что я собственно и проделывал дабы заставить работать manjaro и win 10 в паре. С wtware не вышло.

PPS возможно есть еще какой вариант о котором я не знаю?

PPS Есть еще какие настройки для ускорения работы vnc, например метод сжатия данных, как в тех же решениях под windows (ZLib, ZRLE, Tight)? Иногда подтупливает при отрисовке окон. При нажатии на тот же "пуск" есть небольшая пауза, со временем напрягает, так как проявляется практически везде.
Раз в сутки "i ' am tired" - повторный вход и до следующего дня. Иногда почаще 3-4 раза в день. Не пойму от чего это зависит. Логи сейчас не смогу приложить, как буду на объекте - скопирую и приложу. Поэтому ответа по данному пункту не ожидаю получить, но где то уже натыкался на такие проблемы, ответа не находил.

aka
Разработчик
Разработчик
Сообщения: 10443
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение aka »

LittleBomba писал(а):
Пн янв 20, 2020 7:41 am
(на windows 7 был один трюк с shadow console, на windows 10 такое не прокатывает)
Здесь пожалуйста подробнее.

1. Берём физическую машину с windows 10.
2.Физически подключаем к ней USB токен.
3. На консоли физической машины запускаем приложение. Оно видит токен.
4. Подключаемся к этой же сессии с другого виндвоса через mstsc.exe.

Приложение перестанет видеть токен?
LittleBomba писал(а):
Пн янв 20, 2020 7:41 am
- соответственно остался вариант с VNC через консоль гипервизора.
Ломается встроенный в VMware ESXi VNC, а не левые VNC сервера под виндовс? Логи давай, будем копать.
LittleBomba писал(а):
Пн янв 20, 2020 7:41 am
Решение 1 - (временное, не совсем устраивает): В моем случае пока как временное решение использую virtualHere - все супер (из минусов ограничение на проброс 1 устройства и постоянное всплывающее инфо окно при старте виртуалки что это триальная версия).
Дык денег хотят...
LittleBomba писал(а):
Пн янв 20, 2020 7:41 am
Решение 2 (уже не используется) - В свое время в качетсве тонкго клиента использовал nuc с операционкой Manjaro. На ней удачно запустилась серверная часть usbip v 0.2.
Это было какое-то очень старое решение. usbip под виндвос заброшено в 2011 году.
LittleBomba писал(а):
Пн янв 20, 2020 7:41 am
Решение 3 (вероятность 50х50) - сетевой мфу.... Решает головную боль, пока не реализуемо.
+100500. Если можно решить напрямую без посредников, надо решать напрямую.
LittleBomba писал(а):
Пн янв 20, 2020 7:41 am
PPS Есть еще какие настройки для ускорения работы vnc, например метод сжатия данных, как в тех же решениях под windows (ZLib, ZRLE, Tight)?
Только перейти на RDP.

LittleBomba
Сообщения: 6
Зарегистрирован: Пн янв 20, 2020 6:40 am

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение LittleBomba »

aka писал(а):
Пн янв 20, 2020 11:21 am
Здесь пожалуйста подробнее.
Данный трюк заключается в использовании промежуточной учетной записи.
Для начала что необходимо, что бы данный фокус заработал:
1. Windows 7 (не выше) и proffesional (не ниже).
2. rdp - не старше версии 8.0 на версии 8.1 и выше уже вырезали данный режим. Если словили обновление - ищем и удаляем его.
3. RDP Wrapper - устраняем ограничение на одновременную работу более 1 учетки на данной машинке. Нужно чтоб не вышибало 1ого при подключении 2ого. Не забываем в групповых политиках именно это правило и указать.
3. Под windows создаем 2 учетных записи. 1ая - с обычными правами - в параметрах системы заставляем ее автоматом авторизовываться при загрузке системы (с момента старта системы грузится рабочий стол под указанной учеткой). 2ая - с правами админа.
4. С любого тонкого клиента который умеет rdp подрубаемся к удаленной машине под учеткой №2 (с правами админа). Как загрузился рабочий стол - летим в командную строку или создаем batник - "shadow console" или "shadow 0" (не помню точно что актуально для windows 7 а что для xp - давно уже было) и о чудо вас подключает в теневом режиме к активной консольке.... и мы работаем под учеткой №1 точно так же как сидели бы непосредственно за самим пк с монитором - видим все ключи и токены (сетевые и однопользовательские... без разницы).
aka писал(а):
Пн янв 20, 2020 11:21 am
Приложение перестанет видеть токен?
Именно. Большинство софта, которые работают с однопользовательскими ключами/токенами/цифровыми подписями - не любят терминальные сессии, а RDP - создает именно такую. Отсюда приложение не видит эти ключики в терминалке и перестает работать. А как я выше указал прикол с теневым сеансом работал до RDP 8.0 включительно, а на win 10 минимально доступная версия RDP 10.0... что уже портит все планы.
P/S если вдруг кого интересует вопрос лицензирования при использовании теневого сеанса - то оф. поддержка майкрософт ответила разрешением на данную процедуру, хотя конечно это идет в разрез лиц. соглашения, но с оговоркой, что формально за 1 операционкой будет сидеть 1 человек, что мы и выдерживаем в данной схеме. В любом случае с прекращение поддержки вин 7 эта проблема уже не носит актуальный характер.
PPS логи выложу в начале февраля, раньше не смогу.. прошу прощения. И да подключаюсь к самому гипервизеру VNC. Для каждой гостевой ОС пробрасываю отдельный порт.
Пробовал под виндой поднимать сервер "ultra VNC" - тормозит и отваливается переключение языка через пол дня работы - помогает добавление и удаление в конфигах language = ru, (у меня конфиги на флешке, с dhcp гемморно в моем случае) Замечу что сначала добавляешь эту строку - до первого отвала работает, потом удаляешь эту строку и опять же до первого отвала. Пробовал TightVnc server - летает, но сразу не работает переключение. В любом случае пришел к выводу что корректнее всего подключаться к vnc гипервизора напрямую. Так хотя бы видно если винда в ребут ушла.

aka
Разработчик
Разработчик
Сообщения: 10443
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение aka »

LittleBomba писал(а):
Вт янв 21, 2020 1:21 pm
aka писал(а):
Пн янв 20, 2020 11:21 am
Приложение перестанет видеть токен?
Именно. Большинство софта, которые работают с однопользовательскими ключами/токенами/цифровыми подписями - не любят терминальные сессии, а RDP - создает именно такую. Отсюда приложение не видит эти ключики в терминалке и перестает работать.
Внешне это как проявляется? Просто отключается токен, когда консольный сеанс замещается RDP сессией?

Об то, что на RDP сервере в RDP сесиях не видно физически подключенного к серверу токена, я давно спотыкался. Но для однопользовательских виндовсов, когда сеанс в принципе только один и RDP замещает консоль, раньше физические ключи работали :(

LittleBomba
Сообщения: 6
Зарегистрирован: Пн янв 20, 2020 6:40 am

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение LittleBomba »

Интересно. Я не пробовал оставлять запущенный софт и подключаться по rdp. Обязательно проверю.
А так - как проверял я. Оставляешь консольную сессию, подрубаешься по rdp - сессия превращается в терминальную (можно отслеживать это через task manager). И при запуске программы она уходит в демо режим. (когда программа не видит токен она сразу улетает в демо, если токен подхватывает - то сразу выдает фамилию сотрудника и грузится софт дальше.)
Если что, речь идет о "енот экспресс" - специфичный софт, и сами разрабы не хотят делать сетевые ключики (принципиально - уже общались).

LittleBomba
Сообщения: 6
Зарегистрирован: Пн янв 20, 2020 6:40 am

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение LittleBomba »

На просторах интернета нашел вывод одного из форумчан. Возможно это как то прояснит ситуацию с блокировкой ключей в терминалке. О чем я и пытаюсь донести. Поэтому пока вижу выход это vnc + проброс портов для переферии. Сами же ключи физически воткнуты в сервак и проброшены в гостевые ОС средствами esxi. Тобишь воткнуты так же как были бы напрямую в физ. машину.


При использовании API в целях получения доступа к ключу
HASP процедура hasp() возвращает в Par3 код статуса.
Приведенные ниже таблицы содержат перечень
возвращаемых кодов статуса в зависимости от типа
используемого ключа HASP.
0 Операция выполнена успешно.
........
-10 Доступ к ключу запрещен вследствие того, что
приложение запущено на Citrix Winframe или Win-
dows Terminal Server (приложение может быть
запущено только на экране консоли).
-11 Доступ к ключу запрещен вследствие того, что
приложение запущено на Citrix Winframe или Win-
dows Terminal Server (для определения того, что
приложение запущено на экране консоли
необходим service pack 4+).

Получается, что драйвер ключа определяет при обращении, что сессия терминальная и не даёт доступа к ключу. В принципе, использование такой блокировки логично, т.к. купив однопользовательский ключ, можно было бы запускать хоть 100 пользователей в терминальной сессии.
Только мне от этого не легче, т.к. программа должна быть запущена только у одного юзера, но через сеть, т.к. у всех бездисковые терминалы стоят.

aka
Разработчик
Разработчик
Сообщения: 10443
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение aka »

Выходит, перенаправление ключа не при чём. Конкретная программа отказывается работать в RDP сессии, потому что так решили её разработчики. Тогда да, остаётся только VNC. Но это уже не проблема виндовса и втвари, а прихоть разработчиков этой программы.

LittleBomba
Сообщения: 6
Зарегистрирован: Пн янв 20, 2020 6:40 am

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение LittleBomba »

А что по поводу альтернативы VirtualHere? Есть еще какой способ в wtware это провернуть? Потому как возможно скоро придется на одном из рабочих мест пробрасывать несколько usb устройств при условии что будет vnc подключение. А закупать virtualHere врядли получится уговорить.

aka
Разработчик
Разработчик
Сообщения: 10443
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение aka »

Спроси гугла про альтернативу VirtualHere. Если есть и работает, можно подумать.

LittleBomba
Сообщения: 6
Зарегистрирован: Пн янв 20, 2020 6:40 am

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение LittleBomba »

aka писал(а):
Ср янв 22, 2020 9:11 pm
Спроси гугла про альтернативу VirtualHere. Если есть и работает, можно подумать.
usbip вообще не вариант? Я не совсем разобрался в его кухне, возможно на стороне wtware не то включаю? Еще раз уточню в связке manjaro + win 10 все работало хорошо, кроме отвала принтера (на тот момент был usb принтер, а так же пробрасывал usb клавиатуру, так как сидел через vnc tightviewer - там были проблемы с переключением раскладки) при уходе в сон... Гугл по теме wtware всегда ведет сюда.
Даже так спрошу. usbip в wtware еще есть, или его уже убрали? на данный момент использую 5.8.80

aka
Разработчик
Разработчик
Сообщения: 10443
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение aka »

LittleBomba писал(а):
Чт янв 23, 2020 6:45 am
usbip вообще не вариант?
Вообще не вариант. Виндовый драйвер была довольно сырой, и его перестали писать в 2011 году. В линуксовой части вносили изменения в протокол. Т.е. даже на старых серверах, на которые встаёт срарый виндовый драйвер usbip, он не договорится с современной линуксовой.

А ещё майкрософты сейчас сильно усложнили правила игры для драйверов. Чтобы драйвер встал на сервер, нужна расширенная подпись, это дорого и долго...
LittleBomba писал(а):
Чт янв 23, 2020 6:45 am
Гугл по теме wtware всегда ведет сюда.
Не гугли по теме wtware. Гугли по теме linux. Надо перенаправить USB с linux на windows.

akaplenko
Сообщения: 124
Зарегистрирован: Пн мар 13, 2017 5:30 pm

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение akaplenko »

Возможно проблему можно решить при помощи железки типа такой: https://www.digi.com/products/networkin ... nywhereusb

У нее свои драйвера и hash ключи мы ими прокидываем на всю сеть. Но надо пробовать с конкретным ключем.

aka
Разработчик
Разработчик
Сообщения: 10443
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: VNC + проброс usb МФУ (сканер+принтер)

Сообщение aka »

В результате работы этой железки сервер будет думать, что ключ физически подключен к серверу. virtualhere делает то же самое, плюс/минус разные глюки от разной кривизны драйверов. Я выше просил физически подключить ключ к серверу, и даже физическое подключение ключа к серверу не помогает.

Ответить