Использование OpenWRT роутера как шлюза USB-over-IP
В этой статье мы рассмотрим применение бесполезно валяющегося у меня роутера Asus RT-AC51U как шлюза USB-over-IP
Часть 1. Настройка роутера.
Как прошить роутер на OpenWRT вы найдёте сами, статья не про это.
Переходим в System -> Software и нажимаем «Update lists»
После чего в поле «Filter» вводим «usbip»
Устанавливаем client и server, всё остальное должно подтянуться зависимостями. На всякий случай оставлю скриншот как должно быть.
Подключаемся через ssh к роутеру и вводим:
usbip list -l
Получаем вывод устройств, которые подключены к роутеру:
Запускаем демон и пробрасываем нужное устройство командами
usbipd -D
usbip bind -b [busid нужного устройства]
Busid — две циферки через тире, в моем случае это 1-1, и мне надо написать
usbip bind -b 1-1
Чтобы каждый раз при запуске роутера нужное устройство пробрасывалось, пишем в /etc/rc.local следующее:
usbipd -D &
sleep 1
usbip bind -b [busid вашего устройства]
Чтобы оно выглядело так:
Чтобы удостовериться что все работает, вводим:
netstat -alpt | grep usbip
И мы должны получить примерно следующий вывод:
Как видим, usbipd запущен и работает, а значит переходим к клиенту.
Часть 2. Настройка клиента.
Скачиваем клиент с этой страницы или отсюда
Распаковываем архив и устанавливаем сертификат usbip_test.pfx (пароль: usbip) следующим образом:
Локальный компьютер -> доверенные корневые центры сертификации
Локальный компьютер -> доверенные издатели
Открываем командную строку от имени администратора и вводим это:
bcdedit /set testsigning on
Перезагружаем систему
Если вы увидели справа внизу надпись «тестовый режим», значит вы всё сделали правильно
Перемещаем папку с usbip в удобное место, я сделаю это в корень диска C, и открываем командную строку или PowerShell (отличие PowerShell от командной строки в том что перед именем исполняемого файла надо будет постоянно писать .\).
Вводим это:
usbip.exe install
И мы должны получить это:
После чего вводим
usbip.exe list -r [ip адрес вашего шлюза]
И мы должны получить список устройств которые можем присоединить (карту захвата в процессе написания я поменял)
Если всё нормально, то вводим следующую команду:
usbip.exe attach -r [ip адрес сервера usbip] -b [busid нужного устройства]
После чего вывод должен быть таким:
Ну и конечно же мы сразу видим это:
Тестируем наше устройство:
Всё готово и работает, вы великолепны!
На этом всё, если статья вам понравилась или помогла, то поделитесь ею или поддержите меня материально. Можно и то и то 🙂