在 FreeBSD 上查找新硬件何时连接

在 FreeBSD 上查找新硬件何时连接

我怎样才能知道设备何时连接到我的 FreeBSD 机器?假设我插入了 USB 设备、HDMI 设备、蓝牙或类似设备。

我可以有一个控制台输出来显示 [device] 并提供有关该设备的一些输出吗?

答案1

如果您只想检查设备是否已连接(使用 检查内核消息dmesg、签入/var/log文件并使用一些工具(如usbconfigpciconfcamcontrol)),那么所有其他答案都很好。

但是,如果您想要更多(在插入设备时处理消息并执行程序或类似的操作),您可以使用开发者

当您连接设备时,FreeBSD 内核将生成消息:

  • 当您插入设备时,attach会生成一条消息
  • 当您拔下设备时,detach会生成一条消息
  • 等等(devd.conf如果您需要更多信息,请参阅手册页)。

FreeBSDdevd默认使用,其配置存储在/etc/devd/和中/etc/devd.conf。如果您使用 Linux,则devfs和 也具有相同的功能udev

您可以在 中找到一些示例/usr/share/examples/etc/devd.conf

答案2

lshal命令将为您提供 DMI/SMBIOS 硬件信息(dmidecode在 Linux 下)

您可以通过以下方式列出已连接的 USB 设备:

camcontrol devlist 

或者 :

usbconfig

列出pci设备:

pciconf -l

安装完软件包后,您也可以lsusb在 FreeBSD 下使用命令usbutils

pkg install usbutils

答案3

dmesg | grep -i USB将为您提供已连接的列表

获取有关 USB 设备的信息。usbconfig可以帮忙尝试一下。

或者

pciconf -lvPCI 总线的 pciconf 诊断实用程序

答案4

您始终可以在 dmesg 和 /var/log/messages 中找到有关新连接设备的信息。

对于蓝牙,您可以检查: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。根据您的需要,这些命令有多种变体。

相关内容