Ubuntu настройка usb портов

Обновлено: 02.07.2024

Здравствуйте, сегодня я хочу рассказать вам как поставить usbip на сервер с установленной ubuntu 12.04 server.
USBIP(USB over IP) служит для проброса usb устройства по сети, будь то windows или linux клиент. Серверная часть увы только под linux.
Данное решение самый лучший, бесплатный и по моему единственный продукт позволяющий пробрасывать практически любые usb устройства.

1. Установка серверной части USBIP.
Шаги установки/настройки ubuntu 12.04 server я пропущу.
1.1 Для начала требуется обновить систему.

1.2 Добавим репозиторий с usbip. Пакет есть и в стандартном репозитории, но там он оказался не рабочим.

1.3 Установим пакет usbip и включим нужные модули.

1.4 Добавим нужные модули в автозагрузку. Для этого откроем файл /etc/modules в редакторе

и в конец добавим

1.5 Создадим init.d скрипт. Для этого скопируем /etc/init.d/skeleton

Далее отредактируем строки в /etc/init.d/usbip

После этого дадим права файлу

1.6 Добавим init.d скрипт в автозагрузку.

1.7 Пришло время запустить usbip на сервере, для этого запустим команду в консоли

Если команда не выдала ошибок, то все прошло удачно и можно приступать к пробросу usb устройства.

2. Проброс usb устройства.
Для начала нужно разрешить проброс на самом сервере. Для этого выведем список всех usb устройств подключенных к серверу. Введем:

Должно вывести что то похожее

где 1-2 id устройства, (8564:1000) ID устройства.
Для того что бы узнать какие устройства usb у вас подключены введите команду lsusb

Я буду пробрасывать устройство с ID 8564:1000 т.к. это моя usb флешка. Далее вводим команду:

Если вы увидели такой же ответ как и у меня значит все прошло удачно.

Теперь разрешим на файрволе подключаться к usbip демону который занял TCP порт 3240.

Можно подключаться к этому устройству удаленно.

3. Подключение устройства под Windows.
3.1 Установка драйвера.
Для начала вам потребуется скачать драйвера и exe'шник по этой ссылке
Распакуйте архив в папку c:\usbip для удобства. Теперь надо установить универсальный драйвер. Делается это легко(я опишу процесс только для win7 и win2k8r2):
Зайдите в Диспетчер устройств, в верхнем меню выберите Действие > Установить старое устройство
Везде жмите далее пока диспетчер не предложит Установить с диска.
Выбираем данный пункт, жмем обзор и идем в папку c:\usbip, там выбираем USBIPEnum.inf.
Устанавливаем данный драйвер. Переходим к следующему пункту.
3.2 Подключаем устройство.
Любым любимым способом открываем cmd.exe
далее вводим

Должно вывести примерно такое

Теперь приступим к непосредственно к самому подключению

И далее должно начаться подключение нового устройства.

Вот так легко можно пробросить одно usb устройство на другое примерно за 30 минут. В следующий раз я напишу как пробросить usb устройство с linux на linux. Спасибо что прочитали мой пост. Оставляйте в комментариях свои отзывы и предложения.

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

  • AMD FX-8350
  • Gigabyte GA-990FXA-UD3 материнская плата
  • 16 ГБ ОЗУ
  • NVidia GTX 650 Ti
  • Кингстон SSD

Учитывая это, я пытался установить различные версии Linux на SSD и почти каждый раз встречался с ошибкой. Я попытался установить Arch, Debian stable, Debian sid и Ubuntu 12.10 с флэш-накопителя USB, но в то время как BIOS увидел USB-накопитель и начал загружаться с него, как только ОС попыталась перечислить USB-устройства, я потерял все функции USB (включая загрузочное устройство).

В конце концов я записал DVD и установил Ubuntu 12.10 на SSD. Следует отметить, что моя USB-клавиатура (и мышь) отлично работают в то время как в американском Megatrends UEFI / BIOS. Даже когда я в меню предустановки на Live Ubuntu DVD, клавиатура работает нормально.

Как только Linux загружается (Live DVD или SSD), я теряю все функции USB и могу перемещаться по ОС только с клавиатуры PS / 2.

В dmesg / syslog я вижу несколько строк о " failed to load microcode amd_ucode/microcode_amd_fam15h.bin ", и я вижу, что USB-устройства не могут инициализироваться.

Если я это сделаю, lsusb то смогу увидеть все хост-контроллеры USB, но ни одно из устройств. Выполнение lspci показывает мне все оборудование, которое я ожидал. И делать lsmod я не вижу загруженных модулей USB ( usb_ehci например).

