How to identify a device > System (Computer model)
Imagine you want to identify a computer model, but it has no stickers on it ;)
Many people simply use dmidecode as root to query the computer model, however lshal can be run as non-root. If neither tool is available on your system, you can check /sys filesystem.
dmidecode
dmidecode can be used to query the motherboards DMI zone about computer model:
# dmidecode -t 1 # dmidecode 2.9 SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: LENOVO Product Name: 1952W5R Version: ThinkPad T60 Serial Number: 01234566 UUID: 01234567-1234-1234-1234-123456789ABC Wake-up Type: Power Switch SKU Number: Not Specified Family: ThinkPad T60
or some shorter forms
# dmidecode -s system-manufacturer LENOVO # dmidecode -s system-version ThinkPad T60 # dmidecode -s system-product-name 1952W5R
HAL
You can also use hal to read the computer model:
# lshal -u computer -l udi = '/org/freedesktop/Hal/devices/computer' info.addons = {'hald-addon-cpufreq', 'hald-addon-acpi'} (string list) info.bus = 'unknown' (string) info.callouts.add = {'hal-storage-cleanup-all-mountpoints'} (string list) info.capabilities = {'cpufreq_control'} (string list) info.interfaces = {'org.freedesktop.Hal.Device.SystemPowerManagement', 'org.freedesktop.Hal.Device.CPUFreq'} (string list) info.product = 'Computer' (string) info.subsystem = 'unknown' (string) info.udi = '/org/freedesktop/Hal/devices/computer' (string) org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames = {'num_seconds_to_sleep', 'num_seconds_to_sleep', '', '', '', 'enable_power_save'} (string list) org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths = {'hal-system-power-suspend', 'hal-system-power-suspend-hybrid', 'hal-system-power-hibernate', 'hal-system-power-shutdown', 'hal-system-power-reboot', 'hal-system-power-set-power-save'} (string list) org.freedesktop.Hal.Device.SystemPowerManagement.method_names = {'Suspend', 'SuspendHybrid', 'Hibernate', 'Shutdown', 'Reboot', 'SetPowerSave'} (string list) org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures = {'i', 'i', '', '', '', 'i'} (string list) power_management.acpi.linux.version = '20070126' (string) power_management.can_hibernate = true (bool) power_management.can_suspend = true (bool) power_management.can_suspend_hybrid = false (bool) power_management.can_suspend_to_disk = true (bool) power_management.can_suspend_to_ram = true (bool) power_management.is_powersave_set = false (bool) power_management.quirk.s3_bios = true (bool) power_management.quirk.s3_mode = true (bool) power_management.type = 'acpi' (string) smbios.bios.release_date = '04/12/2007' (string) smbios.bios.vendor = 'LENOVO' (string) smbios.bios.version = '79ETD2WW (2.12 )' (string) smbios.chassis.manufacturer = 'LENOVO' (string) smbios.chassis.type = 'Notebook' (string) smbios.system.manufacturer = 'LENOVO' (string) smbios.system.product = '1952W5R' (string) smbios.system.serial = '1234567' (string) smbios.system.uuid = '01234567-1234-1234-1234-123456789ABC' (string) smbios.system.version = 'ThinkPad T60' (string) system.chassis.manufacturer = 'LENOVO' (string) system.chassis.type = 'Notebook' (string) system.firmware.release_date = '04/12/2007' (string) system.firmware.vendor = 'LENOVO' (string) system.firmware.version = '79ETD2WW (2.12 )' (string) system.formfactor = 'laptop' (string) system.hardware.product = '1952W5R' (string) system.hardware.serial = '1234567' (string) system.hardware.uuid = '01234567-1234-1234-1234-123456789ABC' (string) system.hardware.vendor = 'LENOVO' (string) system.hardware.version = 'ThinkPad T60' (string) system.kernel.machine = 'i686' (string) system.kernel.name = 'Linux' (string) system.kernel.version = '2.6.21-2-686' (string) system.product = '1952W5R ThinkPad T60' (string) system.vendor = 'LENOVO' (string)
/sys
Since DebianLenny, the kernel expose some DMI information in the /sys virtual filesystem.
$grep "" /sys/class/dmi/id/[bpc]* /sys/class/dmi/id/bios_date:02/13/2009 /sys/class/dmi/id/bios_vendor:LENOVO /sys/class/dmi/id/bios_version:6FET61WW (2.07 ) /sys/class/dmi/id/board_asset_tag: /sys/class/dmi/id/board_name:2241WR5 grep: /sys/class/dmi/id/board_serial: Permission denied /sys/class/dmi/id/board_vendor:LENOVO /sys/class/dmi/id/board_version:Not Available /sys/class/dmi/id/chassis_asset_tag:No Asset Information grep: /sys/class/dmi/id/chassis_serial: Permission denied /sys/class/dmi/id/chassis_type:10 /sys/class/dmi/id/chassis_vendor:LENOVO /sys/class/dmi/id/chassis_version:Not Available /sys/class/dmi/id/product_name:2241WR5 grep: /sys/class/dmi/id/product_serial: Permission denied grep: /sys/class/dmi/id/product_uuid: Permission denied /sys/class/dmi/id/product_version:ThinkPad T500
BIOS
You can enter the computer's BIOS to get the systems motherboard (on enterprise computer often reveal computer model too).