Постоянно отключите неправильно функционирующие USB-порты в Linux

/usr/local/etc редко используется в мире Linux. Но решение, сохранить ли конфигурационные файлы в /etc, /usr/local/etc или некоторое другое местоположение обычно делается во время компиляции (и часто может переопределяться через параметр командной строки или переменную среды). Действительно не имеет значения, что значение по умолчанию при компиляции просто удостоверьтесь, что легко установить (обычно опция к --sysconfdir, после autoconf). Если Ваш демон будет упакован для распределения, то исполняемый файл войдет /usr/sbin (значение по умолчанию, когда здание из источника должно быть /usr/local/sbin) и конфигурация под /etc.

Отметьте это /etc не место для “большого количества данных приложения”. Это входит /var. Значение по умолчанию, когда здание из источника могло быть /var/local/mydaemon или /var/lib/mydaemon; снова нет никакой сильной конвенции так или иначе для значения по умолчанию при создании из источника. Должен быть способ изменить обоих значение по умолчанию времени компиляции (обычно с configure --localstatedir) и значение по умолчанию во время выполнения (с установкой в конфигурационном файле, возможно с параметром командной строки или переменной среды).

6
19.04.2017, 15:40
2 ответа

Вероятно, самый легкий путь через BIOS; много BIOS имеют опцию отключить встроенный USB.

Отключение его в Linux включило бы предотвращение драйвера для контроллера USB от загрузки. Это не работало бы, если чипсет в Вашей материнской плате контроллер USB совпадает с чипсетом в Вашем контроллере USB PCI.

Проведите некоторое исследование на своей материнской плате и узнайте, кто делает контроллер USB на нем. Вы смогли узнавать с простым lspci. Немного больше поиска с помощью Google и/или наблюдения вывода lsmod должен сказать Вам, какой модуль ядра ответственен за него. Можно затем смотреть на это и препятствовать тому, чтобы модуль загрузился.

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

4
27.01.2020, 20:27
  • 1
    Моим встроенным чипсетом является Intel, и микросхема платы PCI ЧЕРЕЗ, я думаю, что метод BIOS будет работать на меня.Спасибо. –  Dhananjaya 13.07.2011, 08:47

Можно выключить питание к USB-порту с

echo suspend >/sys/bus/usb/devices/usb42/power/level
echo disabled >/sys/bus/usb/devices/usb42/power/wakeup

Я не знаю, имеет ли это тот же эффект на аппаратные средства как отключение порта через BIOS или Windows.

4
27.01.2020, 20:27
  • 1
    Linux 3.2.5, говорит WARNING! power/level is deprecated; use power/control instead –  poolie 19.08.2013, 06:57
  • 2
    Это не только сохранится до следующей начальной загрузки? –  Tom Hale 23.11.2017, 07:57
  • 3
    @TomHale Да, конечно. Если Вы хотите сделать это персистентным, необходимо добавить его к сценариям начальной загрузки или к правилу udev. –  Gilles 'SO- stop being evil' 23.11.2017, 14:15

Теги

Похожие вопросы