Я попытался передать noapic строку загрузки ядра, и это не повлияло на эту проблему.

Материнская плата поддерживает USB 3.0, но все устройства, которые я подключил к обычным портам USB 2.0.

Я довольно озадачен тем, что может убивать / мешать USB (и моей встроенной сетевой карте) работать в Linux . Кажется, нет никаких проблем с любым из этих устройств, работающих в BIOS, и у меня нет доступной установки Windows для тестирования и проверки работоспособности.

Я уже однажды использовал RMA на материнской плате, но вторая имеет точно такое же поведение, так что я думаю, что могу смело исключить аппаратный сбой (поскольку поведение идентично, я не думаю, что странно, что я получил две идентично неисправные платы больше, чем вероятность того, что это проблема Linux).

Что еще я могу попытаться заставить работать USB (и в идеале мою сеть, но пока мы будем придерживаться USB)?

Редактировать № 1:

Поскольку у меня нет сети, я могу рассказать только интересные вещи dmesg отсюда.

Интересно, dmesg что у меня есть 11 хост-контроллеров USB (OHCI, EHCI и xHCI). Он обнаруживает мои USB-устройства, а затем сразу выходит из строя следующим образом:

Я думаю, что мои проблемы с сетью связаны с тем, что у меня не включен IPv6 на моем маршрутизаторе, и это, кажется, проблема

eth1: no IPv6 routers present

Изменить № 2:

lspci -vvv показывает, что мои сетевые адаптеры (как встроенные, так и расширения) являются Realtek Semiconductor (неудивительно); RTL8111 / 8168B и RTL8169 / 8110 соответственно. Мои USB-контроллеры - это Etron Technology EJ168 (xHCI) и AMD ATI SB7x0 / SB8x0 / SB9x0 (EHCI & OHCI)

Сейчас работает в Debian свистящих modprobe показывает usb_common , usbcore , xhci_hcd , ehci_hcd , и ohci_hcd все загружены и функционируют.

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

Но многие пользователи сталкиваются с проблемой что VirtualBox не видит USB. Устройства подключены к системе и точно работают, а в меню подключения их просто нет. В этой статье мы рассмотрим что делать если virtualbox linux не видит usb устройства. Статья рассчитана в первую очередь на Ubuntu, но подойдет также пользователям других дистрибутивов.

Ошибка Virtualbox не видит USB

Чаще всего такая ошибка возникает потому что у пользователя, от имени которого вы запустили VirtualBox нет доступа к необходимым файлам. Это решается очень просто, вам достаточно добавить своего пользователя в группу vboxusers. Для этого выполните команду:

sudo usermod -a -G vboxusers $USER


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

VBoxManage list usbhost

Но это помогает не всегда. Вам также нужно посмотреть включена ли поддержка USB контроллера для виртуальной машины. Для этого откройте контекстное меню для нее и выберите пункт "Настройка", затем перейдите на вкладку "USB":


Тут должна быть установлена галочка напротив "Включить контроллер USB", а также выбран один из доступных интерфейсов. Для поддержки USB 2.0 или USB 3.0 вам необходимо установить Virtualbox Extensions Pack. Это набор проприетарных расширений, которые включают к тому же поддержку этой технологии. Скорее всего, вы уже можете подключить usb virtualbox.

Для этого скачайте файл для вашей версии Virtualbox на официальном сайте. Затем откройте меню "Файл" -> "Настройки" -> "Плагины" и подключите здесь скачанный файл:


В Ubuntu 16.04 это можно сделать проще, достаточно выполнить команду:

sudo apt install virtualbox-ext-pack


Готово, после этого вы можете включить поддержку USB 3.0.


В некоторых дистрибутивах, например, семейства Red Hat, не работает usb в virtualbox, потому что поддержка подключения USB отключена из соображений безопасности. В таком случае вам придется ее включить. Для этого нужно сначала раскомментировать все строки SUBSYSTEM в /etc/udev/rules.d/60-virtualbox.conf. Это можно сделать командой:

Затем скопируйте этот файл в каталог /usr/lib/udev:

И перезагрузите наборы правил:

sudo udevadm control --reload-rules
$ sudo systemctl restart vboxdrv.service

Теперь можете опять проверить все ли еще не видит Virtualbox usb устройства или уже все работает.

Выводы

В этой статье мы рассмотрели что делать если VirtualBox не видит USB Ubuntu или других Linux дистрибутивах. В большинстве случаев проблема решается очень просто. Надеюсь, эта информация была вам полезной.


