Проброс USB устройств по сети с помощью USB Network Gate. Новый взгляд на USB-порт: полезные утилиты Для подключения usb устройств к lan

17.07.2023

объявила о начале производства промышленного устройства NETUSB -100 iX , которое позволяет подключать различные USB 2.0 устройства через сеть Ethernet. Как известно, максимальная длина кабеля для подключения USB устройств составляет 5м, использование NETUSB -100 iX позволяет подключать удалённое USB 2.0 оборудование практически на любом расстоянии, в том числе и с беспроводным вариантом, используя WIFI мост с внешней точкой доступа или через роутер.

Подключённое оборудование может работать со всеми компьютерами в данном сегменте сети. При рестарте, если у вас соответствующие настройки, удалённые устройства автоматически подключаются к выбранному компьютеру. Максимальная скорость сети – 1 Гбит/с. NETUSB -100 iX автоматически определяет скорость сети и подключается к ней. Несмотря на то, что устройство имеет только один порт USB 2.0, к нему можно подключить до 4-х приборов, используя любой четырёх портовый USB концентратор (хаб).


Питание осуществляется через разъём с защёлкой, который обеспечивает надёжное соединение и на него можно подавать от 9 до 48 Вольт. В комплекте идёт блок питания 12В 1А.

Пластиковый корпус с возможностью крепления на DIN - рейку, вертикальное или горизонтальное крепление на стену.


Кроме того, устройство может использоваться и в бескорпусном варианте. Для этого достаточно открутить два винта и вынуть плату из корпуса, причем на плате намечены три точки для крепления.

Программное обеспечение полностью совместимо с NETUSB -400 i и, если вы уже используете это устройство в сети и хотите расширить количество USB портов, достаточно подключить новое устройство к вашей сети. Программа автоматически распознает его и оно будет готово к работе буквально через несколько секунд после подключения.

Основные отличия от устройства NETUSB -400 i : только один порт USB 2.0 (с возможностью расширения до 4-х портов с помощью внешнего концентратора, но если вам нужно на каждом порту питание 5В 500 мА, то это должен обеспечивать сам хаб) и пластиковый корпус. Все остальные характеристики практически одинаковы.


Устройство NETUSB -100 iX уже есть на складе, розничная цена составляет 87,4 USD по курсу ЦБ в день выписки счёта +2%.

День добрый!!! Как-то столкнулся с задачей удаленно подключить по RDP электронный ключ ruToken к 1С. Бухгалтерия находится в одном офисе, а сервер с 1С — в другом. Решить задачу помогла программа USB Network Gate, которая позволяет легко подключить одно или несколько удаленных USB-устройств к вашему компьютеру по сети Ethernet (Интернет/LAN/WAN) так, словно они подключены к системе напрямую. Не имеет значения, находитесь ли вы в другой стране или соседнем офисе, вы всегда можете воспользоваться удаленным сканером, принтером, веб-камерой, модемом, USB-донглом и любым другим оборудованием, как будто они подключены непосредственно к вашему ПК.

Программа USB Network Gate приятно удивит не умудренных компьютерными знаниями пользователей простотой своего использования. Достаточно подключить нужное USB-устройство к компьютеру, найти его во вкладке «share local USB devices» и нажать кнопку «share», - устройство станет доступно в локальной сети и интернете. Для соединения через интернет удаленному компьютеру нужно будет предоставить IP-адрес сервера.

На клиентском компьютере, в свою очередь, необходимо выбрать во второй вкладке программы появившееся устройство, а затем получить к нему доступ нажатием кнопки «connect». Если же сервер с подключенным девайсом находится в другой подсети, то его необходимо добавить через пункт «add server».

Заключение

Если вам необходим совместный доступ к накопителю, веб-камере, электронной подписи, дактилоскопическому сканеру, принтеру, МФУ или любому другому поддерживаемому USB-устройству из любой точки мира, то USB Network Gate - простое и качественное решение. Программа имеет пробную 14-дневную версию для тестирования и ознакомления с функционалом. Стоимость лицензионной копии варьируется в зависимости от максимального количества одновременно подключаемых к сети USB-устройств. Есть редакции USB Network Gate под операционные системы Windows, Linux, Mac и Android.

