hal: Branch 'master'

Danny Kukawka dkukawka at kemper.freedesktop.org
Thu Oct 23 05:23:43 PDT 2008


 doc/spec/hal-spec-properties.xml | 2371 +++++++++++++++++++--------------------
 1 file changed, 1196 insertions(+), 1175 deletions(-)

New commits:
commit db516fc9f53e987d41ce4530b78a395c8cec6f5d
Author: Danny Kukawka <danny.kukawka at web.de>
Date:   Thu Oct 23 14:21:56 2008 +0200

    reorganise spec: sort 'Subsystem-Specific Properties' alphabetical
    
    Reorganise spec: sort 'Subsystem-Specific Properties' in alphabetical
    order.

diff --git a/doc/spec/hal-spec-properties.xml b/doc/spec/hal-spec-properties.xml
index f950c28..ff8abde 100644
--- a/doc/spec/hal-spec-properties.xml
+++ b/doc/spec/hal-spec-properties.xml
@@ -795,14 +795,16 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
       given a UDI. Knowledge of various subsystem-specific
       technologies is assumed for this section to be useful.
     </para>
-    <sect2 id="device-properties-pci">
+
+    <sect2 id="device-properties-bdi">
       <title>
-        pci namespace
+        bdi namespace
       </title>
       <para>
-        This namespace contains properties for device objects representing
-        functions on devices on a PCI bus. These properties are available
-        exactly when <literal>info.subsystem</literal> equals <literal>pci</literal>.
+	Devices backing a memory (mmap) region, called Backing Device 
+	Information (BDI), are represented by device objects where 
+	<literal>info.subsystem</literal> equals <literal>bdi</literal>. 
+	The following properties are available for such device objects.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -817,117 +819,168 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>pci.device_class</literal> (int)
+                <literal>bdi.id</literal> (int)
               </entry>
-              <entry>example: 3</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>Device Class</entry>
+              <entry>Device identification</entry>
             </row>
             <row>
               <entry>
-                <literal>pci.device_subclass</literal> (int)
+                <literal>bdi.read_ahead_kb</literal> (int)
               </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>PCI Device Sub Class</entry>
+              <entry></entry>
+              <entry>No</entry>
+              <entry>
+		Size of the read-ahead window in kilobytes
+		For more information check the Linux kernel documentation
+	      </entry>
             </row>
             <row>
               <entry>
-                <literal>pci.device_protocol</literal> (int)
+                <literal>bdi.min_ratio</literal> (int)
               </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>Device Protocol</entry>
+              <entry></entry>
+              <entry>No</entry>
+              <entry>
+		The 'min_ratio' parameter contains information about the 
+		minimum percentage of the write-back cache to a particular 
+		device.
+		For more information check the Linux kernel documentation
+	      </entry>
             </row>
             <row>
               <entry>
-                <literal>pci.product_id</literal> (int)
+                <literal>bdi.max_ratio</literal> (int)
               </entry>
-              <entry>example: 0x4c4d</entry>
-              <entry>Yes</entry>
-              <entry>Product ID</entry>
+              <entry></entry>
+              <entry>No</entry>
+              <entry>
+		The 'max_ratio' parameter contains information about the 
+		maximum percentage of the write-back cache a particular 
+		device can use. 
+		For more information check the Linux kernel documentation
+	      </entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-bluetooth_acl">
+      <title>bluetooth_acl namespace</title>
+      <para>
+	Device objects representing Asynchronous Connection-oriented Links.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
             <row>
-              <entry>
-                <literal>pci.vendor_id</literal> (int)
-              </entry>
-              <entry>example: 0x1002</entry>
-              <entry>Yes</entry>
-              <entry>Vendor ID</entry>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
             </row>
+          </thead>
+          <tbody>
             <row>
-              <entry>
-                <literal>pci.subsys_product_id</literal> (int)
-              </entry>
-              <entry>example: 0x009e</entry>
+              <entry><literal>bluetooth_acl.address</literal> (uint64)</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>Subsystem product id</entry>
+              <entry>Address of the device at the other end of the connection.</entry>
             </row>
             <row>
-              <entry>
-                <literal>pci.subsys_vendor_id</literal> (int)
-              </entry>
-              <entry>example: 0x1028</entry>
+              <entry><literal>bluetooth_acl.originating_device</literal> (string)</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>Subsystem vendor id</entry>
+              <entry>The UDI of the Bluetooth HCI (of
+              capability <literal>bluetooth_hci</literal>) that the
+              connection is made through.
+              </entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-bluetooth_hci">
+      <title>bluetooth_hci namespace</title>
+      <para>
+	Device objects representing a Bluetooth Host Controller Interface.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
             <row>
-              <entry>
-                <literal>pci.linux.sysfs_path</literal> (string)
-              </entry>
-              <entry>example: /sys/devices/pci0000:00/0000:00:01/0000:01:00.0</entry>
-              <entry>Yes (only on Linux)</entry>
-              <entry>
-                Equals <literal>linux.sysfs_path</literal>
-              </entry>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
             </row>
+          </thead>
+          <tbody>
             <row>
-              <entry>
-                <literal>pci.product</literal> (string)
-              </entry>
-              <entry>Rage Mobility P/M AGP 2x</entry>
-              <entry>No</entry>
-              <entry>Name of the product per the PCI database</entry>
+              <entry><literal>bluetooth_hci.address</literal> (uint64)</entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>Address of the host controller interface.</entry>
             </row>
             <row>
-              <entry>
-                <literal>pci.vendor</literal> (string)
-              </entry>
-              <entry>ATI Technologies Inc</entry>
-              <entry>No</entry>
-              <entry>Name of the vendor per the PCI database</entry>
+              <entry><literal>bluetooth_hci.originating_device</literal> (string)</entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>The UDI of the physical device (e.g. an USB interface) that provides the HCI hardware.</entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-bluetooth_sco">
+      <title>bluetooth_sco namespace</title>
+      <para>
+	Device objects representing Synchronous Connection-Oriented links.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
             <row>
-              <entry>
-                <literal>pci.subsys_product</literal> (string)
-              </entry>
-              <entry>Inspiron 7500</entry>
-              <entry>No</entry>
-              <entry>Name of the subsystem product per the PCI database</entry>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
             </row>
+          </thead>
+          <tbody>
             <row>
-              <entry>
-                <literal>pci.subsys_vendor</literal> (string)
+              <entry><literal>bluetooth_sco.address</literal> (uint64)</entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>Address of the device at the other end of the connection.</entry>
+            </row>
+            <row>
+              <entry><literal>bluetooth_sco.originating_device</literal> (string)</entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>The UDI of the Bluetooth HCI (of
+              capability <literal>bluetooth_hci</literal>) that the
+              connection is made through.
               </entry>
-              <entry>Dell Computer Corporation</entry>
-              <entry>No</entry>
-              <entry>Name of the subsystem vendor per the PCI database</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-      <para>
-        (FIXME: Some key PCI information (bus, slot, port, function
-        etc.) is missing here)
-      </para>
     </sect2>
-    <sect2 id="device-properties-serialif">
+
+    <sect2 id="device-properties-block">
       <title>
-        serial namespace
+        block namespace
       </title>
       <para>
-        Device objects that represent serial devices (e.g. /dev/ttyS* or
-        /dev/ttyUSB*).
+        Device objects representing addressable block devices, such as
+        drives and partitions, will have <literal>info.subsystem</literal>
+        set to <literal>block</literal> and will export a number of
+        properties in the <literal>block</literal> namespace.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -942,52 +995,91 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>serial.originating_device</literal> (string)
+                <literal>block.device</literal> (string)
               </entry>
+              <entry>example: /dev/sda </entry>
+              <entry>Yes</entry>
+              <entry>Special device file to interact with the block device</entry>
+            </row>
+            <row>
               <entry>
-                example: <literal>/org/freedesktop/Hal/devices/pnp_PNP0501</literal>
+                <literal>block.major</literal> (int)
               </entry>
+              <entry>example: 8</entry>
               <entry>Yes</entry>
-              <entry>UDI of the device the serial device is bound to.</entry>
+              <entry>Major number of special file to interact with the
+                device
+              </entry>
             </row>
             <row>
               <entry>
-                <literal>serial.device</literal> (string)
+                <literal>block.minor</literal> (int)
               </entry>
-              <entry>example: /dev/ttyS0</entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>The device node to access the OSS device.</entry>
+              <entry>Minor number of special file to interact with the
+                device
+              </entry>
             </row>
             <row>
               <entry>
-                <literal>serial.port</literal> (int)
+                <literal>block.is_volume</literal> (bool)
               </entry>
-              <entry>example: 0</entry>
+              <entry></entry>
               <entry>Yes</entry>
+              <entry>True only when the block device is a volume that can
+                be mounted into the file system. In this case the
+                <literal>volume</literal> capability will be set and
+                thus, properties, in the <literal>volume</literal>
+                namespace are available.
+              </entry>
+            </row>
+            <row>
               <entry>
-                The port number of the device, based on the number in
-                <literal>serial.device</literal>
+                <literal>block.no_partitions</literal> (bool)
+              </entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>For toplevel block devices, this is TRUE only
+                when no known partition tables have been found on the
+                media (In this case, if the storage device contain a
+                file system it will be accessible using the same
+                special device file as the one for this device object
+                and the device object representing the filesystem will
+                appear as a separate device object as a child). For
+                the child, that is
+                when <literal>block.is_volume</literal> is true, this
+                property is TRUE exactly when it was created for a
+                storage device with
+                the <literal>storage.no_partitions_hint</literal> set
+                to TRUE.
               </entry>
             </row>
             <row>
               <entry>
-                <literal>serial.type</literal> (string)
+                <literal>block.have_scanned</literal> (bool)
               </entry>
-              <entry>example: platform, usb, unknown</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>This property defines the type of the serial device.</entry>
+              <entry>
+                An internal property used by HAL to specify whether a top
+                level block device have already been scanned for filesystems.
+              </entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-pnpif">
+
+    <sect2 id="device-properties-ccw">
       <title>
-        pnp namespace
+        ccw namespace
       </title>
       <para>
-        Device objects that represent Plug and Play (PnP) devices (e.g. System Board or PS/2 Port for PS/2-style Mice).
-        For these devices info.subsystem is set to 'pnp'.
+        Device objects that represent s390 ccw devices (when <literal>info.subsystem
+        </literal>
+         is set to <literal>ccw</literal>) are represented by the
+        properties below.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1002,77 +1094,93 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>pnp.id</literal> (string)
+                <literal>ccw.devtype</literal> (string)
               </entry>
