---
name: "hal-disable-polling"
section: "1"
platform: "linux"
package: "hal"
version: "0.5.14-8"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/hal-disable-polling"
---

# hal-disable-polling(1)

disable polling on drives with removable media

## NAME

hal-disable-polling - disable polling on drives with removable media

## SYNOPSIS

**hal-disable-polling** \[options\]

## DESCRIPTION

*hal-disable-polling* can be used to to disable and enable media detection on drives with removable storage. For more information about both the big picture and specific **HAL** properties, refer to the *HAL spec* which can be found in */usr/share/doc/hal-doc/spec/hal-spec.html* depending on the distribution.

## OPTIONS

The following options are supported:

- *--udi*

  The UDI (*Unique Device Identifier*) of the device object.

- *--device*

  The device file of the drive.

- *--enable-polling*

  Enable polling instead of disabling it.

- *--help*

  Print out usage.

- *--version*

  Print the version.

## NOTES

This program requires super user privileges.

## RETURN VALUE

If the requested operation was successful, this program will exit with exit code 0.

## HISTORY

Polling a storage drive is a necessary evil to detect when the user inserts or removes media. Human computer interaction studies have shown that a broad class of users expect their system to react within a few seconds of this. Thus, the *hald* daemon polls through the  *hald-addon-storage* addon (one instance for each drive with removable media).

The purpose of the  *hald-addon-storage* addon is simply to open the special device file at a regular interval (either every 2 or every 16 seconds) to check for new media. This program tries to open the device file using the **O\_EXCL** option which means that programs like [*cdrecord*(1)](/cdrecord/1.md) that uses **O\_EXCL** automatically prevents the  *hald-addon-storage* for interferring by continously opening the device file. In addition, if the drive is locked using HAL (see [*hal-lock*(1)](/hal-lock/1.md)) the addon also stops polling.

Unfortunately, polling a storage drive can have adverse side effects if the hardware and/or device driver for the hardware is malfunctioning. Additionally, the operating system kernel itself may offer multiple interfaces for the same device (e.g. */dev/sg0* and */dev/scd0*) so even **O\_EXCL** won't work. Also, polling a drive may decrease throughput in certain (odd and/or broken) configurations; for example, if two IDE drives shares the same host (master/slave), bus traffic and contention caused by polling e.g. the optical drive (slave) can reduce throughput to the hard disk (master) and/or interfere with CD burning on another optical drive (master). Finally, polling a drive incurs an overhead both in the host system (processes get woken up often, preventing the CPU to stay in a deep power saving states) and it may prevent the actual drive from reaching deep power states as well. As a result, more power is consumed and this affects battery life for laptops.

Despite the existence of support for asynchronous media change notification in recent MMC (Multi-Media Commands) specifications, virtually no optical drives are compliant with the specification. Fortunately newer SATA ATAPI hardware seems to support Asynchronous Notification (AN) and at this time of writing (March 2007) work is underway to make both the *Linux* operating system kernel and *HAL* take advantage of this.

It is the position of the *HAL* team that polling should be avoided at all costs as long as it doesn't heavily impact the user experience in a negative way. This tool is provided as a stop-gap measure to use if a system is rendered useless due to bugs in drivers and/or hardware that is provoked by HAL polling the drive. If such a bug is encountered it should be reported (see the **BUGS** section below) so it can be fixed - historically **hald** have triggered a number of bugs in  *Linux* storage drivers and related subsystems (such as USB) that have later been fixed.

## BUGS

Please send bug reports to either the distribution or the HAL mailing list, see  *http://lists.freedesktop.org/mailman/listinfo/hal* on how to subscribe.

## SEE ALSO

[*hald*(8)](/hald/8.md), [*lshal*(1)](/lshal/1.md), [*hal-lock*(1)](/hal-lock/1.md), [*open*(2)](/open/2.md), *http://www.t10.org/scsi-3.htm*, *https://bugzilla.redhat.com/bugzilla/show\_bug.cgi?id=halpolling*

## AUTHOR

Written by David Zeuthen \<david@fubar.dk\> with a lot of help from many others.