Регулярно возникает задача подключения USB-устройства к удаленному ПК через локальную сеть. Под катом изложена история моих поисков в этом направлении, и путь к готовому решению на базе open-source проекта с описанием заботливо установленных различными людьми на этом пути препятствий, а также способов их обхода.

Часть первая, историческая

Если машина виртуальная - всё это несложно. Функционал проброса USB от хоста в виртуалку появился еще в VMWare 4.1. Но в моём случае ключик защиты, опознающийся как WIBU-KEY, нужно было в разное время подключать к разным машинам, и не только виртуальным.
Первый виток поиска в далеком 2009-м году привел меня к железке под названием TrendNet TU2-NU4
Плюсы:
  • иногда даже работает
Минусы:
  • работает не всегда. Допустим, ключ защиты Guardant Stealth II через неё не заводится, ругаясь ошибкой «устройство не может быть запущено».
  • ПО для управления (читай - монтирования и размонтирования USB-устройств) убого до крайности. Ключи командной строки, автоматизация - не, не слышали. Всё только руками. Кошмар.
  • управляющее ПО ищет саму железку в сети широковещанием, поэтому работает это только в пределах одного broadcast-сегмента сети. Указать IP-адрес железки руками нельзя. Железка в другой подсети? Тогда у вас проблема.
  • разработчики забили на устройство, слать баг-репорты бесполезно.
Второй виток случился во времена уже не столь отдаленные, и привел меня к теме статьи - . Привлекает открытостью, тем более, что ребята из ReactOS подписали им драйвер для Windows, так что теперь даже на x64 всё работает без всяких костылей вроде тестового режима. За что команде ReactOS огромное спасибо! Звучит всё красиво, попробуем пощупать, так ли оно на деле? К сожалению, сам проект тоже подзаброшен, и на поддержку рассчитывать не приходится - но где наша не пропадала, исходник есть, разберемся!

Часть вторая, серверно-линуксовая

Сервер USB/IP, расшаривающий USB-девайсы по сети, может быть поднят только в Linux-based OS. Ну что ж, линукс так линукс, устанавливаем на виртуалку Debian 8 в минимальной конфигурации, стандартное движение руками:

Sudo apt-get update sudo apt-get upgrade sudo apt-get install usbip
Установились. Дальше интернет подсказывает, что нужно бы загрузить модуль usbip, но - здравствуйте, первые грабли. Нет такого модуля. А всё оттого, что большинство руководств в сети относятся к более старой ветке 0.1.x, а в крайней 0.2.0 модули usbip имеют другие названия.

Поэтому:

Sudo modprobe usbip-core sudo modprobe usbip-host sudo lsmod | grep usbip
Ну и добавим в /etc/modules такие строки, чтобы загружать их автоматически при старте системы:

Usbip-core usbip-host vhci-hcd
Запустим сервер usbip:
sudo usbipd -D
Дальше всемирный разум нам подсказывает, что в комплекте с usbip идут скрипты, позволяющие нам управлять сервером - показать, какое устройство он будет расшаривать по сети, посмотреть статус, и так далее. Тут нас поджидает еще один садовый инструмент - эти скрипты в ветке 0.2.x, опять же, переименованы. Получить список команд можно с помощью

Sudo usbip
Почитав описание команд, становится понятно, что для того, чтобы расшарить требуемый USB-девайс, usbip хочет узнать его Bus ID. Уважаемые зрители, на арене грабли номер три: тот Bus ID, который выдаст нам lsusb (казалось бы, самый очевидный путь) - ей не подходит! Дело в том, что железки вроде USB-хабов usbip игнорирует. Поэтому, воспользуемся встроенной командой:

User@usb-server:~$ sudo usbip list -l - busid 1-1 (064f:0bd7) WIBU-Systems AG: BOX/U (064f:0bd7)
Примечание: здесь и далее в листингах я буду всё описывать на примере моего конкретного USB-ключа. Ваши название железки и пара VID:PID могут и будут отличаться. Моя называется Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.

Теперь мы можем расшарить наше устройство:

