removable bit not set for portable USB hard disk.

Gilles Schintgen gilles at vonet.lu
Sun Oct 2 00:50:14 PDT 2005


Hi,

A friend of mine just bought a "Trekstor DataStation pocket", but simply
plugging in and mounting fails in KDE. The reason is that pmount refuses
the mount operation (checked in konsole) because the device is not marked
as removable.
Now my questions:
* How does HAL determine whether to set the removable bit?
* Would it be possible to force all USB media (Flash, HDD, etc.) to have
  this bit set?
* What's the syntax of pmount.allow? I couldn't find any information on how
  the entries should look like, and what possibilities it offers.
Thanks in advance for any help.

I'm using udev-068-r1, hal-0.5.4, dbus-0.36.2, pmount-0.9.3-r3,
KDE-3.5_beta1. All on a Gentoo system.
BTW, using a USB memory stick (Cruzer Micro) works just fine.

Here's everything that is added to lshal output when plugging in the device.
I don't know if it helps.

udi = '/org/freedesktop/Hal/devices/volume_uuid_00E4_8826'
  volume.policy.desired_mount_point = 'TREKSTOR'  (string)
  volume.policy.mount_filesystem = 'vfat'  (string)
  volume.policy.should_mount = true  (bool)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_00E4_8826'  (string)
  volume.partition.msdos_part_table_type = 12  (0xc)  (int)
  info.product = 'TREKSTOR'  (string)
  volume.size = 40007729664  (0x950a58200)  (uint64)
  volume.num_blocks = 78140097  (0x4a852c1)  (int)
  volume.block_size = 512  (0x200)  (int)
  volume.partition.number = 1  (0x1)  (int)
  info.capabilities = {'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  volume.is_partition = true  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = false  (bool)
  volume.mount_point = ''  (string)
  volume.label = 'TREKSTOR'  (string)
  volume.uuid = '00E4-8826'  (string)
  volume.fsversion = 'FAT32'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fstype = 'vfat'  (string)
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_model_0UE_00HCT0'  (string)
  block.is_volume = true  (bool)
  block.minor = 17  (0x11)  (int)
  block.major = 8  (0x8)  (int)
  block.device = '/dev/sdb1'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/storage_model_0UE_00HCT0'  (string)
  linux.sysfs_path_device = '/sys/block/sdb/sdb1'  (string)
  linux.sysfs_path = '/sys/block/sdb/sdb1'  (string)

udi = '/org/freedesktop/Hal/devices/storage_model_0UE_00HCT0'
  storage.policy.should_mount = true  (bool)
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_model_0UE_00HCT0'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/storage_model_0UE_00HCT0'  (string)
  storage.requires_eject = false  (bool)
  storage.hotpluggable = true  (bool)
  info.capabilities = {'storage', 'block'} (string list)
  info.category = 'storage'  (string)
  info.product = '0UE-00HCT0'  (string)
  info.vendor = 'WDC WD40'  (string)
  storage.removable = false  (bool)
  storage.physical_device =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0'  (string)
  storage.lun = 0  (0x0)  (int)
  storage.drive_type = 'disk'  (string)
  storage.vendor = 'WDC WD40'  (string)
  storage.model = '0UE-00HCT0'  (string)
  storage.automount_enabled_hint = true  (bool)
  storage.media_check_enabled = false  (bool)
  storage.no_partitions_hint = false  (bool)
  storage.bus = 'usb'  (string)
  block.is_volume = false  (bool)
  block.minor = 16  (0x10)  (int)
  block.major = 8  (0x8)  (int)
  block.device = '/dev/sdb'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0_scsi_host_scsi_device_lun0'  (string)
  linux.sysfs_path_device = '/sys/block/sdb'  (string)
  linux.sysfs_path = '/sys/block/sdb'  (string)

udi =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0_scsi_host_scsi_device_lun0'
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0_scsi_host_scsi_device_lun0'  (string)
  linux.subsystem = 'scsi'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  info.product = 'SCSI Device'  (string)
  info.linux.driver = 'sd'  (string)
  scsi.lun = 0  (0x0)  (int)
  scsi.target = 0  (0x0)  (int)
  scsi.bus = 0  (0x0)  (int)
  scsi.host = 2  (0x2)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0_scsi_host'  (string)
  info.bus = 'scsi'  (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0/host2/target2:0:0/2:0:0:0'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0/host2/target2:0:0/2:0:0:0'  (string)

udi =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0_scsi_host'
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0_scsi_host'  (string)
  linux.subsystem = 'scsi_host'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  scsi_host.host = 2  (0x2)  (int)
  info.product = 'SCSI Host Adapter'  (string)
  info.capabilities = {'scsi_host'} (string list)
  info.category = 'scsi_host'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0'  (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0/host2'  (string)
  linux.sysfs_path = '/sys/class/scsi_host/host2'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0'
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial_if0'  (string)
  linux.subsystem = 'usb'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  info.product = 'USB Mass Storage Interface'  (string)
  usb.interface.protocol = 80  (0x50)  (int)
  usb.interface.subclass = 6  (0x6)  (int)
  usb.interface.class = 8  (0x8)  (int)
  usb.interface.number = 0  (0x0)  (int)
  info.linux.driver = 'usb-storage'  (string)
  usb.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0'  (string)
  usb.configuration_value = 1  (0x1)  (int)
  usb.num_configurations = 1  (0x1)  (int)
  usb.num_interfaces = 1  (0x1)  (int)
  usb.device_class = 0  (0x0)  (int)
  usb.device_subclass = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  usb.vendor_id = 1507  (0x5e3)  (int)
  usb.product_id = 1794  (0x702)  (int)
  usb.vendor = 'Genesys Logic, Inc.'  (string)
  usb.product = 'USB Mass Storage Interface'  (string)
  usb.device_revision_bcd = 51  (0x33)  (int)
  usb.max_power = 96  (0x60)  (int)
  usb.num_ports = 0  (0x0)  (int)
  usb.linux.device_number = 2  (0x2)  (int)
  usb.speed_bcd = 294912  (0x48000)  (int)
  usb.version_bcd = 512  (0x200)  (int)
  usb.is_self_powered = true  (bool)
  usb.can_wake_up = false  (bool)
  usb.bus_number = 1  (0x1)  (int)
  info.bus = 'usb'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial'  (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial'
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_5e3_702_noserial'  (string)
  linux.subsystem = 'usb'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  usb_device.bus_number = 1  (0x1)  (int)
  usb_device.can_wake_up = false  (bool)
  usb_device.is_self_powered = true  (bool)
  usb_device.version_bcd = 512  (0x200)  (int)
  usb_device.speed_bcd = 294912  (0x48000)  (int)
  usb_device.linux.device_number = 2  (0x2)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  usb_device.max_power = 96  (0x60)  (int)
  usb_device.device_revision_bcd = 51  (0x33)  (int)
  info.product = 'USB 2.0 IDE Adapter'  (string)
  usb_device.product = 'USB 2.0 IDE Adapter'  (string)
  info.vendor = 'Genesys Logic, Inc.'  (string)
  usb_device.vendor = 'Genesys Logic, Inc.'  (string)
  usb_device.product_id = 1794  (0x702)  (int)
  usb_device.vendor_id = 1507  (0x5e3)  (int)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.device_class = 0  (0x0)  (int)
  usb_device.num_interfaces = 1  (0x1)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.configuration_value = 1  (0x1)  (int)
  usb_device.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8'  (string)
  info.linux.driver = 'usb'  (string)
  info.bus = 'usb_device'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_10_4'  (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8'  (string)





More information about the hal mailing list