-              <entry> example: PNP0a03 or SMCf010</entry>
+              <entry>example: 1732/01</entry>
               <entry>Yes</entry>
-              <entry>This property contains the PnP ID of the device.</entry>
+              <entry>Device type/model or n/a</entry>
             </row>
             <row>
               <entry>
-                <literal>pnp.description</literal> (string)
+                <literal>ccw.cutype</literal> (string)
               </entry>
-              <entry> example: 'ECP printer port'</entry>
-              <entry>No</entry>
+              <entry>example: 1731/01</entry>
+              <entry>Yes</entry>
+              <entry>Control unit type/model</entry>
+            </row>
+            <row>
               <entry>
-		Description from the pnp.ids file. Only available if: HAL was compiled with 
-		support for pnp.ids, if the file is available and if the ID was part of the file.
-	      </entry>
+                <literal>ccw.cmb_enable</literal> (int)
+              </entry>
+              <entry>example: 1</entry>
+              <entry>Yes</entry>
+              <entry>If channel measurements are enabled</entry>
             </row>
             <row>
               <entry>
-                <literal>pnp.serial.irq</literal> (int)
+                <literal>ccw.availability</literal> (string)
               </entry>
-              <entry> example: 5</entry>
-              <entry>No</entry>
+              <entry>example: good</entry>
+              <entry>Yes</entry>
+              <entry>Can be one of 'good', 'boxed', 'no path',
+                or 'no device'
+              </entry>
+            </row>
+            <row>
               <entry>
-		Only available if the PnP device is a serial device (as e.g. serial Wacom Tablet devices).
-		Contains the prefered irq of the device.
-	      </entry>
+                <literal>ccw.online</literal> (int)
+              </entry>
+              <entry>example: 1</entry>
+              <entry>Yes</entry>
+              <entry>Online status</entry>
             </row>
             <row>
               <entry>
-                <literal>pnp.serial.port</literal> (string)
+                <literal>ccw.bus_id</literal> (string)
               </entry>
-              <entry> example: 0x200</entry>
+              <entry>example: 0.0.f588</entry>
+              <entry>Yes</entry>
+              <entry>The device's bus id in sysfs</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>ccw.subchannel.pim</literal> (int)
+              </entry>
+              <entry>example: 0x80</entry>
               <entry>No</entry>
+              <entry>path installed mask</entry>
+            </row>
+            <row>
               <entry>
-		Only available if the PnP device is a serial device (as e.g. serial Wacom Tablet devices).
-		contains info about the prefered serial port of the device.
-	      </entry>
+                <literal>ccw.subchannel.pam</literal> (int)
+              </entry>
+              <entry>example: 0x80</entry>
+              <entry>No</entry>
+              <entry>path available mask</entry>
             </row>
             <row>
               <entry>
-                <literal>pnp.serial.baud_base</literal> (int)
+                <literal>ccw.subchannel.pom</literal> (int)
               </entry>
-              <entry> example: 38400</entry>
+              <entry>example: 0xff</entry>
               <entry>No</entry>
+              <entry>path operational mask</entry>
+            </row>
+            <row>
               <entry>
-		Only available if the PnP device is a serial device (as e.g. serial Wacom Tablet devices).
-		Contains info about the needed baud_base to setup the device correctly.
-	      </entry>
+                <literal>ccw.subchannel.chpid0..7</literal> (int)
+              </entry>
+              <entry>example: 0x40</entry>
+              <entry>No</entry>
+              <entry>channel path ids</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-    </sect2>
-    <sect2 id="device-properties-ppdevif">
-      <title>
-        ppdev namespace
-      </title>
-      <para>
-        The namespace for parallel port devices. No namespace specific properties.
-      </para>
-    </sect2>
-    <sect2 id="device-properties-modemif">
-      <title>
-        modem namespace
-      </title>
       <para>
-        Serial device objectes that are known to be modems should also gain the
-        <literal>modem</literal> capability in their
-        <literal>info.capabilities</literal> list.  Modem device objects must
-        also be serial device objects.
+        The following properties describe <literal>ccw</literal> devices where
+        <literal>linux.driver</literal> is either <literal>dasd-eckd</literal>
+        or <literal>dasd-fba</literal>.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1087,50 +1195,73 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>modem.command_sets</literal> (string)
+                <literal>ccw.dasd.use_diag</literal> (int)
               </entry>
-              <entry>example: GSM-07.07, GSM-07.05</entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>This property defines the command sets the modem device supports.</entry>
+              <entry>If the device driver shall use diagnose calls to access
+                the device
+              </entry>
             </row>
             <row>
-              <entry></entry>
-              <entry>IS-707-A</entry>
+              <entry>
+                <literal>ccw.dasd.readonly</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>This modem supports the IS-707-A standard AT commands (commonly used by CDMA cellular devices).  Implies V.250 support.</entry>
+              <entry>If the device can only be accessed readonly</entry>
             </row>
             <row>
-              <entry></entry>
-              <entry>GSM-07.07</entry>
-              <entry>Yes</entry>
-              <entry>This modem supports the GSM-07.07 standard AT commands (commonly used by GSM-based cellular devices).  Implies V.250 support.</entry>
+              <entry>
+                <literal>ccw.dasd.discipline</literal> (string)
+              </entry>
+              <entry>example: ECKD</entry>
+              <entry>No</entry>
+              <entry>The dasd discipline used to access the device</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+      <para>
+        The following properties describe <literal>ccw</literal> devices where
+        <literal>linux.driver</literal> is <literal>zfcp</literal>. They are
+        only present when <literal>ccw.online = 1</literal>.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
             </row>
+          </thead>
+          <tbody>
             <row>
-              <entry></entry>
-              <entry>GSM-07.05</entry>
+              <entry>
+                <literal>ccw.zfcp.in_recovery</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>This modem supports the GSM-07.05 standard AT commands (commonly used by GSM-based cellular devices).  Implies V.250 support.</entry>
+              <entry>Shows whether the adapter is currently in recovery</entry>
             </row>
             <row>
-              <entry></entry>
-              <entry>ITU-V.250</entry>
+              <entry>
+                <literal>ccw.zfcp.failed</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>This modem supports the ITU V.250 standard AT commands (also known as Hayes-compatible).</entry>
+              <entry>Shows whether the adapter is in failed state</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-    </sect2>
-    <sect2 id="device-properties-usb">
-      <title>
-        usb_device namespace
-      </title>
       <para>
-        For device objects representing USB devices the property
-        <literal>info.subsystem</literal> will be <literal>usb_device</literal>,
-        and the following properties will be available. Note that the
-        corresponding USB interfaces are represented by separate
-        device objects as children.
+        The following properties describe <literal>ccw</literal> devices where
+        <literal>linux.driver</literal> is of the form <literal>tape_3xxx
+        </literal>
+        .
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1145,237 +1276,295 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>usb_device.bus_number</literal> (int)
+                <literal>ccw.tape.state</literal> (string)
               </entry>
-              <entry>example: 1</entry>
+              <entry>example: IN_USE</entry>
               <entry>Yes</entry>
-              <entry>The USB bus the device is attached to</entry>
+              <entry>The current status of the tape</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.configuration_value</literal> (int)
+                <literal>ccw.tape.operation</literal> (string)
               </entry>
-              <entry>example: 1</entry>
+              <entry>example: REW</entry>
               <entry>Yes</entry>
-              <entry>The current configuration the USB device is in;
-                starting from 1
+              <entry>A three-letter mnemonic of the current tape operation
               </entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.configuration</literal> (int)
+                <literal>ccw.tape.medium_state</literal> (string)
               </entry>
-              <entry>example: Bulk transfer configuration</entry>
+              <entry>example: no medium</entry>
               <entry>No</entry>
-              <entry>Human-readable description of the current configuration the USB device is in
+              <entry>
+                If <literal>ccw.online = 1</literal>, shows whether a tape
+                is loaded
               </entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.num_configurations</literal> (int)
+                <literal>ccw.tape.blocksize</literal> (int)
               </entry>
-              <entry>example: 1</entry>
-              <entry>Yes</entry>
-              <entry>Number of configurations this USB device
-                can assume
+              <entry>example: 512</entry>
+              <entry>No</entry>
+              <entry>
+                If <literal>ccw.online = 1</literal>, shows the blocksize
+                used for reads and writes to the tape
               </entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+      <para>
+        The following properties describe <literal>ccw</literal> devices where
+        <literal>linux.driver</literal> is <literal>3270</literal>.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
             <row>
-              <entry>
-                <literal>usb_device.device_class</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>USB Device Class</entry>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
             </row>
+          </thead>
+          <tbody>
             <row>
               <entry>
-                <literal>usb_device.device_subclass</literal> (int)
+                <literal>ccw.3270.model</literal> (int)
               </entry>
-              <entry>example: 0</entry>
+              <entry>example: 3</entry>
               <entry>Yes</entry>
-              <entry>USB Device Sub Class</entry>
+              <entry>The model of the device, determining rows and columns
+              </entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.device_protocol</literal> (int)
+                <literal>ccw.3270.rows</literal> (int)
               </entry>
-              <entry>example: 0</entry>
+              <entry>example: 32</entry>
               <entry>Yes</entry>
-              <entry>USB Device Protocol</entry>
+              <entry>The number of rows</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.is_self_powered</literal> (bool)
+                <literal>ccw.3270.columns</literal> (int)
               </entry>
-              <entry>example: false</entry>
+              <entry>example: 80</entry>
               <entry>Yes</entry>
