Обнаружение подключения нового оборудования к FreeBSD

sed -e:, -e's/^[^,]\{0,6\},/ &/;t,'

Он просто делает небольшой цикл, пока в начале строки не будет по крайней мере 7 незапятых. Однако он вообще ничего не делает, только если там уже есть менее 7 не-запятых, за которыми сразу следует запятая. Поэтому он не влияет на пустые строки или строки, в которых нет запятой, или те, в которых она есть, но уже начинается с 7 или более не-запятых.

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


   7241,11111111111111111111111111111111,\01-data\file1
1237241,22222222222222222222222222222222,\01-data\file2
     41,33333333333333333333333333333333,\01-data\file3
5
13.09.2016, 17:48
5 ответов

Все остальные ответы хороши, если вы хотите только проверить, подключено ли устройство (проверка сообщений ядра с помощью dmesg, проверка в файлах /var/log и использование некоторых инструментов, таких как usbconfig, pciconf или camcontrol).

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

Когда вы подключаете устройство, ядро FreeBSD будет генерировать сообщения:

  • когда вы подключаете устройство, генерируется сообщение attach
  • когда вы отключаете устройство, генерируется сообщение detach
  • и многое другое (смотрите devd.conf man page, если вам нужно больше информации).

FreeBSD использует devd по умолчанию, и его конфигурация хранится в /etc/devd/ и /etc/devd.conf. Если вы используете linux, те же функции существуют в devfs и udev.

Вы можете найти некоторые примеры в /usr/share/examples/etc/devd.conf.

5
27.01.2020, 20:34

Команда lshal предоставит вам информацию об оборудовании DMI / SMBIOS ( dmidecode под Linux)

Вы можете указать подключенное USB-устройство через:

camcontrol devlist 

или:

usbconfig

Чтобы перечислить pci устройства:

pciconf -l

Также вы можете использовать команду lsusb в FreeBSD после установки usbutils пакет:

pkg install usbutils
1
27.01.2020, 20:34

Вы всегда найдете информацию о новых подключенных устройствах в dmesg и /var/log/messages.

Для bluetooth вы можете проверить с помощью: hcitool dev

Для usb устройств попробуйте lsusb (-v).

Другие полезные команды: lshw (-short), hwinfo (--short) (если установлена), lspci (-v), lsblk, df -h, fdisk -l, multipath -ll, mount, dmidecode, cat /proc/scsi/scsi, hdparm -i /dev/sda. Существует множество вариаций этих команд в зависимости от ваших потребностей.

1
27.01.2020, 20:34

dmesg | grep -i USB предоставит вам список подключенных

для получения информации об устройствах USB. usbconfig может помочь попробовать.

или

pciconf -lv pciconf диагностическая утилита для шины PCI

2
27.01.2020, 20:34

Вы можете вывести журнал ядра с помощью dmesg . Полный журнал находится в / var / log / messages . Там вы найдете информацию об обнаружении или исчезновении новых устройств, а также записи журнала о некоторых других действиях.

Если вы хотите интегрировать скрипты или программы, вы можете взглянуть на /etc/devd.conf ( справочная страница ). Это текстовый файл, содержащий правила с выражениями соответствия и действиями. Таким образом вы можете загружать модули и выполнять двоичные файлы / сценарии при регистрации устройств.

1
27.01.2020, 20:34

Теги

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