5.3. Сбор информации об оборудовании программой dmesg

Проблема
При всех своих достоинствах шина PCI — день вчерашний. Чаще требуется полу чить список всех устройств в системе, не только устройств PCI: это и устройства USB,
и устройства SCSI, конфигурация памяти и даже процессор.
Решение
Воспользуйтесь программой dmesg. Программа выводит список всего оборудова ния, обнаруженного ядром.
Чтобы просмотреть весь вывод dmesg, введите команду
$ dmesg | less
Выходные данные dmesg также можно отфильтровать для поиска конкретных
устройств. Так, следующая команда выводит список всех устройств PCI:
$ dmesg I grep -i usb
Вывод списка устройств ISA:
$ dmesg ] grep -i isa
isapnp: Scanning for PnP cards...
isapnp: SB audio device quirk - increasing port range
isapnp: Card 'SupraExpress 56i Voice'
Определение объема физической памяти в системе:
$ dmesg | grep -i memory
Memory: 256492/262080k available (1467k kernel code. 5204 reserved. 516k data. 96k
i n i t . OK highmem)
Вывод списка устройств IDE, использующих подсистему эмуляции SCSI в яд ре 2.4 и более старых версий:
$ dmesg | grep -i scsi
Kernel command line: root=/dev/hda6 ro hdb=scsi hdc=scsi
ide_setup: hdb=scsi
ide_setup: hdc=scsi
SCSI subsystem driver Revision: 1.00
hdb: attached ide-scsi driver
hdc: attached ide-scsi driver
scsio : SCSI host adapter emulation for IDE ATAPI devices
А вот как выглядят «настоящие», не эмулированные устройства SCST:
$ dmesg | grep -i scsi
SCSI subsystem driver Revision: 1.00
scsiO: Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev. 6.2.8
<Adaptec aic7892 Ultral60 SCSI adapter»
aic7892: Ultral60 Wide Channel A, SCSI Id=7. 32/253 SCBs
...Vendor: IBM-PSG Model:DPSS-336950M M Rev: S9HA
Attached scsi disk sda at scsiO, channel 0. id 0. lun 0
(scsi0:A:0): 160.000MB/S transfers (80.000MHz DT. offset 63. 16bit)
SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB)
Partition check:
sda: sdal sda2sda3 sda4 < sda5 sda6 >
Далее показана информация о камере USB, подключенной к системе, включая
ее местонахождение в файловой системе. Обычно информация об устройстве USB
занимает десяток строк и более:
% dmesg | grep -i usb
. . .
usb.с: registered new d r i v e r ibmcam
icmcam.c: IBM PC Camera USB camera found (model 2. rev. 0x030a)
usbvideo.c: ibmcam on /dev/videoO: canvas=352x240 videosize=352x240
Вывод информации о последовательных портах:
$ dmesg | grep -i tty
ttySOO at 0x03f8 (irq = 4) is a 16550A
Вывод информации о процессоре (или процессорах):
$ dmesg | grep -i cpu
Initializing CPU#0
CPU: LI I Cache: 64K (64 bytes/line). D cache 64K (64 bytes/line)
CPU: L2 Cache: 64K (64 bytes/line)
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0183f9ff clc7f9ff 00000000 00000000
CPU: Common caps: 0183f9ff clc7f9ff 00000000 00000000
CPU: AMD Duron(tm) Processor stepping 01
Обратите внимание: при поиске возвращаются только те строки, в которых при сутствует искомая подстрока. Часто дополнительная информация содержится
в соседних строках и находится прямым просмотром файла:
Initializing CPU#0
Detected 801.446 MHz processor.
Комментарий
Программа dmesg всегда выводит обновленную информацию даже при частой смене
оборудования (например, при подключении и отключении устройств USB).
См. также
dmesg(8).