User@usb-server:~$ sudo usbip bind --busid=1-1 usbip: info: bind device on busid 1-1: complete
Ура, товарищи!

User@usb-server:~$ sudo usbip list -r localhost Exportable USB devices ====================== - localhost 1-1: WIBU-Systems AG: BOX/U (064f:0bd7) : /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-1: Vendor Specific Class / unknown subclass / unknown protocol (ff/00/ff)
Троекратное ура, товарищи! Сервер расшарил железку по сети, и мы можем её подключать! Осталось только дописать автозапуск демона usbip в /etc/rc.local

Usbipd -D

Часть третья, клиентская и запутанная

Подключить расшаренное устройство по сети к машине под управлением Debian я попробовал сразу же на том же сервере, и всё прекрасно подключилось:

Sudo usbip attach --remote=localhost --busid=1-1
Переходим к Windows. В моем случае это был Windows Server 2008R2 Standard Edition. Официальное руководство просит сначала установить драйвер. Процедура прекрасно описана в прилагаемом к windows-клиенту readme, делаем всё как написано, всё получается. На XP тоже работает без каких-либо трудностей.

Распаковав клиент, пробуем примонтировать наш ключик:

C:\Program Files\USB-IP>usbip -a %server-ip% 1-1 usbip err: usbip_network.c: 121 (usbip_recv_op_common) recv op_common, -1 usbip err: usbip_windows.c: 756 (query_interface0) recv op_common usbip err: usbip_windows.c: 829 (attach_device) cannot find device
Ой-ой. Что-то пошло не так. Используем навык гугла. Встречаются отрывочные упоминания, что что-то там не так с константами, в серверной части разработчики при переходе на версию 0.2.0 изменили версию протокола, а вот в клиенте под Win сделать это забыли. Предлагаемое решение - поменяйте константу в исходнике и пересоберите клиент.

Вот только очень мне не хочется качать Visual Studio ради этой процедуры. Зато у меня есть старый-добрый Hiew. В исходнике константа объявлена как двойное слово. Поищем в файле 0х00000106, заменяя на 0х00000111. Не забываем, порядок байт обратный. Итог - два совпадения, патчим:

00000CBC: 06 11 00000E0A: 06 11
Ииии… да!

C:\Program Files\USB-IP>usbip -a %server-ip% 1-1 new usb device attached to usbvbus port 1
На этом можно было бы закончить изложение, но музыка играла недолго. Перезагрузив сервер, я обнаружил, что устройство на клиенте не монтируется!

C:\Program Files\USB-IP>usbip -a %server-ip% 1-1 usbip err: usbip_windows.c: 829 (attach_device) cannot find device
И всё. На это мне не смог ответить даже всезнающий гугл. А при этом команда отобразить доступные на сервере устройства вполне корректно показывает - вот он, ключ, можете монтировать. Пробую примонтировать из-под Linux - работает! А если теперь попробовать из-под Windows? О ужас - это работает!

Грабли последние: что-то там в коде сервера не дописано. При расшаривании устройства он не считывает с него количество USB-дескрипторов. А при монтировании устройства из-под Linux, это поле заполняется. К сожалению, с разработкой под Linux я знаком на уровне «make && make install». Поэтому проблема решена с помощью довольно грязного хака - добавлением в /etc/rc.local

Usbip attach --remote=localhost --busid=1-1 usbip port usbip detach --port=00

Часть заключительная

После некоторых мытарств, это работает. Желаемое получено, теперь ключ можно примонтировать к любому ПК (и размонтировать, конечно же, тоже), в том числе - за пределами широковещательного сегмента сети. Если хочется - можно это сделать с помощью скрипта командной оболочки. Что приятно - удовольствие абсолютно бесплатное.
Надеюсь, что мой опыт поможет хабражителям обойти те грабли, которые отпечатались у меня на лбу. Спасибо за внимание!

Что такое USB по Ethernet? Для начала необходимо определиться с понятиями USB и Ethernet. USB - это универсальная последовательная шина, предназначенная для передачи данных периферийным устройствам. Под Ethernet понимается технология передачи данных, при которой используется физическое подключение оборудования.
Соответственно, USB по Ethernet представляет собой устройство, которое позволяет подключать периферийное USB-оборудование к общей сети. То есть, благодаря этому устройству у пользователя появляется возможность управлять оборудованием через свой персональный компьютер.