-              <entry>The device, in the current configuration, is self
-                powered
-              </entry>
+              <entry>The number of columns</entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
+    <sect2 id="device-properties-ccwgroup">
+      <title>
+        ccwgroup namespace
+      </title>
+      <para>
+        Device objects that represent groups of <literal>ccw</literal> devices
+        (when <literal>info.subsystem</literal> is set to <literal>ccwgroup</literal>
+        have the properties specified below.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
             <row>
               <entry>
-                <literal>usb_device.can_wake_up</literal> (bool)
+                <literal>ccwgroup.online</literal> (int)
               </entry>
-              <entry>example: true</entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>The device, in the current configuration, can wake up</entry>
+              <entry>Online status</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.max_power</literal> (int)
+                <literal>ccwgroup.bus_id</literal> (string)
               </entry>
-              <entry>example: 98</entry>
+              <entry>example: 0.0.f588</entry>
               <entry>Yes</entry>
-              <entry>Max power drain of device, in mA</entry>
+              <entry>The device's bus id in sysfs</entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+      <para>
+        The following properties describe <literal>ccwgroup</literal> devices
+        where <literal>linux.driver</literal> is <literal>qeth</literal>.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
             <row>
               <entry>
-                <literal>usb_device.num_interfaces</literal> (int)
+                <literal>ccwgroup.qeth.large_send</literal> (string)
+              </entry>
+              <entry>example: TSO</entry>
+              <entry>No</entry>
+              <entry>Whether large send is provided. Can be "no", "EDDP"
+                (software) or "TSO" (hardware).
               </entry>
-              <entry>example: 1</entry>
-              <entry>Yes</entry>
-              <entry>Number of USB Interfaces in the current configuration</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.num_ports</literal> (int)
+                <literal>ccwgroup.qeth.card_type</literal> (string)
               </entry>
-              <entry>example: 0</entry>
+              <entry>example: OSD_1000</entry>
               <entry>Yes</entry>
-              <entry>Number of ports on a hub. Zero for non-hubs</entry>
+              <entry>Type of the card</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.port_number</literal> (int)
+                <literal>ccwgroup.qeth.checksumming</literal> (string)
               </entry>
-              <entry>example: 1</entry>
-              <entry>Yes</entry>
-              <entry>The port number on the parent hub that the device is attached to, starting from 1</entry>
+              <entry>example: sw checksumming</entry>
+              <entry>No</entry>
+              <entry>The method used to checksum incoming packets</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.speed</literal> (double)
+                <literal>ccwgroup.qeth.canonical_macaddr</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
+              <entry>No</entry>
+              <entry>Specifies the token ring macaddress format. Not valid in
+                layer2 mode and for ethernet devices.
               </entry>
-              <entry>examples: 1.5, 12.0, 480.0</entry>
-              <entry>Yes</entry>
-              <entry>Speed of device, in Mbit/s</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.version</literal> (double)
+                <literal>ccwgroup.qeth.broadcast_mode</literal> (string)
+              </entry>
+              <entry>example: broadcast_allrings</entry>
+              <entry>No</entry>
+              <entry>The scope of token ring broadcasts. Not valid in layer2
+                mode and for ethernet devices.
               </entry>
-              <entry>examples: 1.0, 1.1, 2.0</entry>
-              <entry>Yes</entry>
-              <entry>USB version of device</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.level_number</literal> (int)
+                <literal>ccwgroup.qeth.fake_broadcast</literal> (int)
               </entry>
-              <entry>example: 2</entry>
-              <entry>Yes</entry>
-              <entry>Depth in USB tree, where the virtual root hub
-                is at depth 0
+              <entry>example: 0</entry>
+              <entry>No</entry>
+              <entry>Whether to fake broadcast capability. Not valid in layer2
+                mode.
               </entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.linux.device_number</literal> (string)
+                <literal>ccwgroup.qeth.fake_ll</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
+              <entry>No</entry>
+              <entry>Whether to add a faked link level header to packets.
+                Not valid in layer2 mode.
               </entry>
-              <entry>example: 19</entry>
-              <entry>Yes (only on Linux)</entry>
-              <entry>USB Device Number as assigned by the Linux kernel</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.linux.parent_number</literal> (string)
-              </entry>
-              <entry>example: 19</entry>
-              <entry>Yes (only on Linux)</entry>
-              <entry>Device number of parent device as assigned by the
-                Linux kernel
+                <literal>ccwgroup.qeth.layer2</literal> (int)
               </entry>
+              <entry>example: 0</entry>
+              <entry>No</entry>
+              <entry>Whether the card operates in layer 2 mode</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.linux.sysfs_path</literal> (string)
+                <literal>ccwgroup.qeth.portname</literal> (string)
               </entry>
-              <entry>example: /sys/devices/pci0000:00/0000:00:07.2/usb1/1-1/1-1.1</entry>
-              <entry>Yes (only on Linux)</entry>
+              <entry>example: OSAPORT</entry>
+              <entry>No</entry>
+              <entry>The port name which has been specified for the card</entry>
+            </row>
+            <row>
               <entry>
-                Equals <literal>linux.sysfs_path</literal>
+                <literal>ccwgroup.qeth.portno</literal> (int)
               </entry>
+              <entry>example: 0</entry>
+              <entry>No</entry>
+              <entry>The relative port number on the card</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.product_id</literal> (int)
+                <literal>ccwgroup.qeth.buffer_count</literal> (int)
               </entry>
-              <entry>example: 0x3005</entry>
+              <entry>example: 16</entry>
               <entry>Yes</entry>
-              <entry>USB Product ID</entry>
+              <entry>Number of inbound buffers used</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.vendor_id</literal> (int)
+                <literal>ccwgroup.qeth.add_hhlen</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
+              <entry>No</entry>
+              <entry>How much additional space is provided in the hardware
+                header in skbs in front of packets
               </entry>
-              <entry>example: 0x04b3</entry>
-              <entry>Yes</entry>
-              <entry>USB Vendor ID</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.device_revision_bcd</literal> (int)
+                <literal>ccwgroup.qeth.priority_queueing</literal>
+                (string)
               </entry>
-              <entry>example: 0x0100</entry>
-              <entry>Yes</entry>
-              <entry>Device Revision Number encoded in BCD with two decimals</entry>
+              <entry>example: always queue 2</entry>
+              <entry>No</entry>
+              <entry>Which priority queueing algorithm is to be used</entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.serial</literal> (string)
+                <literal>ccwgroup.qeth.route4</literal> (string)
               </entry>
-              <entry></entry>
+              <entry>example: no</entry>
               <entry>No</entry>
-              <entry>A string uniquely identifying the instance
-                of the device; ie. it will be different for two devices
-                of the same type. Note that the serial number is broken
-                on some USB devices.
+              <entry>Whether the card has a routing functionality for ipv4.
+                Not valid in layer2 mode.
               </entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.product</literal> (string)
+                <literal>ccwgroup.qeth.route6</literal> (string)
               </entry>
-              <entry>example: IBM USB HUB KEYBOARD</entry>
+              <entry>example: no</entry>
               <entry>No</entry>
-              <entry>Name of the product per the USB ID Database</entry>
+              <entry>Whether the card has a routing functionality for ipv6.
+                Not valid in layer2 mode.
+              </entry>
             </row>
             <row>
               <entry>
-                <literal>usb_device.vendor</literal> (string)
+                <literal>ccwgroup.qeth.state</literal> (string)
               </entry>
-              <entry>example: IBM Corp.</entry>
-              <entry>No</entry>
-              <entry>Name of the vendor per the USB ID Database</entry>
+              <entry>example: UP (LAN ONLINE)</entry>
+              <entry>Yes</entry>
+              <entry>The device's current state</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-    </sect2>
-    <sect2 id="device-properties-usbif">
-      <title>
-        usb namespace
-      </title>
       <para>
-        Device objects that represent USB interfaces, ie. when
-        <literal>info.subsystem</literal> assumes <literal>usb</literal>,
-        are represented by the properties below. In addition all
-        the <literal>usb_device.*</literal> properties from the parent
-        USB device is available in this namespace but only with
-        the <literal>usb</literal> prefix instead of
-        <literal>usb_device</literal>.
+        The following properties describe <literal>ccwgroup</literal> devices
+        where <literal>linux.driver</literal> is <literal>ctc</literal>.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1390,68 +1579,76 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>usb.interface.class</literal> (int)
+                <literal>ccwgroup.ctc.protocol</literal> (int)
               </entry>
-              <entry>example: 0x03</entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>USB Class for the interface</entry>
+              <entry>The protocol/method used by the connection</entry>
             </row>
             <row>
               <entry>
-                <literal>usb.interface.subclass</literal> (int)
+                <literal>ccwgroup.ctc.type</literal> (string)
               </entry>
-              <entry>example: 0x01</entry>
+              <entry>example: CTC/A</entry>
               <entry>Yes</entry>
-              <entry>USB Sub Class for this interface</entry>
+              <entry>The device/connection type</entry>
             </row>
             <row>
               <entry>
-                <literal>usb.interface.protocol</literal> (int)
+                <literal>ccwgroup.ctc.buffer</literal> (int)
               </entry>
-              <entry>example: 0x01</entry>
-              <entry>Yes</entry>
-              <entry>USB Protocol for the interface</entry>
+              <entry>example: 32768</entry>
+              <entry>No</entry>
+              <entry>The maximum buffer size of the connection</entry>
             </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+      <para>
+        The following properties describe <literal>ccwgroup</literal> devices
+        where <literal>linux.driver</literal> is <literal>lcs</literal>.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
             <row>
-              <entry>
-                <literal>usb.interface.description</literal> (int)
-              </entry>
-              <entry>example: SyncML interface</entry>
-              <entry>No</entry>
-              <entry>Human-readable description for the interface provided by the device</entry>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
             </row>
+          </thead>
+          <tbody>
             <row>
               <entry>
-                <literal>usb.interface.number</literal> (int)
+                <literal>ccwgroup.lcs.portnumber</literal> (int)
               </entry>
-              <entry>example: 1</entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>Number of this interface, starting from zero</entry>
+              <entry>The port on the card that is used</entry>
             </row>
             <row>
               <entry>
-                <literal>usb.linux.sysfs_path</literal> (string)
+                <literal>ccwgroup.lcs.type</literal> (string)
               </entry>
-              <entry>example: /sys/devices/pci0000:00/0000:00:07.2/usb1/1-1/1-1.1/1-1.1:1.0</entry>
-              <entry>Yes (only on Linux)</entry>
+              <entry>example: OSA LCS card</entry>
+              <entry>Yes</entry>
+              <entry>The type of the card</entry>
+            </row>
+            <row>
               <entry>
-                Equals <literal>linux.sysfs_path</literal>
+                <literal>ccwgroup.lcs.lancmd_timeout</literal> (int)
               </entry>
+              <entry>example: 5</entry>
+              <entry>Yes</entry>
+              <entry>The timeout value for LAN commands in seconds</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-    </sect2>
-    <sect2 id="device-properties-platform">
-      <title>
-        platform namespace
-      </title>
       <para>
-        Devices that are built into the platform or present on busses that
-        cannot be properly enumerated (e.g. ISA) are represented by device
-        objects where <literal>info.subsystem</literal> equals
-        <literal>platform</literal>. These kind of devices are commonly,
-        somewhat incorrectly, called legacy devices.
+        The following properties describe <literal>ccwgroup</literal> devices
+        where <literal>linux.driver</literal> is <literal>claw</literal>.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1466,26 +1663,74 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>platform.id</literal> (string)
+                <literal>ccwgroup.claw.api_type</literal> (string)
               </entry>
-              <entry>example: serial</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>Device identification</entry>
+              <entry>Determines the packing algorithm for outgoing pakets
+                (matching the remote peer)
+              </entry>
+            </row>
+            <row>
+              <entry></entry>
+              <entry>IP</entry>
+              <entry></entry>
+              <entry>Using the IP protocol</entry>
+            </row>
+            <row>
+              <entry></entry>
+              <entry>PACKED</entry>
+              <entry></entry>
+              <entry>Using an enhanced packing algorithm</entry>
+            </row>
+            <row>
+              <entry></entry>
+              <entry>TCPIP</entry>
+              <entry></entry>
+              <entry>Using the TCP/IP protocol</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>ccwgroup.claw.adapter_name</literal> (string)
+              </entry>
+              <entry>example: RS1</entry>
+              <entry>Yes</entry>
+              <entry>The host name of the remote communication peer.</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>ccwgroup.claw.host_name</literal> (string)
+              </entry>
+              <entry>example: LNX1</entry>
+              <entry>Yes</entry>
+              <entry>The host name of the local adapter.</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>ccwgroup.claw.read_buffer</literal> (int)
+              </entry>
+              <entry>example: 4</entry>
+              <entry>Yes</entry>
+              <entry>The number of read buffers allocated</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>ccwgroup.claw.write_buffer</literal> (int)
+              </entry>
+              <entry>example: 5</entry>
+              <entry>Yes</entry>
+              <entry>The number of write buffers allocated</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-ide-host">
-      <title>
-        ide_host namespace
-      </title>
+
+    <sect2 id="device-properties-drm">
+      <title>drm namespace</title>
       <para>
-        The <literal>ide_host</literal> namespace is present for
-        device objects where <literal>info.subsystem</literal> is set
-        to <literal>ide_host</literal>.  Such device objects represent
-        IDE and ATA host adaptors for harddisks and optical drives as
-        found in the majority of computer systems.
+	The <literal>drm</literal> namespace is present for Direct Rendering Manager device objects.
+	They represent a Direct Rendering Interface.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1499,27 +1744,22 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           </thead>
           <tbody>
             <row>
-              <entry>
-                <literal>ide_host.number</literal> (int)
-              </entry>
+              <entry><literal>drm.dri_library</literal> (string)</entry>
               <entry></entry>
               <entry>Yes</entry>
-              <entry>A unique number identifying the IDE host adaptor</entry>
+              <entry>Name of the dri (Direct Rendering Interface) library (e.g. i915).</entry>
             </row>
             <row>
-              <entry>
-                <literal>ide_host.linux.sysfs_path</literal> (string)
-              </entry>
-              <entry>example: /sys/devices/pci0000:00/0000:00:07.1/ide0</entry>
-              <entry>Yes (only on Linux)</entry>
-              <entry>
-                Equals <literal>linux.sysfs_path</literal>
-              </entry>
+              <entry><literal>drm.version</literal> (string)</entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>The drm version (of the kernel module/diver).</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
+
     <sect2 id="device-properties-ide">
       <title>
         ide namespace
@@ -1564,16 +1804,17 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-scsi_host">
+
+    <sect2 id="device-properties-ide-host">
       <title>
-        scsi_host namespace
+        ide_host namespace
       </title>
       <para>
-        The <literal>scsi_host</literal> namespace is present for
+        The <literal>ide_host</literal> namespace is present for
         device objects where <literal>info.subsystem</literal> is set
-        to <literal>scsi_host</literal>.  Such device objects represent
-        SCSI host adaptors for SCSI devices as found in some computer
-        systems.
+        to <literal>ide_host</literal>.  Such device objects represent
+        IDE and ATA host adaptors for harddisks and optical drives as
+        found in the majority of computer systems.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1588,24 +1829,35 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>scsi_host.host</literal> (int)
+                <literal>ide_host.number</literal> (int)
               </entry>
               <entry></entry>
               <entry>Yes</entry>
-              <entry>A unique number identifying the SCSI host adaptor</entry>
+              <entry>A unique number identifying the IDE host adaptor</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>ide_host.linux.sysfs_path</literal> (string)
+              </entry>
+              <entry>example: /sys/devices/pci0000:00/0000:00:07.1/ide0</entry>
+              <entry>Yes (only on Linux)</entry>
+              <entry>
+                Equals <literal>linux.sysfs_path</literal>
+              </entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-scsi">
+
+    <sect2 id="device-properties-ieee1394">
       <title>
-        scsi namespace
+        ieee1394 namespace
       </title>
       <para>
-        SCSI devices are represented by device objects where
-        <literal>info.subsystem</literal> equals <literal>scsi</literal>.
-        The following properties are available for such device objects.
+        Device objects with <literal>info.subsystem</literal> set to
+        <literal>ieee1394</literal> represent IEEE 1394 devices. The
+        following properties are available for such device objects.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1620,112 +1872,17 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>scsi.host</literal> (int)
-              </entry>
-              <entry></entry>
-              <entry>Yes</entry>
-              <entry>
-                Corresponds to <literal>scsi_host.host</literal>
-                of the <literal>scsi_host</literal> device that is the
-                parent of this device object
-              </entry>
-            </row>
-            <row>
-              <entry>
-                <literal>scsi.bus</literal> (int)
-              </entry>
-              <entry></entry>
-              <entry>Yes</entry>
-              <entry>SCSI channel number</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>scsi.target</literal> (int)
-              </entry>
-              <entry></entry>
-              <entry>Yes</entry>
-              <entry>SCSI identifier number</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>scsi.lun</literal> (int)
+                <literal>ieee1394.specifier_id</literal> (int)
               </entry>
               <entry></entry>
               <entry>Yes</entry>
-              <entry>SCSI Logical Unit Number</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>scsi.type</literal> (string)
-              </entry>
-              <entry>Example: disk</entry>
-              <entry>Yes</entry>
-              <entry>SCSI device type</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>cdrom</entry>
-              <entry></entry>
-              <entry>This is a SCSI cdrom device.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>comm</entry>
-              <entry></entry>
-              <entry>This is a SCSI communication device.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>disk</entry>
-              <entry></entry>
-              <entry>This is a SCSI disk device.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>medium_changer</entry>
-              <entry></entry>
-              <entry>This is a SCSI media changer (e.g. for CD/Tape).</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>printer</entry>
-              <entry></entry>
-              <entry>This is a SCSI printer.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>processor</entry>
-              <entry></entry>
-              <entry>This is a SCSI processor device.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>raid</entry>
-              <entry></entry>
-              <entry>This is a SCSI raid device.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>scanner</entry>
-              <entry></entry>
-              <entry>This is a SCSI scanner.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>tape</entry>
-              <entry></entry>
-              <entry>This is a SCSI tape device.</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>unknown</entry>
-              <entry></entry>
-              <entry>The type of this SCSI device is unknwon.</entry>
+              <entry>TODO</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
+
     <sect2 id="device-properties-ieee1394_host">
       <title>
         ieee1394_host namespace
@@ -1791,6 +1948,7 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
         </tgroup>
       </informaltable>
     </sect2>
+
     <sect2 id="device-properties-ieee1394_node">
       <title>
         ieee1394_node namespace
@@ -1856,14 +2014,16 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-ieee1394">
+
+    <sect2 id="device-properties-iucv">
       <title>
-        ieee1394 namespace
+        iucv namespace
       </title>
       <para>
-        Device objects with <literal>info.subsystem</literal> set to
-        <literal>ieee1394</literal> represent IEEE 1394 devices. The
-        following properties are available for such device objects.
+        Device objects with <literal>info.subsystem</literal> set to <literal>iucv
+        </literal>
+         are using the "Intra-User Comminication Vehicle" and are
+        described by the following properties.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1878,25 +2038,60 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ieee1394.specifier_id</literal> (int)
+                <literal>iucv.bus_id</literal> (string)
               </entry>
-              <entry></entry>
+              <entry>example: netiucv0</entry>
               <entry>Yes</entry>
-              <entry>TODO</entry>
+              <entry>The device's bus id in sysfs</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+      <para>
+        The following properties describe <literal>iucv</literal> devices
+        where <literal>linux.driver</literal> is <literal>netiucv</literal>.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry>
+                <literal>iucv.netiucv.user</literal> (string)
+              </entry>
+              <entry>example: linux12</entry>
+              <entry>Yes</entry>
+              <entry>The guest name of the connection's target</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>iucv.netiucv.buffer</literal> (int)
+              </entry>
+              <entry>example: 32768</entry>
+              <entry>Yes</entry>
+              <entry>The maximum buffer size of the connection</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-mmc_host">
+
+    <sect2 id="device-properties-modemif">
       <title>
-        mmc_host namespace
+        modem namespace
       </title>
       <para>
-        Device objects with <literal>info.subsystem</literal> set to
-        <literal>mmc_host</literal> represent MultiMediaCard or
-        Secure Digital host adaptors. The following properties
-        are available for such device objects.
+        Serial device objectes that are known to be modems should also gain the
+        <literal>modem</literal> capability in their
+        <literal>info.capabilities</literal> list.  Modem device objects must
+        also be serial device objects.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -1911,16 +2106,41 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>mmc_host.host</literal> (int)
+                <literal>modem.command_sets</literal> (string)
               </entry>
+              <entry>example: GSM-07.07, GSM-07.05</entry>
+              <entry>Yes</entry>
+              <entry>This property defines the command sets the modem device supports.</entry>
+            </row>
+            <row>
               <entry></entry>
+              <entry>IS-707-A</entry>
               <entry>Yes</entry>
-              <entry>A unique number identifying the MMC/SD host adaptor</entry>
+              <entry>This modem supports the IS-707-A standard AT commands (commonly used by CDMA cellular devices).  Implies V.250 support.</entry>
+            </row>
+            <row>
+              <entry></entry>
+              <entry>GSM-07.07</entry>
+              <entry>Yes</entry>
+              <entry>This modem supports the GSM-07.07 standard AT commands (commonly used by GSM-based cellular devices).  Implies V.250 support.</entry>
+            </row>
+            <row>
+              <entry></entry>
+              <entry>GSM-07.05</entry>
+              <entry>Yes</entry>
+              <entry>This modem supports the GSM-07.05 standard AT commands (commonly used by GSM-based cellular devices).  Implies V.250 support.</entry>
+            </row>
+            <row>
+              <entry></entry>
+              <entry>ITU-V.250</entry>
+              <entry>Yes</entry>
+              <entry>This modem supports the ITU V.250 standard AT commands (also known as Hayes-compatible).</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
+
     <sect2 id="device-properties-mmc">
       <title>
         mmc namespace
@@ -2028,14 +2248,15 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-sdio">
+
+    <sect2 id="device-properties-mmc_host">
       <title>
-        sdio namespace
+        mmc_host namespace
       </title>
       <para>
         Device objects with <literal>info.subsystem</literal> set to
-        <literal>sdio</literal> represent MultiMediaCard or Secure
-        Digital cards with SDIO interface. The following properties
+        <literal>mmc_host</literal> represent MultiMediaCard or
+        Secure Digital host adaptors. The following properties
         are available for such device objects.
       </para>
       <informaltable>
@@ -2051,73 +2272,25 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>sdio.rca</literal> (int)
-              </entry>
-              <entry>example: 8083</entry>
-              <entry>Yes</entry>
-              <entry>Card bus address</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>sdio.card_id</literal> (int)
-              </entry>
-              <entry>example: 1</entry>
-              <entry>Yes</entry>
-              <entry>SDIO Class for the interface</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>sdio.class_id</literal> (int)
-              </entry>
-              <entry>example: 0x03</entry>
-              <entry>Yes</entry>
-              <entry>SDIO Class for the interface</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>sdio.product_id</literal> (int)
-              </entry>
-              <entry>example: 0x046a</entry>
-              <entry>Yes</entry>
-              <entry>Product ID</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>sdio.vendor_id</literal> (int)
+                <literal>mmc_host.host</literal> (int)
               </entry>
-              <entry>example: 0x039d</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>Vendor ID</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>sdio.product</literal> (string)
-              </entry>
-              <entry>SQN1130 WiMAX Network Card</entry>
-              <entry>No</entry>
-              <entry>Name of the product per the SDIO database</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>sdio.vendor</literal> (string)
-              </entry>
-              <entry>Sequans Communications</entry>
-              <entry>No</entry>
-              <entry>Name of the vendor per the SDIO database</entry>
+              <entry>A unique number identifying the MMC/SD host adaptor</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-ccw">
+
+    <sect2 id="device-properties-pci">
       <title>
-        ccw namespace
+        pci namespace
       </title>
       <para>
-        Device objects that represent s390 ccw devices (when <literal>info.subsystem
-        </literal>
-         is set to <literal>ccw</literal>) are represented by the
-        properties below.
+        This namespace contains properties for device objects representing
+        functions on devices on a PCI bus. These properties are available
+        exactly when <literal>info.subsystem</literal> equals <literal>pci</literal>.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2132,138 +2305,121 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccw.devtype</literal> (string)
+                <literal>pci.device_class</literal> (int)
               </entry>
-              <entry>example: 1732/01</entry>
+              <entry>example: 3</entry>
               <entry>Yes</entry>
-              <entry>Device type/model or n/a</entry>
+              <entry>Device Class</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.cutype</literal> (string)
+                <literal>pci.device_subclass</literal> (int)
               </entry>
-              <entry>example: 1731/01</entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>Control unit type/model</entry>
+              <entry>PCI Device Sub Class</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.cmb_enable</literal> (int)
+                <literal>pci.device_protocol</literal> (int)
               </entry>
-              <entry>example: 1</entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>If channel measurements are enabled</entry>
+              <entry>Device Protocol</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.availability</literal> (string)
+                <literal>pci.product_id</literal> (int)
               </entry>
-              <entry>example: good</entry>
+              <entry>example: 0x4c4d</entry>
               <entry>Yes</entry>
-              <entry>Can be one of 'good', 'boxed', 'no path',
-                or 'no device'
-              </entry>
+              <entry>Product ID</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.online</literal> (int)
+                <literal>pci.vendor_id</literal> (int)
               </entry>
-              <entry>example: 1</entry>
+              <entry>example: 0x1002</entry>
               <entry>Yes</entry>
-              <entry>Online status</entry>
+              <entry>Vendor ID</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.bus_id</literal> (string)
+                <literal>pci.subsys_product_id</literal> (int)
               </entry>
-              <entry>example: 0.0.f588</entry>
+              <entry>example: 0x009e</entry>
               <entry>Yes</entry>
-              <entry>The device's bus id in sysfs</entry>
+              <entry>Subsystem product id</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.subchannel.pim</literal> (int)
+                <literal>pci.subsys_vendor_id</literal> (int)
               </entry>
-              <entry>example: 0x80</entry>
-              <entry>No</entry>
-              <entry>path installed mask</entry>
+              <entry>example: 0x1028</entry>
+              <entry>Yes</entry>
+              <entry>Subsystem vendor id</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.subchannel.pam</literal> (int)
+                <literal>pci.linux.sysfs_path</literal> (string)
               </entry>
-              <entry>example: 0x80</entry>
-              <entry>No</entry>
-              <entry>path available mask</entry>
-            </row>
-            <row>
+              <entry>example: /sys/devices/pci0000:00/0000:00:01/0000:01:00.0</entry>
+              <entry>Yes (only on Linux)</entry>
               <entry>
-                <literal>ccw.subchannel.pom</literal> (int)
+                Equals <literal>linux.sysfs_path</literal>
               </entry>
-              <entry>example: 0xff</entry>
-              <entry>No</entry>
-              <entry>path operational mask</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.subchannel.chpid0..7</literal> (int)
+                <literal>pci.product</literal> (string)
               </entry>
-              <entry>example: 0x40</entry>
+              <entry>Rage Mobility P/M AGP 2x</entry>
               <entry>No</entry>
-              <entry>channel path ids</entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-      <para>
-        The following properties describe <literal>ccw</literal> devices where
-        <literal>linux.driver</literal> is either <literal>dasd-eckd</literal>
-        or <literal>dasd-fba</literal>.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
-            <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>Name of the product per the PCI database</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
               <entry>
-                <literal>ccw.dasd.use_diag</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>If the device driver shall use diagnose calls to access
-                the device
+                <literal>pci.vendor</literal> (string)
               </entry>
+              <entry>ATI Technologies Inc</entry>
+              <entry>No</entry>
+              <entry>Name of the vendor per the PCI database</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.dasd.readonly</literal> (int)
+                <literal>pci.subsys_product</literal> (string)
               </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>If the device can only be accessed readonly</entry>
+              <entry>Inspiron 7500</entry>
+              <entry>No</entry>
+              <entry>Name of the subsystem product per the PCI database</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.dasd.discipline</literal> (string)
+                <literal>pci.subsys_vendor</literal> (string)
               </entry>
-              <entry>example: ECKD</entry>
+              <entry>Dell Computer Corporation</entry>
               <entry>No</entry>
-              <entry>The dasd discipline used to access the device</entry>
+              <entry>Name of the subsystem vendor per the PCI database</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
       <para>
-        The following properties describe <literal>ccw</literal> devices where
-        <literal>linux.driver</literal> is <literal>zfcp</literal>. They are
-        only present when <literal>ccw.online = 1</literal>.
+        (FIXME: Some key PCI information (bus, slot, port, function
+        etc.) is missing here)
+      </para>
+    </sect2>
+
+    <sect2 id="device-properties-platform">
+      <title>
+        platform namespace
+      </title>
+      <para>
+        Devices that are built into the platform or present on busses that
+        cannot be properly enumerated (e.g. ISA) are represented by device
+        objects where <literal>info.subsystem</literal> equals
+        <literal>platform</literal>. These kind of devices are commonly,
+        somewhat incorrectly, called legacy devices.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2278,28 +2434,24 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccw.zfcp.in_recovery</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>Shows whether the adapter is currently in recovery</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>ccw.zfcp.failed</literal> (int)
+                <literal>platform.id</literal> (string)
               </entry>
-              <entry>example: 0</entry>
+              <entry>example: serial</entry>
               <entry>Yes</entry>
-              <entry>Shows whether the adapter is in failed state</entry>
+              <entry>Device identification</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-pnpif">
+      <title>
+        pnp namespace
+      </title>
       <para>
-        The following properties describe <literal>ccw</literal> devices where
-        <literal>linux.driver</literal> is of the form <literal>tape_3xxx
-        </literal>
-        .
+        Device objects that represent Plug and Play (PnP) devices (e.g. System Board or PS/2 Port for PS/2-style Mice).
+        For these devices info.subsystem is set to 'pnp'.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2314,98 +2466,79 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccw.tape.state</literal> (string)
-              </entry>
-              <entry>example: IN_USE</entry>
-              <entry>Yes</entry>
-              <entry>The current status of the tape</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>ccw.tape.operation</literal> (string)
+                <literal>pnp.id</literal> (string)
               </entry>
-              <entry>example: REW</entry>
+              <entry> example: PNP0a03 or SMCf010</entry>
               <entry>Yes</entry>
-              <entry>A three-letter mnemonic of the current tape operation
-              </entry>
+              <entry>This property contains the PnP ID of the device.</entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.tape.medium_state</literal> (string)
+                <literal>pnp.description</literal> (string)
               </entry>
-              <entry>example: no medium</entry>
+              <entry> example: 'ECP printer port'</entry>
               <entry>No</entry>
               <entry>
-                If <literal>ccw.online = 1</literal>, shows whether a tape
-                is loaded
-              </entry>
+		Description from the pnp.ids file. Only available if: HAL was compiled with 
+		support for pnp.ids, if the file is available and if the ID was part of the file.
+	      </entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.tape.blocksize</literal> (int)
+                <literal>pnp.serial.irq</literal> (int)
               </entry>
-              <entry>example: 512</entry>
+              <entry> example: 5</entry>
               <entry>No</entry>
               <entry>
-                If <literal>ccw.online = 1</literal>, shows the blocksize
-                used for reads and writes to the tape
-              </entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-      <para>
-        The following properties describe <literal>ccw</literal> devices where
-        <literal>linux.driver</literal> is <literal>3270</literal>.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
-            <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+		Only available if the PnP device is a serial device (as e.g. serial Wacom Tablet devices).
+		Contains the prefered irq of the device.
+	      </entry>
             </row>
-          </thead>
-          <tbody>
             <row>
               <entry>
-                <literal>ccw.3270.model</literal> (int)
-              </entry>
-              <entry>example: 3</entry>
-              <entry>Yes</entry>
-              <entry>The model of the device, determining rows and columns
+                <literal>pnp.serial.port</literal> (string)
               </entry>
-            </row>
-            <row>
+              <entry> example: 0x200</entry>
+              <entry>No</entry>
               <entry>
-                <literal>ccw.3270.rows</literal> (int)
-              </entry>
-              <entry>example: 32</entry>
-              <entry>Yes</entry>
-              <entry>The number of rows</entry>
+		Only available if the PnP device is a serial device (as e.g. serial Wacom Tablet devices).
+		contains info about the prefered serial port of the device.
+	      </entry>
             </row>
             <row>
               <entry>
-                <literal>ccw.3270.columns</literal> (int)
+                <literal>pnp.serial.baud_base</literal> (int)
               </entry>
-              <entry>example: 80</entry>
-              <entry>Yes</entry>
-              <entry>The number of columns</entry>
+              <entry> example: 38400</entry>
+              <entry>No</entry>
+              <entry>
+		Only available if the PnP device is a serial device (as e.g. serial Wacom Tablet devices).
+		Contains info about the needed baud_base to setup the device correctly.
+	      </entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-ccwgroup">
+
+    <sect2 id="device-properties-ppdevif">
       <title>
-        ccwgroup namespace
+        ppdev namespace
       </title>
       <para>
-        Device objects that represent groups of <literal>ccw</literal> devices
-        (when <literal>info.subsystem</literal> is set to <literal>ccwgroup</literal>
-        have the properties specified below.
+        The namespace for parallel port devices. No namespace specific properties.
+      </para>
+    </sect2>
+
+    <sect2 id="device-properties-ps3_system_bus">
+      <title>
+        ps3_system_bus namespace
+      </title>
+      <para>
+        Devices on the PlayStation 3 system bus are represented by device
+        objects where <literal>info.subsystem</literal> equals
+        <literal>ps3_system_bus</literal>. The following properties are
+        available for such device objects.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2420,26 +2553,25 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccwgroup.online</literal> (int)
-              </entry>
-              <entry>example: 1</entry>
-              <entry>Yes</entry>
-              <entry>Online status</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>ccwgroup.bus_id</literal> (string)
+                <literal>ps3_system_bus.id</literal> (string)
               </entry>
-              <entry>example: 0.0.f588</entry>
+              <entry>example: serial</entry>
               <entry>Yes</entry>
-              <entry>The device's bus id in sysfs</entry>
+              <entry>Device identification</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-scsi">
+      <title>
+        scsi namespace
+      </title>
       <para>
-        The following properties describe <literal>ccwgroup</literal> devices
-        where <literal>linux.driver</literal> is <literal>qeth</literal>.
+        SCSI devices are represented by device objects where
+        <literal>info.subsystem</literal> equals <literal>scsi</literal>.
+        The following properties are available for such device objects.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2454,155 +2586,123 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccwgroup.qeth.large_send</literal> (string)
-              </entry>
-              <entry>example: TSO</entry>
-              <entry>No</entry>
-              <entry>Whether large send is provided. Can be "no", "EDDP"
-                (software) or "TSO" (hardware).
+                <literal>scsi.host</literal> (int)
               </entry>
-            </row>
-            <row>
+              <entry></entry>
+              <entry>Yes</entry>
               <entry>
-                <literal>ccwgroup.qeth.card_type</literal> (string)
+                Corresponds to <literal>scsi_host.host</literal>
+                of the <literal>scsi_host</literal> device that is the
+                parent of this device object
               </entry>
-              <entry>example: OSD_1000</entry>
-              <entry>Yes</entry>
-              <entry>Type of the card</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.qeth.checksumming</literal> (string)
+                <literal>scsi.bus</literal> (int)
               </entry>
-              <entry>example: sw checksumming</entry>
-              <entry>No</entry>
-              <entry>The method used to checksum incoming packets</entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>SCSI channel number</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.qeth.canonical_macaddr</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>No</entry>
-              <entry>Specifies the token ring macaddress format. Not valid in
-                layer2 mode and for ethernet devices.
+                <literal>scsi.target</literal> (int)
               </entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>SCSI identifier number</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.qeth.broadcast_mode</literal> (string)
-              </entry>
-              <entry>example: broadcast_allrings</entry>
-              <entry>No</entry>
-              <entry>The scope of token ring broadcasts. Not valid in layer2
-                mode and for ethernet devices.
+                <literal>scsi.lun</literal> (int)
               </entry>
+              <entry></entry>
+              <entry>Yes</entry>
+              <entry>SCSI Logical Unit Number</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.qeth.fake_broadcast</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>No</entry>
-              <entry>Whether to fake broadcast capability. Not valid in layer2
-                mode.
+                <literal>scsi.type</literal> (string)
               </entry>
+              <entry>Example: disk</entry>
+              <entry>Yes</entry>
+              <entry>SCSI device type</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.fake_ll</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>No</entry>
-              <entry>Whether to add a faked link level header to packets.
-                Not valid in layer2 mode.
-              </entry>
+              <entry></entry>
+              <entry>cdrom</entry>
+              <entry></entry>
+              <entry>This is a SCSI cdrom device.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.layer2</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>No</entry>
-              <entry>Whether the card operates in layer 2 mode</entry>
+              <entry></entry>
+              <entry>comm</entry>
+              <entry></entry>
+              <entry>This is a SCSI communication device.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.portname</literal> (string)
-              </entry>
-              <entry>example: OSAPORT</entry>
-              <entry>No</entry>
-              <entry>The port name which has been specified for the card</entry>
+              <entry></entry>
+              <entry>disk</entry>
+              <entry></entry>
+              <entry>This is a SCSI disk device.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.portno</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>No</entry>
-              <entry>The relative port number on the card</entry>
+              <entry></entry>
+              <entry>medium_changer</entry>
+              <entry></entry>
+              <entry>This is a SCSI media changer (e.g. for CD/Tape).</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.buffer_count</literal> (int)
-              </entry>
-              <entry>example: 16</entry>
-              <entry>Yes</entry>
-              <entry>Number of inbound buffers used</entry>
+              <entry></entry>
+              <entry>printer</entry>
+              <entry></entry>
+              <entry>This is a SCSI printer.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.add_hhlen</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>No</entry>
-              <entry>How much additional space is provided in the hardware
-                header in skbs in front of packets
-              </entry>
+              <entry></entry>
+              <entry>processor</entry>
+              <entry></entry>
+              <entry>This is a SCSI processor device.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.priority_queueing</literal>
-                (string)
-              </entry>
-              <entry>example: always queue 2</entry>
-              <entry>No</entry>
-              <entry>Which priority queueing algorithm is to be used</entry>
+              <entry></entry>
+              <entry>raid</entry>
+              <entry></entry>
+              <entry>This is a SCSI raid device.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.route4</literal> (string)
-              </entry>
-              <entry>example: no</entry>
-              <entry>No</entry>
-              <entry>Whether the card has a routing functionality for ipv4.
-                Not valid in layer2 mode.
-              </entry>
+              <entry></entry>
+              <entry>scanner</entry>
+              <entry></entry>
+              <entry>This is a SCSI scanner.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.route6</literal> (string)
-              </entry>
-              <entry>example: no</entry>
-              <entry>No</entry>
-              <entry>Whether the card has a routing functionality for ipv6.
-                Not valid in layer2 mode.
-              </entry>
+              <entry></entry>
+              <entry>tape</entry>
+              <entry></entry>
+              <entry>This is a SCSI tape device.</entry>
             </row>
             <row>
-              <entry>
-                <literal>ccwgroup.qeth.state</literal> (string)
-              </entry>
-              <entry>example: UP (LAN ONLINE)</entry>
-              <entry>Yes</entry>
-              <entry>The device's current state</entry>
+              <entry></entry>
+              <entry>unknown</entry>
+              <entry></entry>
+              <entry>The type of this SCSI device is unknwon.</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-scsi_host">
+      <title>
+        scsi_host namespace
+      </title>
       <para>
-        The following properties describe <literal>ccwgroup</literal> devices
-        where <literal>linux.driver</literal> is <literal>ctc</literal>.
+        The <literal>scsi_host</literal> namespace is present for
+        device objects where <literal>info.subsystem</literal> is set
+        to <literal>scsi_host</literal>.  Such device objects represent
+        SCSI host adaptors for SCSI devices as found in some computer
+        systems.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2617,34 +2717,26 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccwgroup.ctc.protocol</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>The protocol/method used by the connection</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>ccwgroup.ctc.type</literal> (string)
+                <literal>scsi_host.host</literal> (int)
               </entry>
-              <entry>example: CTC/A</entry>
+              <entry></entry>
               <entry>Yes</entry>
-              <entry>The device/connection type</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>ccwgroup.ctc.buffer</literal> (int)
-              </entry>
-              <entry>example: 32768</entry>
-              <entry>No</entry>
-              <entry>The maximum buffer size of the connection</entry>
+              <entry>A unique number identifying the SCSI host adaptor</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
+    </sect2>
+
+    <sect2 id="device-properties-sdio">
+      <title>
+        sdio namespace
+      </title>
       <para>
-        The following properties describe <literal>ccwgroup</literal> devices
-        where <literal>linux.driver</literal> is <literal>lcs</literal>.
+        Device objects with <literal>info.subsystem</literal> set to
+        <literal>sdio</literal> represent MultiMediaCard or Secure
+        Digital cards with SDIO interface. The following properties
+        are available for such device objects.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2659,119 +2751,72 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>ccwgroup.lcs.portnumber</literal> (int)
-              </entry>
-              <entry>example: 0</entry>
-              <entry>Yes</entry>
-              <entry>The port on the card that is used</entry>
-            </row>
-            <row>
-              <entry>
-                <literal>ccwgroup.lcs.type</literal> (string)
+                <literal>sdio.rca</literal> (int)
               </entry>
-              <entry>example: OSA LCS card</entry>
+              <entry>example: 8083</entry>
               <entry>Yes</entry>
-              <entry>The type of the card</entry>
+              <entry>Card bus address</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.lcs.lancmd_timeout</literal> (int)
+                <literal>sdio.card_id</literal> (int)
               </entry>
-              <entry>example: 5</entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>The timeout value for LAN commands in seconds</entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-      <para>
-        The following properties describe <literal>ccwgroup</literal> devices
-        where <literal>linux.driver</literal> is <literal>claw</literal>.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
-            <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>SDIO Class for the interface</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
               <entry>
-                <literal>ccwgroup.claw.api_type</literal> (string)
+                <literal>sdio.class_id</literal> (int)
               </entry>
-              <entry></entry>
+              <entry>example: 0x03</entry>
               <entry>Yes</entry>
-              <entry>Determines the packing algorithm for outgoing pakets
-                (matching the remote peer)
-              </entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>IP</entry>
-              <entry></entry>
-              <entry>Using the IP protocol</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>PACKED</entry>
-              <entry></entry>
-              <entry>Using an enhanced packing algorithm</entry>
-            </row>
-            <row>
-              <entry></entry>
-              <entry>TCPIP</entry>
-              <entry></entry>
-              <entry>Using the TCP/IP protocol</entry>
+              <entry>SDIO Class for the interface</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.claw.adapter_name</literal> (string)
+                <literal>sdio.product_id</literal> (int)
               </entry>
-              <entry>example: RS1</entry>
+              <entry>example: 0x046a</entry>
               <entry>Yes</entry>
-              <entry>The host name of the remote communication peer.</entry>
+              <entry>Product ID</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.claw.host_name</literal> (string)
+                <literal>sdio.vendor_id</literal> (int)
               </entry>
-              <entry>example: LNX1</entry>
+              <entry>example: 0x039d</entry>
               <entry>Yes</entry>
-              <entry>The host name of the local adapter.</entry>
+              <entry>Vendor ID</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.claw.read_buffer</literal> (int)
+                <literal>sdio.product</literal> (string)
               </entry>
-              <entry>example: 4</entry>
-              <entry>Yes</entry>
-              <entry>The number of read buffers allocated</entry>
+              <entry>SQN1130 WiMAX Network Card</entry>
+              <entry>No</entry>
+              <entry>Name of the product per the SDIO database</entry>
             </row>
             <row>
               <entry>
-                <literal>ccwgroup.claw.write_buffer</literal> (int)
+                <literal>sdio.vendor</literal> (string)
               </entry>
-              <entry>example: 5</entry>
-              <entry>Yes</entry>
-              <entry>The number of write buffers allocated</entry>
+              <entry>Sequans Communications</entry>
+              <entry>No</entry>
+              <entry>Name of the vendor per the SDIO database</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-iucv">
+
+    <sect2 id="device-properties-serialif">
       <title>
-        iucv namespace
+        serial namespace
       </title>
       <para>
-        Device objects with <literal>info.subsystem</literal> set to <literal>iucv
-        </literal>
-         are using the "Intra-User Comminication Vehicle" and are
-        described by the following properties.
+        Device objects that represent serial devices (e.g. /dev/ttyS* or
+        /dev/ttyUSB*).
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2786,59 +2831,56 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>iucv.bus_id</literal> (string)
+                <literal>serial.originating_device</literal> (string)
+              </entry>
+              <entry>
+                example: <literal>/org/freedesktop/Hal/devices/pnp_PNP0501</literal>
               </entry>
-              <entry>example: netiucv0</entry>
               <entry>Yes</entry>
-              <entry>The device's bus id in sysfs</entry>
+              <entry>UDI of the device the serial device is bound to.</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-      <para>
-        The following properties describe <literal>iucv</literal> devices
-        where <literal>linux.driver</literal> is <literal>netiucv</literal>.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>serial.device</literal> (string)
+              </entry>
+              <entry>example: /dev/ttyS0</entry>
+              <entry>Yes</entry>
+              <entry>The device node to access the OSS device.</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
               <entry>
-                <literal>iucv.netiucv.user</literal> (string)
+                <literal>serial.port</literal> (int)
               </entry>
-              <entry>example: linux12</entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>The guest name of the connection's target</entry>
+              <entry>
+                The port number of the device, based on the number in
+                <literal>serial.device</literal>
+              </entry>
             </row>
             <row>
               <entry>
-                <literal>iucv.netiucv.buffer</literal> (int)
+                <literal>serial.type</literal> (string)
               </entry>
-              <entry>example: 32768</entry>
+              <entry>example: platform, usb, unknown</entry>
               <entry>Yes</entry>
-              <entry>The maximum buffer size of the connection</entry>
+              <entry>This property defines the type of the serial device.</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
-    <sect2 id="device-properties-block">
+
+    <sect2 id="device-properties-usb">
       <title>
-        block namespace
+        usb_device namespace
       </title>
       <para>
-        Device objects representing addressable block devices, such as
-        drives and partitions, will have <literal>info.subsystem</literal>
-        set to <literal>block</literal> and will export a number of
-        properties in the <literal>block</literal> namespace.
+        For device objects representing USB devices the property
+        <literal>info.subsystem</literal> will be <literal>usb_device</literal>,
+        and the following properties will be available. Note that the
+        corresponding USB interfaces are represented by separate
+        device objects as children.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -2853,305 +2895,238 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>block.device</literal> (string)
+                <literal>usb_device.bus_number</literal> (int)
               </entry>
-              <entry>example: /dev/sda </entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>Special device file to interact with the block device</entry>
+              <entry>The USB bus the device is attached to</entry>
             </row>
             <row>
               <entry>
-                <literal>block.major</literal> (int)
+                <literal>usb_device.configuration_value</literal> (int)
               </entry>
-              <entry>example: 8</entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>Major number of special file to interact with the
-                device
+              <entry>The current configuration the USB device is in;
+                starting from 1
               </entry>
             </row>
             <row>
               <entry>
-                <literal>block.minor</literal> (int)
+                <literal>usb_device.configuration</literal> (int)
               </entry>
-              <entry>example: 1</entry>
-              <entry>Yes</entry>
-              <entry>Minor number of special file to interact with the
-                device
+              <entry>example: Bulk transfer configuration</entry>
+              <entry>No</entry>
+              <entry>Human-readable description of the current configuration the USB device is in
               </entry>
             </row>
             <row>
               <entry>
-                <literal>block.is_volume</literal> (bool)
+                <literal>usb_device.num_configurations</literal> (int)
               </entry>
-              <entry></entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>True only when the block device is a volume that can
-                be mounted into the file system. In this case the
-                <literal>volume</literal> capability will be set and
-                thus, properties, in the <literal>volume</literal>
-                namespace are available.
+              <entry>Number of configurations this USB device
+                can assume
               </entry>
             </row>
             <row>
               <entry>
-                <literal>block.no_partitions</literal> (bool)
+                <literal>usb_device.device_class</literal> (int)
               </entry>
-              <entry></entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
-              <entry>For toplevel block devices, this is TRUE only
-                when no known partition tables have been found on the
-                media (In this case, if the storage device contain a
-                file system it will be accessible using the same
-                special device file as the one for this device object
-                and the device object representing the filesystem will
-                appear as a separate device object as a child). For
-                the child, that is
-                when <literal>block.is_volume</literal> is true, this
-                property is TRUE exactly when it was created for a
-                storage device with
-                the <literal>storage.no_partitions_hint</literal> set
-                to TRUE.
-              </entry>
+              <entry>USB Device Class</entry>
             </row>
             <row>
               <entry>
-                <literal>block.have_scanned</literal> (bool)
+                <literal>usb_device.device_subclass</literal> (int)
               </entry>
-              <entry></entry>
+              <entry>example: 0</entry>
               <entry>Yes</entry>
+              <entry>USB Device Sub Class</entry>
+            </row>
+            <row>
               <entry>
-                An internal property used by HAL to specify whether a top
-                level block device have already been scanned for filesystems.
+                <literal>usb_device.device_protocol</literal> (int)
               </entry>
+              <entry>example: 0</entry>
+              <entry>Yes</entry>
+              <entry>USB Device Protocol</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-    <sect2 id="device-properties-xen">
-      <title>xen namespace</title>
-      <para>
-	Device objects representing virtual devices under the Xen
-	Virtual Machine Monitor, such as frontend network or block
-	devices, will have <literal>info.subsystem</literal> set to
-	<literal>block</literal> and will export a number of
-	properties in then <literal>xen</literal> namespace.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb_device.is_self_powered</literal> (bool)
+              </entry>
+              <entry>example: false</entry>
+              <entry>Yes</entry>
+              <entry>The device, in the current configuration, is self
+                powered
+              </entry>
             </row>
-          </thead>
-          <tbody>
             <row>
-              <entry><literal>xen.bus_id</literal> (string)</entry>
-              <entry>example: vif-0 </entry>
+              <entry>
+                <literal>usb_device.can_wake_up</literal> (bool)
+              </entry>
+              <entry>example: true</entry>
               <entry>Yes</entry>
-              <entry>The XenBus ID of the device</entry>
+              <entry>The device, in the current configuration, can wake up</entry>
             </row>
             <row>
-              <entry><literal>xen.path</literal> (string)</entry>
-              <entry>example: device/vif/0 </entry>
+              <entry>
+                <literal>usb_device.max_power</literal> (int)
+              </entry>
+              <entry>example: 98</entry>
               <entry>Yes</entry>
-              <entry>The XenBus path of the device</entry>
+              <entry>Max power drain of device, in mA</entry>
             </row>
             <row>
-              <entry><literal>xen.type</literal> (string)</entry>
-              <entry>example: vif</entry>
+              <entry>
+                <literal>usb_device.num_interfaces</literal> (int)
+              </entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>The type of Xen device</entry>
+              <entry>Number of USB Interfaces in the current configuration</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-
-    <sect2 id="device-properties-bluetooth_hci">
-      <title>bluetooth_hci namespace</title>
-      <para>
-	Device objects representing a Bluetooth Host Controller Interface.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb_device.num_ports</literal> (int)
+              </entry>
+              <entry>example: 0</entry>
+              <entry>Yes</entry>
+              <entry>Number of ports on a hub. Zero for non-hubs</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
-              <entry><literal>bluetooth_hci.address</literal> (uint64)</entry>
-              <entry></entry>
+              <entry>
+                <literal>usb_device.port_number</literal> (int)
+              </entry>
+              <entry>example: 1</entry>
               <entry>Yes</entry>
-              <entry>Address of the host controller interface.</entry>
+              <entry>The port number on the parent hub that the device is attached to, starting from 1</entry>
             </row>
             <row>
-              <entry><literal>bluetooth_hci.originating_device</literal> (string)</entry>
-              <entry></entry>
+              <entry>
+                <literal>usb_device.speed</literal> (double)
+              </entry>
+              <entry>examples: 1.5, 12.0, 480.0</entry>
               <entry>Yes</entry>
-              <entry>The UDI of the physical device (e.g. an USB interface) that provides the HCI hardware.</entry>
+              <entry>Speed of device, in Mbit/s</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-
-    <sect2 id="device-properties-bluetooth_acl">
-      <title>bluetooth_acl namespace</title>
-      <para>
-	Device objects representing Asynchronous Connection-oriented Links.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb_device.version</literal> (double)
+              </entry>
+              <entry>examples: 1.0, 1.1, 2.0</entry>
+              <entry>Yes</entry>
+              <entry>USB version of device</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
-              <entry><literal>bluetooth_acl.address</literal> (uint64)</entry>
-              <entry></entry>
+              <entry>
+                <literal>usb_device.level_number</literal> (int)
+              </entry>
+              <entry>example: 2</entry>
               <entry>Yes</entry>
-              <entry>Address of the device at the other end of the connection.</entry>
+              <entry>Depth in USB tree, where the virtual root hub
+                is at depth 0
+              </entry>
             </row>
             <row>
-              <entry><literal>bluetooth_acl.originating_device</literal> (string)</entry>
-              <entry></entry>
-              <entry>Yes</entry>
-              <entry>The UDI of the Bluetooth HCI (of
-              capability <literal>bluetooth_hci</literal>) that the
-              connection is made through.
+              <entry>
+                <literal>usb_device.linux.device_number</literal> (string)
               </entry>
+              <entry>example: 19</entry>
+              <entry>Yes (only on Linux)</entry>
+              <entry>USB Device Number as assigned by the Linux kernel</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-
-    <sect2 id="device-properties-bluetooth_sco">
-      <title>bluetooth_sco namespace</title>
-      <para>
-	Device objects representing Synchronous Connection-Oriented links.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb_device.linux.parent_number</literal> (string)
+              </entry>
+              <entry>example: 19</entry>
+              <entry>Yes (only on Linux)</entry>
+              <entry>Device number of parent device as assigned by the
+                Linux kernel
+              </entry>
             </row>
-          </thead>
-          <tbody>
             <row>
-              <entry><literal>bluetooth_sco.address</literal> (uint64)</entry>
-              <entry></entry>
-              <entry>Yes</entry>
-              <entry>Address of the device at the other end of the connection.</entry>
+              <entry>
+                <literal>usb_device.linux.sysfs_path</literal> (string)
+              </entry>
+              <entry>example: /sys/devices/pci0000:00/0000:00:07.2/usb1/1-1/1-1.1</entry>
+              <entry>Yes (only on Linux)</entry>
+              <entry>
+                Equals <literal>linux.sysfs_path</literal>
+              </entry>
             </row>
             <row>
-              <entry><literal>bluetooth_sco.originating_device</literal> (string)</entry>
-              <entry></entry>
-              <entry>Yes</entry>
-              <entry>The UDI of the Bluetooth HCI (of
-              capability <literal>bluetooth_hci</literal>) that the
-              connection is made through.
+              <entry>
+                <literal>usb_device.product_id</literal> (int)
               </entry>
+              <entry>example: 0x3005</entry>
+              <entry>Yes</entry>
+              <entry>USB Product ID</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-
-    <sect2 id="device-properties-drm">
-      <title>drm namespace</title>
-      <para>
-	The <literal>drm</literal> namespace is present for Direct Rendering Manager device objects.
-	They represent a Direct Rendering Interface.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb_device.vendor_id</literal> (int)
+              </entry>
+              <entry>example: 0x04b3</entry>
+              <entry>Yes</entry>
+              <entry>USB Vendor ID</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
-              <entry><literal>drm.dri_library</literal> (string)</entry>
-              <entry></entry>
+              <entry>
+                <literal>usb_device.device_revision_bcd</literal> (int)
+              </entry>
+              <entry>example: 0x0100</entry>
               <entry>Yes</entry>
-              <entry>Name of the dri (Direct Rendering Interface) library (e.g. i915).</entry>
+              <entry>Device Revision Number encoded in BCD with two decimals</entry>
             </row>
             <row>
-              <entry><literal>drm.version</literal> (string)</entry>
+              <entry>
+                <literal>usb_device.serial</literal> (string)
+              </entry>
               <entry></entry>
-              <entry>Yes</entry>
-              <entry>The drm version (of the kernel module/diver).</entry>
+              <entry>No</entry>
+              <entry>A string uniquely identifying the instance
+                of the device; ie. it will be different for two devices
+                of the same type. Note that the serial number is broken
+                on some USB devices.
+              </entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-    <sect2 id="device-properties-ps3_system_bus">
-      <title>
-        ps3_system_bus namespace
-      </title>
-      <para>
-        Devices on the PlayStation 3 system bus are represented by device
-        objects where <literal>info.subsystem</literal> equals
-        <literal>ps3_system_bus</literal>. The following properties are
-        available for such device objects.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb_device.product</literal> (string)
+              </entry>
+              <entry>example: IBM USB HUB KEYBOARD</entry>
+              <entry>No</entry>
+              <entry>Name of the product per the USB ID Database</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
               <entry>
-                <literal>ps3_system_bus.id</literal> (string)
+                <literal>usb_device.vendor</literal> (string)
               </entry>
-              <entry>example: serial</entry>
-              <entry>Yes</entry>
-              <entry>Device identification</entry>
+              <entry>example: IBM Corp.</entry>
+              <entry>No</entry>
+              <entry>Name of the vendor per the USB ID Database</entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </sect2>
 
-    <sect2 id="device-properties-virtio">
+    <sect2 id="device-properties-usbif">
       <title>
-        virtio namespace
+        usb namespace
       </title>
       <para>
-        Devices on the VirtIO bus are represented by device
-        objects where <literal>info.subsystem</literal> equals
-        <literal>virtio</literal>. The following properties are
-        available for such device objects.
+        Device objects that represent USB interfaces, ie. when
+        <literal>info.subsystem</literal> assumes <literal>usb</literal>,
+        are represented by the properties below. In addition all
+        the <literal>usb_device.*</literal> properties from the parent
+        USB device is available in this namespace but only with
+        the <literal>usb</literal> prefix instead of
+        <literal>usb_device</literal>.
       </para>
       <informaltable>
         <tgroup cols="2">
@@ -3166,82 +3141,53 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
           <tbody>
             <row>
               <entry>
-                <literal>virtio.id</literal> (string)
+                <literal>usb.interface.class</literal> (int)
               </entry>
-              <entry>example: serial</entry>
+              <entry>example: 0x03</entry>
               <entry>Yes</entry>
-              <entry>Device identification</entry>
+              <entry>USB Class for the interface</entry>
             </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </sect2>
-
-    <sect2 id="device-properties-bdi">
-      <title>
-        bdi namespace
-      </title>
-      <para>
-	Devices backing a memory (mmap) region, called Backing Device 
-	Information (BDI), are represented by device objects where 
-	<literal>info.subsystem</literal> equals <literal>bdi</literal>. 
-	The following properties are available for such device objects.
-      </para>
-      <informaltable>
-        <tgroup cols="2">
-          <thead>
             <row>
-              <entry>Key (type)</entry>
-              <entry>Values</entry>
-              <entry>Mandatory</entry>
-              <entry>Description</entry>
+              <entry>
+                <literal>usb.interface.subclass</literal> (int)
+              </entry>
+              <entry>example: 0x01</entry>
+              <entry>Yes</entry>
+              <entry>USB Sub Class for this interface</entry>
             </row>
-          </thead>
-          <tbody>
             <row>
               <entry>
-                <literal>bdi.id</literal> (int)
+                <literal>usb.interface.protocol</literal> (int)
               </entry>
-              <entry></entry>
+              <entry>example: 0x01</entry>
               <entry>Yes</entry>
-              <entry>Device identification</entry>
+              <entry>USB Protocol for the interface</entry>
             </row>
             <row>
               <entry>
-                <literal>bdi.read_ahead_kb</literal> (int)
+                <literal>usb.interface.description</literal> (int)
               </entry>
-              <entry></entry>
+              <entry>example: SyncML interface</entry>
               <entry>No</entry>
-              <entry>
-		Size of the read-ahead window in kilobytes
-		For more information check the Linux kernel documentation
-	      </entry>
+              <entry>Human-readable description for the interface provided by the device</entry>
             </row>
             <row>
               <entry>
-                <literal>bdi.min_ratio</literal> (int)
+                <literal>usb.interface.number</literal> (int)
               </entry>
-              <entry></entry>
-              <entry>No</entry>
-              <entry>
-		The 'min_ratio' parameter contains information about the 
-		minimum percentage of the write-back cache to a particular 
-		device.
-		For more information check the Linux kernel documentation
-	      </entry>
+              <entry>example: 1</entry>
+              <entry>Yes</entry>
+              <entry>Number of this interface, starting from zero</entry>
             </row>
             <row>
               <entry>
-                <literal>bdi.max_ratio</literal> (int)
+                <literal>usb.linux.sysfs_path</literal> (string)
               </entry>
-              <entry></entry>
-              <entry>No</entry>
+              <entry>example: /sys/devices/pci0000:00/0000:00:07.2/usb1/1-1/1-1.1/1-1.1:1.0</entry>
+              <entry>Yes (only on Linux)</entry>
               <entry>
-		The 'max_ratio' parameter contains information about the 
-		maximum percentage of the write-back cache a particular 
-		device can use. 
-		For more information check the Linux kernel documentation
-	      </entry>
+                Equals <literal>linux.sysfs_path</literal>
+              </entry>
             </row>
           </tbody>
         </tgroup>
@@ -3290,6 +3236,40 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
       </informaltable>
     </sect2>
 
+    <sect2 id="device-properties-virtio">
+      <title>
+        virtio namespace
+      </title>
+      <para>
+        Devices on the VirtIO bus are represented by device
+        objects where <literal>info.subsystem</literal> equals
+        <literal>virtio</literal>. The following properties are
+        available for such device objects.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry>
+                <literal>virtio.id</literal> (string)
+              </entry>
+              <entry>example: serial</entry>
+              <entry>Yes</entry>
+              <entry>Device identification</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
+
     <sect2 id="device-properties-vmbus">
       <title>
         vmbus namespace
@@ -3357,7 +3337,48 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
       </informaltable>
     </sect2>
 
-
+    <sect2 id="device-properties-xen">
+      <title>xen namespace</title>
+      <para>
+	Device objects representing virtual devices under the Xen
+	Virtual Machine Monitor, such as frontend network or block
+	devices, will have <literal>info.subsystem</literal> set to
+	<literal>block</literal> and will export a number of
+	properties in then <literal>xen</literal> namespace.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry><literal>xen.bus_id</literal> (string)</entry>
+              <entry>example: vif-0 </entry>
+              <entry>Yes</entry>
+              <entry>The XenBus ID of the device</entry>
+            </row>
+            <row>
+              <entry><literal>xen.path</literal> (string)</entry>
+              <entry>example: device/vif/0 </entry>
+              <entry>Yes</entry>
+              <entry>The XenBus path of the device</entry>
+            </row>
+            <row>
+              <entry><literal>xen.type</literal> (string)</entry>
+              <entry>example: vif</entry>
+              <entry>Yes</entry>
+              <entry>The type of Xen device</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
   </sect1>
 
   <sect1 id="properties-functional">


More information about the hal-commit mailing list