I've noticed that my machine is missing lshal for some reason. I've tried to install it with sudo apt-get install hal but it did help. What should I do?
3 Answers
lshal is no longer available.
HAL is now deprecated on most Linux distributions, such as parts of Ubuntu with functionality being merged into
udevas of 2008–2010. Previously, HAL was built on top ofudev.
udevadm is your new friend, e.g.
udevadm info --query=all --attribute-walk --name=/dev/sda
gives
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda':
KERNEL=="sda"
SUBSYSTEM=="block"
DRIVER==""
ATTR{ro}=="0"
ATTR{size}=="250069680"
ATTR{stat}==" 57563 3582 2721456 42992 56151 40558 2275840 104352 0 22216 147296"
ATTR{range}=="16"
ATTR{discard_alignment}=="0"
ATTR{events}==""
ATTR{ext_range}=="256"
ATTR{events_poll_msecs}=="-1"
ATTR{alignment_offset}=="0"
ATTR{inflight}==" 0 0"
ATTR{removable}=="0"
ATTR{capability}=="50"
ATTR{events_async}==""
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0':
KERNELS=="0:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{rev}=="2a "
ATTRS{type}=="0"
ATTRS{scsi_level}=="6"
ATTRS{model}=="ADATA SP900 "
ATTRS{state}=="running"
ATTRS{unload_heads}=="0"
ATTRS{queue_type}=="none"
ATTRS{iodone_cnt}=="0x1c943"
ATTRS{iorequest_cnt}=="0x1ca1e"
ATTRS{queue_ramp_up_period}=="120000"
ATTRS{device_busy}=="0"
ATTRS{evt_capacity_change_reported}=="0"
ATTRS{timeout}=="30"
ATTRS{evt_media_change}=="0"
ATTRS{ioerr_cnt}=="0xe4"
ATTRS{queue_depth}=="31"
ATTRS{vendor}=="ATA "
ATTRS{evt_soft_threshold_reached}=="0"
ATTRS{device_blocked}=="0"
ATTRS{evt_mode_parameter_change_reported}=="0"
ATTRS{evt_lun_change_reported}=="0"
ATTRS{evt_inquiry_change_reported}=="0"
ATTRS{iocounterbits}=="32"
ATTRS{vpd_pg80}==""
ATTRS{vpd_pg83}==""
ATTRS{eh_timeout}=="10"
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0':
KERNELS=="target0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/host0':
KERNELS=="host0"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1':
KERNELS=="ata1"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1f.2':
KERNELS=="0000:00:1f.2"
SUBSYSTEMS=="pci"
DRIVERS=="ahci"
ATTRS{irq}=="25"
ATTRS{subsystem_vendor}=="0x1028"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x010400"
ATTRS{driver_override}=="(null)"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{dma_mask_bits}=="64"
ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003"
ATTRS{device}=="0x2822"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{local_cpulist}=="0-1"
ATTRS{vendor}=="0x8086"
ATTRS{subsystem_device}=="0x020d"
ATTRS{numa_node}=="-1"
ATTRS{d3cold_allowed}=="1"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
- 89,123
- 21
- 245
- 323
-
I was required to see what `lshal` gives for `system.hardware.product`. – thedp Sep 19 '15 at 16:52
HAL is long deprecated by most of Linux Distros (since 4 years at least now), due to the fact that
it has become a large monolithic unmaintainable mess, and also duplicates a lot of functionality which are nowadays provided by udev and the kernel itself.
I would strongly suggest to you that you find a modern way to do what you intent to do, instead of trying to use an old software that will probably break your system.
- 6,596
- 2
- 39
- 113
-
-
1Well, you should say to this person that he/she has to update him/herself, because that command is neither a good suggestion nor a useful one anymore. – dadexix86 Sep 19 '15 at 16:59
-
Sadly, this value is used by pm-action to identify and set quirks on the display. – thedp Sep 19 '15 at 20:06
-
Don't know who told you that, but definitely not anymore. The latest `pm-utils` version that used HAL [was 1.2.7](http://pm-utils.freedesktop.org/wiki/), and it is loooong gone (was released in 2009!). You do not need HAL on your system to use pm-actions. It may also happen that they create conflicts. Pay close attention to what your are doing, becasue when dealing with these things you risk to break the hardware ;) – dadexix86 Sep 20 '15 at 07:04
You can install HAL from the PPA.
sudo add-apt-repository ppa:mjblenner/ppa-hal
sudo apt-get update
sudo apt-get install hal
- 32,243
- 10
- 87
- 98
-
Works. I just needed this to get a single value for something and this did the trick. Thank you. – thedp Sep 19 '15 at 16:49
-
1