Linux отключение usb порта

Включите / выключите USB порты

Можно ли включить / выключить определенный порт USB с помощью терминала в Ubuntu?

lsusb отображает следующий результат

Seagate — мой внешний жесткий диск. Могу ли я выключить его в терминале? Я попробовал https://stackoverflow.com/questions/4702216/controlling-a-usb-power-supply-on-off-with-linux. Но запутался, что надо заменить вместо usbX

4 ответа

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

Используйте команду «тройник».

применит права root к команде «tee», которая запишет 0 в указанный файл, заменив все, что есть в данный момент. Чтобы добавить, используйте команду tee с опцией -a.

для получения информации см. справочную страницу tee

Все предыдущие ответы говорят о механизме приостановки USB, то есть о «логическом отключении питания», они никогда не будут физически отключать VBUS +5V от порта USB.

Только несколько концентраторов могут на самом деле сократить VBUS, как описано здесь.

Инструмент hubpower может это сделать (если концентратор поддерживает его).

На самом деле usbX ничего кроме USB номера портов где X обозначает число как 1 или же 2 и так далее. Например usb1 а также usb2 для портов 1 и 2. Как правило, ноутбук может иметь 3 или 4 порта USB с USB 2.0 а также USB 3.0 порты.

В убунты usb1 , usb2 . usbX ссылки на /sys/devices/pci000:00/* , Чтобы понять это хорошо, запустите эту команду:

Так что включите / отключите порты USB usbX будет заменен на usb1 когда вы хотите включить / отключить USB Port Number 1 (или обратитесь StackExchange ):

Спасибо Стефану Денчеву, который рассказал, как правильно выводить текст в файл, используя sudo. (Проверьте его комментарий также.) Вы не должны получить permission denied сообщение сейчас.

После просмотра вашего lsusb результат выглядит так, что ваш Seagate устройство подключено к Port No. 2 так что вам нужно отключить usb2 тогда команды будут:

Надеюсь, что это работает, и теперь вы можете понять.

Источник

Системное администрирование и мониторинг Linux/Windows серверов и видео CDN

Статьи по настройке и администрированию Windows/Linux систем

  • Полезное
    • Карта сайта
    • Мой сайт-визитка
  • Рубрики
    • Linux
      • VoIP
      • Безопасность
      • Видеопотоки
      • Системы виртуализации
      • Системы мониторинга
    • Windows
    • Интересное
    • Сеть и Интернет
  • Мета
    • Войти
    • RSS Feed

Включение/выключение питания USB устройств из консоли

Иногда бывают ситуации, когда нужно отключить USB флешку, сделать настройку какой-то программы и потом опять подключить для нормальной работы. Но что делать если эти действия нужно сделать на удаленном сервере, к которому у нас нет физического доступа. Можно обратиться в службу поддержки, но можно и сделать все своими силами «не отходя от кассы». Расскажу как это делается.

Допустим, наша флешка уже втыкнута в USB-порт. Первым делом нужно проверить так ли это.

Как видим, USB-флешка находиться на шине Bus 001. Следовательно нам нужно найти в /sys/bus/usb/devices/ соответствующее USB устройство и выключить питание.

Чтобы копаться в системных устройствах нужны права суперпользователя.

По скольку мы знаем, что наша USB флешка на физической шине с номером 1. Следовательно, нужно отключить питание устройства 1-6, так как именно оно отвечает за первую шину.

Приведенная выше команда, отключит питание устройства на лету. Проверим теперь, так ли это.

Как видим — устройство отключено.
После внесения нужных изменений, подключаем питание USB устройства.

Источник

Отключение и подключение USB-устройства из консоли

Я счастливый обладатель хуаевейого GPRG/UMTS модема. Работает исправно. Однако, порой подвисает и пропадает из /dev/, подключение, соответственно, отваливается. Спасает физическое извлечение и подключение модема.

Читайте также:  Отключение быстрых клавиш windows

Поскольку USB порт на ноуте не бесконечен, интересуюсь: какими командами можно отключить и подключить устройство? Как вариант, включить и выключить питание на USB порте?

Сто раз обсуждалось, ищите по моим комментариям.

Спасибо большое. Мне удалось найти решение.

Однако мне кажется, отсылать грепить три с лишним сотни сообщений в поисках нужного — моветон.

>Я счастливый обладатель хуаевейого GPRG/UMTS модема.

Обсуждалось уже, ЕМНИП.

Не стесняйтесь, вы всё верно прочитали.

> Спасибо большое. Мне удалось найти решение

Если не трудно, добавь в LOR Wiki пожалуйста. Или дай прямую ссылку, сам добавлю

>>Спасибо большое. Мне удалось найти решение.

Ну так опубликуй его здесь, чего ты ждешь-то?

Все решения принято публиковать, береги время других.

Если честно, скрипт исправно включает и выключает питание на устройстве. Однако выводит модем из ступора в среднем через раз, что опечаливает.

Может это связано с тем, что он лишь отключает питание, а сигнал остается?

Ведь есть же устройства, которым питание USB не нужно, но тем не менее есть реакция на plug-unplug.

Может, специалисты подскажут, нельзя ли скриптово эмулировать переподключение всех четырех контактов (если это вообще может отличаться от переподключения одного лишь питания).

Если не трудно, добавь в LOR Wiki пожалуйста.

Нет, сигнал тут не при чём. Возможно надо задержку побольше поставить. Пока, тфу-тфу, не зависал и не было возможности поэкспериментировать.

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

Источник

Управление источником питания USB (вкл / выкл) в Linux

Можно ли в Linux включать / выключать источники питания от USB вручную?

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

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

Заметка. Информация в этом ответе относится к более старым ядрам (до 2.6.32). Смотрите ответ tlwhitec для информации о более новых ядрах.

(Вам может понадобиться изменить usb1 на usb n )

Источник: Документация / usb / power-management.txt.gz

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

или, для ядер около 2.6.38 и выше:

Это буквально означает « приостановить работу» в тот момент, когда устройство бездействует.

Так что, если ваш поклонник не является чем-то «интеллектуальным», который можно рассматривать как устройство и которым управляет драйвер, вам вряд ли повезет с нынешними ядрами.

Я нашел эти решения, которые по крайней мере работают для правильно сконфигурированного чипа-концентратора Terminus FE 1.1 USB:

1.Чтобы отключить питание всех портов USB концентратора, вы можете отсоединить концентратор от ядра, используя:

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

2. Переключение питания на каждом порту в отдельности более сложное: я смог использовать hubpower для управления каждым портом — но у него есть и обратная сторона: hubpower сначала отключает usbdevfs, что приводит к отключению всех USB-устройств от системы, по крайней мере, в ubuntu :

С этим ioctl отключенным я смог отключить питание отдельного порта, не отключая все устройства, но питание сразу же включается (вероятно, из-за того, что ядро ​​видит неинициализированное устройство), что заставляет USB-устройство просто выполнить «холодный перезапуск», что я в общем хотел сделать. Мой исправленный Hubpower здесь

Читайте также:  Utorrent plus для windows

PowerTOP от Intel позволяет переключать устройства, такие как USB-периферия, в режиме реального времени. Они называются перестраиваемыми.

  • Перейдите на «Tunables».
  • Прокрутите вниз до вашего устройства.
  • Нажмите Enter, чтобы переключить режим энергосбережения ( хорошо / плохо )

Обратите внимание, что Bad означает, что устройство всегда включено. Переключение на Good выключит устройство по истечении заданного времени неактивного сохранения (по умолчанию 2000 мс).

Посмотрите документы PowerTOP для деталей о том, как сделать эти изменения постоянными.
Он генерирует скрипты конфигурации для вас (в значительной степени, как описано другими авторами в этой теме).

ПРИМЕЧАНИЕ. Эти сценарии не влияют на питание контактов USB (которое всегда включено).
Они только отправляют протокол драйвера для активации и деактивации устройства.

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

Вы можете использовать мой инструмент uhubctl для управления питанием USB на порт для совместимых концентраторов USB.

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

Коротко говоря: я использовал USB-реле для открытия / закрытия V CC другого USB-кабеля .

работает на Ubuntu

Питание USB 5v всегда включено (даже когда компьютер выключен, на некоторых компьютерах и на некоторых портах.) Вам, вероятно, потребуется запрограммировать Arduino с помощью какого-либо коммутатора и управлять им через библиотеку последовательного интерфейса от USB, подключенного к компьютер.

Другими словами, комбинация этого учебного руководства и этого учебного пособия по связи через последовательную библиотеку с Arduino подключена через USB.

Причина , почему люди размещать такие вопросы, как это связано с dreaded- в самом деле « ЗЛО „- USB Auto-Приостановить“ функция ».

Автоматическая приостановка отключает питание «незанятого» USB-устройства, и если драйвер устройства не поддерживает эту функцию правильно, устройство может стать недоступным. Таким образом, включение / выключение USB-порта является симптомом проблемы, а не самой проблемой.

Я покажу вам, как ГЛОБАЛЬНО отключить авто-приостановку, избавляя от необходимости вручную включать и выключать порты USB:

Короткий ответ:

Вам НЕ нужно редактировать « autosuspend_delay_ms » по отдельности: USB autosuspend можно отключить глобально и ПРОСТО, используя следующие команды:

В конце «Длинного ответа» следует скриншот из Ubuntu 18.04, показывающий, как были достигнуты мои результаты.

Длинный ответ:

Это правда, что в документации по ядру управления питанием USB указано, что autosuspend не рекомендуется использовать и вместо нее используется autosuspend_delay_ms, которая используется для отключения autosuspend USB:

ОДНАКО мое тестирование показало, что настройка usbcore.autosuspend=-1 в / etc / default / grub, как показано ниже, может использоваться в качестве GLOBAL- переключателя для функции автоподключения USB — вам НЕ нужно редактировать отдельные файлы » autosuspend_delay_ms «.

В том же документе, ссылка на который приведена выше, указано, что значение «0» ВКЛЮЧЕНО, а отрицательное значение ОТКЛЮЧЕНО :

На аннотированном скриншоте Ubuntu 18.04 ниже, иллюстрирующем, как мои результаты были достигнуты (и воспроизводимы), пожалуйста, отметьте, что по умолчанию «0» ( включено ) в autosuspend_delay_ms .

Затем обратите внимание, что после ТОЛЬКО настройки usbcore.autosuspend=-1 в Grub, эти значения теперь отрицательны ( отключены ) после перезагрузки. Это избавит меня от необходимости редактировать отдельные значения и теперь может отключить автоматическое отключение USB.

Надеюсь, что это делает отключение USB-автоподвески немного проще и удобнее для написания сценариев.

Источник

Как отключить порты USB, кроме клавиатуры и мыши?

Добрый день! Подскажите пожалуйста, как на компьютере с Linux отключить все USB порты, так, чтобы в них не было возможности вставлять съемные накопители и флешки, но можно было бы подключать клавиатуру и мышь?

Удалить все udev правила usb кроме мыши и клавиатуры. Но последний раз я копался в udev несколько лет назад и поэтому уже могло там многое поменяться.

в ядре отключить USB Storage, не?

Читайте также:  Arch linux выбрать для

в ядре отключить USB Storage, не?

А если например отключить монтирование дисков, кроме сетевых и локальных, указанных с fstab? Нужно сделать так, чтобы пользователи на предприятии не могли подключать флешки и прочие накопители к компу, но клавиатура и мышь и возможно штрих-сканер работали бы.

blacklist usb_storage >/etc/modprobe.conf.d/666.conf

перекомпиливаешь ядро, Device Drivers -> USB -> USB Storage, USB Storage убрать галочку. либо тут написано http://www.cyberciti.biz/faq/linux-disable-modprobe-loading-of-usb-storage-dr.

или blacklist usb-storage или как там этот модуль зовётся

в иксах отключить определение клав и мышей по идентификатору с identifier keyboard и option ignore on, создав конфиг в /etc/X11/xorg.conf.d/

чорд, я всё перепутал, сорри

У меня есть: /etc/modprobe.d/fbdev-blacklist.conf

Просто добавить в него «blacklist usb-storage»?

можно создать новый файл /etc/modprobe.d/usb-blacklist.conf

в файл прописать blacklist usb_storage сохранить и ребут

В современных DE автомонтированием подключаемых накопителей заведует udisks и consolekit / polkit. Поэтому вам нужно отредактировать политики consolekit / polkit, разрешающие монтирование подключаемых съёмных накопителей. В таком случае автомонтирование средствами udisks происходить не будет, а в случае, если пользователь нажмёт на иконку накопителя в файловом менеджере будет выведен запрос пароля root.

Если же вы используете для автомонтирования правила udev, например набор правил uam, то удалите их.

Можете рассказать поподробнее, как это делается, похоже это именно то, что мне нужно.

В /etc/polkit-1/rules.d/10-disable-mount.rules помещаете:

Это что, жаваскрипт?

Это синтаксис правил polkit.

Сишный это синтаксис.

В данном случае это синтаксис правил polkit, если вы напишете правило без соответствия синтаксису, то оно не будет распознано, без разницы на что синтаксис похож.

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

Ну это проще. Всего то надо отредактировать /etc/group . Дело в том что обращаться к соответствующему демону для монтирования можно только если состоишь в определённой группе. Вроде как fuse, cdrom, floppy.

А нужные скрипты монтирования (сетевая шара или какой то специальный носитель) можно монтировать делегировав соответствующий скрипт через sudo

Отключение usb-storage, в общем случае не поможет.

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

USB-HID (через который работают большинство клав и мышей) тоже довольно навороченный протокол.

Прочитать флешку можно и с помощью libusb (наверняка есть в системе).

В конце концов есть кнопка reset и загрузка с USB (во многих BIOS-ах выбор альтернативной загрузки не отключается).

Ещё /etc/group можно посмотреть на наличие юзера/группы в storage.

Что за дистр-то? А то тут долго голову можно ломать.

Debian 6. Но я уже сделал через /etc/modprobe.d/usb-blacklist.conf, как указал anonymous, и все вроде работает, во всяком случае я попробовал после этого подключить USB флешку и диск, и они не вызвали никакой видимой реакции системы, диски не подмонтировались.

Можно залить разъёмы эпоксидкой или повредить их. Можно в биосе отключить USB, а мышь и клаву использовать через ps/2. В случае hardened ядра в grsec есть возможность при сборке ведра включить опцию типа «не детектировать новые USB-устройства после старта ядра», т.е. с чем забутились, с тем и дальше работаем.

А если при апдейте ядра название модуля поменяется(usb_storage -> usb_mass_storage, например)? А если админ захочет флешку подключить(он, конечно, модуль ручками подгрузит, но голову поломает)? И вообще, слить инфу через USB можно и в обход USB Mass Storage(например, MTP).

Думаю, нужно рубить проблему на корню — не давать пользователю монтировать ФС и работать напрямую с блочными устройствами(dd if=

Но только появилась проблема — если USB-флешка была подключена до перезапуска, то она будет видна в системе и успешно примонтируется.

добавь в параметр ядра ‘nousb’. Хотя неуверен, что мышка с клавой будут работать.

Источник

Оцените статью