Оправдано использование USB по Ethernet в эпоху беспроводных сетей? Вполне. Во-первых, тут нужно сразу сказать про простоту подключения и использования. Для подключения подобного устройства не требуются какие-то узкоспециализированные знания, ко многим моделям имеется бесплатное программное обеспечение. Во-вторых, далеко не всегда есть возможность использовать беспроводную связь. В-третьих, на USB по Ethernet в меньшей степени влияет работа стороннего оборудования, что является важным аспектом безопасности.

Отдельно стоит отметить тот факт, что применение USB по Ethernet позволяет строить достаточно протяженные сети. Предположим, имеется сложный промышленный станок, который находится на почтительном расстоянии от компьютера, с которого осуществляется управление. Для крупных производственных предприятий такой разброс оборудования в порядке вещей. При помощи стандартного USB-кабеля невозможно обеспечить подключение оборудования на значительном расстоянии. А вот USB по Ethernet этот вопрос позволяет качественно решить.

Зачастую USB по Ethernet используется в тех случаях, когда нет возможности подключить дополнительный персональный компьютер. Подобная технология позволяет не только упростить структуру сети, но и помогает оптимизировать финансовые расходы, связанные с созданием эффективной системы управления.
Современные USB по Ethernet представляют собой высокотехнологичные устройства, которые отличаются надежностью и высоким быстродействием. Такие устройства позволяют работать с большими объемами данных. Технология USB по Ethernet получила достаточно широкое распространение: охранные системы, системы связи, банковские сети и так далее. Огромное значение USB по Ethernet уделяется на крупных промышленных предприятиях, где качество взаимодействия различных устройств напрямую влияет на все производственные процессы и циклы.

Что касается совместимости с основными операционными системами, то тут тоже каких-либо проблем возникнуть не должно. USB по Ethernet совместимы с Windows 7 (32/64), Windows 2008 Server (32/64), Windows Vista (32/64), Windows 2003 Server (32/64), Windows XP (32/64).

USB Network Gate — программа, позволяющая пользователям подключать USB устройства, подключенные к другим компьютерам используя каналы IP.

На рынке существуют разные реализации удаленного подключения USB устройств, как аппаратные, так и программные. Некоторые из них требуют от пользователей определенных знаний и навыков, в некоторых случаях настройка может занять много времени. USB Network Gate удивил меня своей простотой. Скачал программу, установил, нажал на кнопку Share и устройство сразу доступно для подключения на удаленной машине с установленным клиентом.

USB Network Gate может оказаться незаменимым например при использовании USB токенов на сервере RDP, программа позволяет настроить монопольный доступ к устройствам для отдельного пользователя удаленного рабочего стола, изолируя его от остальных пользователей. Программу можно так же использовать в виртуальной среде, если по каким то причинам устройство невозможно подключить напрямую. Существуют версии для Windows, Linux (RPM и Deb пакеты), Apple OS X и что особенно интересно, для Android. Теперь о том, как это работает.

Сервер

Программа является одновременно и сервером и клиентом. При запуске по умолчанию показывает все USB устройства, подключенные к компьютеру. Но можно отображать и настраивать общий доступ ко всем портам.

Есть возможность настройки соединения отдельно для каждого устройства или порта, разрешить соединение только для определенного адреса. Для защиты соединения предусмотрена авторизация и шифрование.

Клиент

При использовании USB Network Gate в качестве клиента, приложение сканирует локальную сеть на наличие серверов отображает все доступные для подключения устройства. Если сервер находится в другой подсети, например при соединении через VPN, можно добавить его с помощью кнопки “Add server”. После того, как я открыл доступ к принтеру, он появился в списке доступных для подключения на моем MacBook. Помимо принтера я подключал USB жесткий диск с разделами HFS+, он так же подключился, но разделы монтировались около трех минут, видимо из-за их большого объема.

© wegonnaplay.ru, 2024
Wegonnaplay - Игры каждый день