Вы подключили USB-флеш-накопитель или клавиатуру или мышь к вашему Linux ПК. Но ничего не происходит.

В чем дело? Почему ваш Linux ПК не обнаруживает устройство? Дело в Linux, или ваше USB-устройство перестало работать?

USB не работает в Ubuntu?

Дисководы, устройства чтения карт памяти, телефоны, медиаплееры и периферийные устройства мультимедиа… все они полезны, но если есть проблема с USB-портом или драйверами вашей системы, они не будут работать. Это может быть особенно неприятно, если вы используете клавиатуру Bluetooth или мышь (с USB-ключом), поскольку это означает выкапывание проводных альтернатив USB.

Однако, это может быть не неработающий порт. Возможно, USB-устройство, которое вы используете, имеет неисправность и не может быть обнаружено.

Решение проблем с USB может быть сложной задачей, но эти неисправности не невозможно диагностировать и сделать необходимые исправления.

Для устранения проблем USB в Linux необходимо выполнить пять шагов:

Давайте рассмотрим каждый из них по очереди и научимся работать с хитроумными USB-устройствами в Linux.

1. Ваше устройство обнаружено Linux?

К счастью, это просто.

Запомните результаты, затем подключите USB-устройство и снова запустите lsusb.

На этот раз вы должны увидеть дополнительное устройство, указанное с идентификатором шины, идентификатором устройства, USB-идентификатором и описанием. Если вы не можете определить, что такое дополнительное устройство (у вас может быть внутреннее устройство USB, возможно, Ethernet), попробуйте выполнить другую команду.

Команда dmesg перечислит подключенные USB-устройства в вашей системе. Он также будет включать в себя оборудование, отличное от USB и к сожалению, предоставляет огромный объем информации. Чтобы противостоять этому, вы можете попробовать:

Наконец, вы можете просто положиться на более удобный:

Это похоже на нечто среднее между командами dmesg и lsusb, перечисляя подключенное USB-оборудование с достаточной информацией для их идентификации.

Итак, USB который вы подключили, указан здесь? Если нет, то возможно порт поврежден или возникла проблема с устройством. Точно так же устройство может быть несовместимо с Linux.

2. Как проверить порт USB

Если USB-устройство не отображается, это может быть связано с неисправностью USB-порта.

Лучший способ проверить это, просто использовать другой USB-порт на компьютере. Если оборудование USB теперь обнаружено, то вы знаете, что у вас есть проблема с одним из USB-портов.

Если другой USB-порт недоступен, вам нужно попробовать USB-устройство на другом ПК или ноутбуке. Однако, это может быть не идеальным вариантом, поскольку в качестве альтернативы вы можете использовать компьютер с Windows или macOS и в данном случае, некоторые USB-устройства не могут использоваться в Linux. Так что будет сложно определить, что именно вызывает проблемы, является ли это USB-устройство или USB-порт.

Для достижения наилучших результатов, где это возможно, придерживаться Linux-совместимого оборудования при устранении неполадок USB-устройств.

3. Исправление поврежденного USB-оборудования

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

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

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

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

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

4. Перезагрузка Linux для исправления USB-порта

Так, что вы можете сделать?

Сначала проверьте, является ли причиной проблемы autosuspend. Вы можете сделать это, перезагрузив компьютер. Если USB-устройство работает, то этот USB-порт получает питание.

Откройте окно терминала и введите:

Измените это на:

Нажмите Ctrl + X для сохранения файла и выхода. Далее, обновите grub:

После этого перезапустите Ubuntu.

После перезагрузки войдите в свою учетную запись и снова введите команду cat:

На этот раз возвращаемое значение должно быть -1. Вы отключили autosuspend, поэтому USB-устройства, подключенные к ноутбуку, не должны выходить из строя из-за проблем с питанием.

5. Проверка драйверов USB-устройств на Linux

Когда-то давно USB-устройства не часто работали в Linux. Только устройства, производимые OEM-производителями с интересом к Linux (возможно, они использовали его для разработки), предложили драйвер Linux.

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

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

Устранение неполадок USB на Linux: исправлено!

Благодаря встроенным драйверам и широкой поддержке многих типов USB-устройств легко диагностировать проблемы с USB-оборудованием компьютера.

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

Если вы недавно пришли с Windows, проблемы с USB на Linux могут быть проблемой. К счастью, эти проблемы обычно легко решаются, что облегчает переход на Linux!

Читайте также: