Как отключить устройство linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Системное администрирование и мониторинг 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, так как именно оно отвечает за первую шину.

Читайте также:  Overlord raising hell windows 10

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

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

Источник

Как отключить устройство в Linux Debian (Wheezy)

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

Я только что установил Linux Debian Wheezy на свой рабочий стол, так как я очень любил Squeeze. Однако я столкнулся с проблемой, когда ядро после случайного времени перестает отвечать на IRQ 16 и замедляет работу всей машины до такой степени, что она становится непригодной для использования.

Поиск в Google показывает кучу людей из всех видов дистрибутивов и ядер с одной и той же проблемой, но без решения. Я проверил /proc/interrupts и обнаружил, что моя видеокарта и сетевая карта используют один и тот же IRQ, и решил переместить видеокарту в новый слот, что очень помогло. Однако проблема все еще существует, только теперь она вызывает только проблемы с моим гигабитным сетевым адаптером Intel, что приводит к снижению производительности. Поскольку у меня есть две сетевые карты на этой машине / материнской плате, я хочу попытаться отключить этот сетевой адаптер и использовать другой, чтобы посмотреть, решит ли это проблему.

Как я могу это сделать?

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

Обратите внимание, что до того, как я переместил видеокарту, IRQ 16 был разделен только между драйверами eth0 и nouveau.

Информация о ядре.

Соответствующие logdata из /var/log/messages . Это было до того, как я изменил расположение видеокарты.

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

Если потребуется дополнительная информация, сообщите мне, и я предоставлю ее, как только у меня появится обновление здесь. Заранее спасибо, что нашли время, чтобы помочь.

Источник

Добавление и удаление на ходу SATA/SCSI устройств

Современный Linux (2.6+) может обнаруживать новоподключенные устройства (на шинах, которые поддерживают hotplug). Их можно, так же отключать, предварительно отмонтировав файловые системы и сделав sync. Среди hotplug шин не только USB, но и SATA, SCSI и SAS (в теории, это же применимо и к PATA, но там много глупых контроллеров, которые не умеют адекватно реагировать на исчезновение устройства).

Отключать их лучше не дёргая на ходу физическое устройство, а сказав ядру полностью забыть про про него (гарантируя тем самым, что никаких операций ввода-вывода с устройством производиться не будет, даже если вспохватившийся кеш). Кроме того, иногда нужно выполнять эмуляцию процедуры plug-unplug без физического дёргания питания/шины данных (что не очень хорошо для железа). Самая типичная ситуация — это отладка скриптов udev.

Читайте также:  Функция dvr windows 10

Удаление устройства

(x — буква устройства, sda, sdb, etc).

Эта команда удаляет указанное устройство. Заметим, это низкоуровневая команда, которая не проверяет кеш и статус примонтированности, так что лучше сначала сказать umount & sync.

К сожалению, я не знаю метода совместить выключение шпинделя диска с его удалением с точки зрения ядра. Шпиндель можно отключить командой scsi-spin, однако, при попытке удалить устройство, оно будет раскручено заново и удалено. А у удалённого устройства уже нельзя ничего останавливать (нет устройства). Так что эта часть проблемы пока не решена.

Добавление устройства

Мы не можем «добавить» устройство, мы можем отдать контроллеру команду «перечитать» список устройств, подключенных к тому или иному порту. Если там найдётся что-то интересное, ядру дадут знать.

X — номер шины, совпадает с номером SATA порта на материнской плате. Если не знаете, можете смело делать для всех хостов по очереди, ничего, кроме небольшого лага в дисковых операциях, незаметного для софта и файловой системы, это не даст.

Обратите внимание, host’ы нумеруются с 0, а не с 1. (а в dmesg ata устройства нумеруются с 1).

Так же осуществляется и сканирование USB-SATA переходников (usb-боксов и внешних винчестеров — они просто фигурируют как ещё один scsi_host).

Если мы говорим про SCSI, то вместо «- — -» можно указать точный номер устройства/шины/LUN’а сканируемого устройства (например, «200 1 2»). SATA, в силу архитектурных особенностей (один target для одного initiator) принимает туда только «0 0 0».

Ещё об удалении… Если вы не знаете буквы устройства, но знаете его физическое место подключения, то удалять можно «прямым текстом», записью «1» в «/sys/bus/scsi/devices/targetX:0:0/X:0:0:0/delete».

Источник

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

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

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

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

в ядре отключить 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

Читайте также:  Скорость linux или windows

в файл прописать 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’. Хотя неуверен, что мышка с клавой будут работать.

Источник

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