This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Device notifier for non-standard mountpoints

Tags: None
(comma "," separated)
emarqe
Registered Member
Posts
13
Karma
0
Hi all,

Currently I'm facing a problem with the Device Notifier, which doesn't show the mounted devices of my users. My scenario is a bit complex, but resuming, my aim is to have one server and multiple thin-clients connected to it and use KDE. Only the server runs KDE sessions and it creates one per user. All this works fine, but when one of these clients stick in an USB drive, even if it actually is mounted, the user can browse thru it, etc, it's not shown up on the 'Device Notifier' applet.

My KDE version is 4.3.4 (yes, I'm aware it's an old version, but due to the above explaination, which uses a very specific hardware configuration, this version of KDE is a must).

Making some tests, turns out that the USB drive is recognized by the 'udisks' tool, so if I call 'udisks --dump' I see this information related to the device:

Code: Select all
added:     /org/freedesktop/UDisks/devices/utdisk1
Showing information for /org/freedesktop/UDisks/devices/utdisk1
  native-path:                 /sys/devices/virtual/block/utdisk1
  device:                      251:1
  device-file:                 /dev/utdisk1
    presentation:              /dev/utdisk1
  detected at:                 mié 09 jul 2014 13:05:18 WEST
  system internal:             0
  removable:                   1
  has media:                   1 (detected at mié 09 jul 2014 13:05:18 WEST)
    detects change:            1
    detection by polling:      1
    detection inhibitable:     1
    detection inhibited:       0
  is read only:                0
  is mounted:                  0
  mount paths:
  mounted by uid:              0
  presentation hide:           0
  presentation nopolicy:       1
  presentation name:
  presentation icon:
  size:                        4284481536
  block size:                  512
  job underway:                no
  usage:
  type:
  version:
  uuid:
  label:
  partition table:
    scheme:                    mbr
    count:                     1
  drive:
    vendor:
    model:
    revision:
    serial:
    WWN:
    detachable:                0
    can spindown:              0
    rotational media:          Yes, unknown rate
    write-cache:               unknown
    ejectable:                 0
    adapter:                   Unknown
    ports:
    similar devices:
    media:
      compat:
    interface:                 (unknown)
    if speed:                  (unknown)
    ATA SMART:                 not available

added:     /org/freedesktop/UDisks/devices/utdisk1p1
Showing information for /org/freedesktop/UDisks/devices/utdisk1p1
  native-path:                 /sys/devices/virtual/block/utdisk1/utdisk1p1
  device:                      251:2
  device-file:                 /dev/utdisk1p1
    presentation:              /dev/utdisk1p1
    by-id:                     /dev/disk/by-uuid/25E6-DE47
  detected at:                 mié 09 jul 2014 13:05:23 WEST
  system internal:             0
  removable:                   0
  has media:                   1 (detected at mié 09 jul 2014 13:05:23 WEST)
    detects change:            0
    detection by polling:      0
    detection inhibitable:     0
    detection inhibited:       0
  is read only:                0
  is mounted:                  1
  mount paths:             /tmp/SUNWut/mnt/nicolas/noname
  mounted by uid:              0
  presentation hide:           0
  presentation nopolicy:       1
  presentation name:
  presentation icon:
  size:                        4284481536
  block size:                  512
  job underway:                no
  usage:                       filesystem
  type:                        vfat
  version:                     FAT32
  uuid:                        25E6-DE47
  label:                       USB20FD
  partition:
    part of:                   /org/freedesktop/UDisks/devices/utdisk1
    scheme:                    mbr
    number:                    1
    type:                      0x0c
    flags:
    offset:                    24576
    alignment offset:          0
    size:                      4284481536
    label:
    uuid:



On the other hand, the 'solid-hardware list' command (which seems to be the KDE's hardware control tool) doesn't list this device, which I guess is the problem. I also tried sticking the USB device to the server instead of the client, and it gets mounted and notified. So it's just the case where the user sticks in the USB drive into the thin-client and it gets mounted this way where it it's not shown.

Being stuck at this situation, I'd like to ask some questions to debug this:

1) What mechanism uses the 'Device notifier' to work? I mean, is it listening to HAL/UDEV/... and whenever something changes, it shows it up?
2) Is there a way to manually notify a storage device, so it's shown upon some user's action to force it being shown?

Any help related with this will be very appreciated.

Thanks!
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
The Device Notifier uses Solid, which in turn relies upon the appropriate subsystem. KDE 4.3, from what I recall and can tell of the shipped source code relies upon HAL rather than UDisks. Can you post the output of "solid-hardware list" that you got?

If Solid is not aware of the device it will be very difficult to fix (as it will require debugging/patching of the source code).

Is there anything in particular which prevents you from moving to KDE 4.4 and above?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
emarqe
Registered Member
Posts
13
Karma
0
bcooksley wrote:The Device Notifier uses Solid, which in turn relies upon the appropriate subsystem. KDE 4.3, from what I recall and can tell of the shipped source code relies upon HAL rather than UDisks. Can you post the output of "solid-hardware list" that you got?

If Solid is not aware of the device it will be very difficult to fix (as it will require debugging/patching of the source code).

Is there anything in particular which prevents you from moving to KDE 4.4 and above?


Thanks very much for your answer. The output of the mentioned command would be this:

Code: Select all
udi = '/org/freedesktop/Hal/devices/volume_uuid_25E6_DE47'
udi = '/org/freedesktop/Hal/devices/usb_device_154b_7a_AA00000000004402_if0_scsi_host_0_scsi_device_lun0_scsi_generic'
udi = '/org/freedesktop/Hal/devices/usb_device_154b_7a_AA00000000004402_if0_scsi_host_0_scsi_device_lun0'
udi = '/org/freedesktop/Hal/devices/usb_device_154b_7a_AA00000000004402_if0_scsi_host_0'
udi = '/org/freedesktop/Hal/devices/usb_device_154b_7a_AA00000000004402_if0_scsi_host'
udi = '/org/freedesktop/Hal/devices/usb_device_154b_7a_AA00000000004402_if0'
udi = '/org/freedesktop/Hal/devices/usb_device_154b_7a_AA00000000004402'
udi = '/org/freedesktop/Hal/devices/volume_uuid_n21Gud_IzN5_fyLQ_6Ff7_p5jz_rjcm_ERXvV3'
udi = '/org/freedesktop/Hal/devices/volume_uuid_2dfaf5f7_c114_4cb7_bdd0_ef4ebfe4137c'
udi = '/org/freedesktop/Hal/devices/computer'
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/storage_model_VMware_Virtual_S'
udi = '/org/freedesktop/Hal/devices/platform_floppy_0_storage_platform_floppy'
udi = '/org/freedesktop/Hal/devices/storage_model_VMware_IDE_CDR10'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0501_0_serial_platform_1'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0501_serial_platform_0'
udi = '/org/freedesktop/Hal/devices/computer_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/computer_alsa_timer'
udi = '/org/freedesktop/Hal/devices/computer_alsa_sequencer'
udi = '/org/freedesktop/Hal/devices/net_computer_loopback'
udi = '/org/freedesktop/Hal/devices/ppdev_parport0'
udi = '/org/freedesktop/Hal/devices/platform_pcspkr_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0_alsa_playback_1'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0_alsa_playback_0'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0_alsa_capture_0'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0_alsa_midi_0'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0_oss_midi_0'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0_alsa_control__1'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371_sound_card_0'
udi = '/org/freedesktop/Hal/devices/net_00_0c_29_1f_39_5b'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_3_noserial_if1_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_3_noserial_if0_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/pci_1000_30_scsi_host_scsi_device_lun0_scsi_generic'
udi = '/org/freedesktop/Hal/devices/pci_1000_30_scsi_host_scsi_host'
udi = '/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_scsi_device_lun0_scsi_generic'
udi = '/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_scsi_host'
udi = '/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0'
udi = '/org/freedesktop/Hal/devices/computer_power_supply_ac_adapter_ACAD'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0c02_0'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0700'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0501_0'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0501'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0400'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0103'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0f13'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0303'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0800'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0b00'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0001'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0200'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0c02'
udi = '/org/freedesktop/Hal/devices/pnp_PNP0a03'
udi = '/org/freedesktop/Hal/devices/platform_serial8250'
udi = '/org/freedesktop/Hal/devices/platform_reg_dummy'
udi = '/org/freedesktop/Hal/devices/platform_pcspkr'
udi = '/org/freedesktop/Hal/devices/platform_microcode'
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port'
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'
udi = '/org/freedesktop/Hal/devices/platform_i8042'
udi = '/org/freedesktop/Hal/devices/platform_floppy_0'
udi = '/org/freedesktop/Hal/devices/platform_alarmtimer'
udi = '/org/freedesktop/Hal/devices/platform_Fixed_MDIO_bus_0'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_30'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_29'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_28'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_27'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_26'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_25'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_24'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_23'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_22'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_21'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_20'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_19'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_18'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_17'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_16'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_15'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_14'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_13'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_12'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_11'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_10'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_9'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_8'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_7'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_6'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_5'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_4'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_3'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_2'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_1'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0_0'
udi = '/org/freedesktop/Hal/devices/pci_15ad_7a0'
udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_2_0000_02_03_0_if0'
udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_2_0000_02_03_0'
udi = '/org/freedesktop/Hal/devices/pci_15ad_770'
udi = '/org/freedesktop/Hal/devices/pci_1274_1371'
udi = '/org/freedesktop/Hal/devices/pci_8086_100f'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_2_noserial_if0'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_2_noserial'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_3_noserial_if1'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_3_noserial_if0'
udi = '/org/freedesktop/Hal/devices/usb_device_e0f_3_noserial'
udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_02_00_0_if0'
udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_02_00_0'
udi = '/org/freedesktop/Hal/devices/pci_15ad_774'
udi = '/org/freedesktop/Hal/devices/pci_15ad_790'
udi = '/org/freedesktop/Hal/devices/pci_1000_30_scsi_host_scsi_device_lun0'
udi = '/org/freedesktop/Hal/devices/pci_1000_30_scsi_host'
udi = '/org/freedesktop/Hal/devices/pci_1000_30'
udi = '/org/freedesktop/Hal/devices/pci_15ad_405'
udi = '/org/freedesktop/Hal/devices/pci_15ad_740'
udi = '/org/freedesktop/Hal/devices/pci_8086_7113'
udi = '/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_scsi_device_lun0'
udi = '/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host'
udi = '/org/freedesktop/Hal/devices/pci_8086_7111'
udi = '/org/freedesktop/Hal/devices/pci_8086_7110'
udi = '/org/freedesktop/Hal/devices/pci_8086_7191'
udi = '/org/freedesktop/Hal/devices/pci_8086_7190'


As you say, in this version, the device notifier seems to be forced to use HAL and there's no way to change it. I've been debugging a little bit further and it seems that HAL indeed recognizes the device, but it won't add it to the tree because it cannot find an appropiate parent.

The reason why I can't upgrade to another version is because the thin-client infrastructure I'm using is only supported by a few operating systems (being Oracle Linux 6.3 one of them, which is in turn based on CentOS), and this one is shipped with its own repos which will install you this version, and the latest upgrades change the build at most, not the minor, so we're still on the 4.3.x version. I guess I could try installing the KDE 4.4 by hand but I wonder if that could become a hell because of the number of packages to upgrade by hand, unless I find a repo for this version with all the needed packages.

Still, I'll try to patch the hal code as you suggested. I don't know how hard could be forcing a parent for the plugged in devices, but I think it's worth trying.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
If UDisks/UDev/UPower are present and working on that system, you could try copying the appropriate backends in for those and recompiling kdelibs. Which version of CentOS is Oracle Linux 6.3 based on? There should be community distributions available for CentOS which have newer versions of KDE available.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
emarqe
Registered Member
Posts
13
Karma
0
That sounds good, could you please provide some guidelines on how to do that, or some reference link? I tried modifying the hal package to patch it, now I'm forcing the device to attach to the tree. It appears in the lshal info, but unfortunately the Device Notifier still can't detect the device. I don't know whether the Device Notifier expects the device to pend over some concrete branch, of whether it checks some property... I'll keep trying, though.

I believe that this version is concretely based on the same version of CentOS (i.e., 6.3), but I'm not quite sure on this. I've been trying to find some CentOS packages for this version of KDE for updating, but up until now I was unable.

Thanks for your help!

==== EDITED ====

I just compared the output of the 'lshal' command when I plug in the USB device directly into the server and when I plug it into a client and both of them seem very similar, but the Device notifier is still unable to detect it, which is logic, because it probably doesn't know who this mountpoint belongs to and to which KDE desktop send the notification. I wonder is there is some 'signal' that should be sent to the device notifier to make it know that the device should be attached to the corresponding desktop, or some filter... I'll keep digging into this. These are the outputs:

For the USB plugged in directly:

Code: Select all
udi = '/org/freedesktop/Hal/devices/volume_uuid_25E6_DE47'
  block.device = '/dev/sdb1'  (string)
  block.is_volume = true  (bool)
  block.major = 8  (0x8)  (int)
  block.minor = 17  (0x11)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_PNY_USB_2_0_FD_AA00000000004402_0_0'  (string)
  info.capabilities = {'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/storage_serial_PNY_USB_2_0_FD_AA00000000004402_0_0'  (string)
  info.product = 'USB20FD'  (string)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_25E6_DE47'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1'  (string)
  org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list)
  org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} (string list)
  volume.block_size = 512  (0x200)  (int)
  volume.fstype = 'vfat'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fsversion = 'FAT32'  (string)
  volume.ignore = false  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = false  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = true  (bool)
  volume.label = 'USB20FD'  (string)
  volume.linux.is_device_mapper = false  (bool)
  volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'relatime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush'} (string list)
  volume.mount_point = ''  (string)
  volume.num_blocks = 31950672  (0x1e78750)  (uint64)
  volume.partition.media_size = 16358768640  (0x3cf0f0000)  (uint64)
  volume.partition.number = 1  (0x1)  (int)
  volume.partition.start = 24576  (0x6000)  (uint64)
  volume.size = 16358744064  (0x3cf0ea000)  (uint64)
  volume.unmount.valid_options = {'lazy'} (string list)
  volume.uuid = '25E6-DE47'  (string)


For the USB being plugged into a client:

Code: Select all
udi = '/org/freedesktop/Hal/devices/computer_storage_pci_disk'
  block.device = '/dev/utdisk1'  (string)
  block.is_volume = false  (bool)
  block.major = 251  (0xfb)  (int)
  block.minor = 1  (0x1)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/computer_storage_pci_disk'  (string)
  info.addons = {'hald-addon-storage'} (string list)
  info.capabilities = {'storage', 'block'} (string list)
  info.category = 'storage'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_2_0000_00_1d_0' (string)
  info.udi = '/org/freedesktop/Hal/devices/computer_storage_pci_disk'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/devices/virtual/block/utdisk1'  (string)
  storage.automount_enabled_hint = true  (bool)
  storage.bus = 'pci'  (string)
  storage.drive_type = 'disk'  (string)
  storage.hotpluggable = false  (bool)
  storage.media_check_enabled = true  (bool)
  storage.model = ''  (string)
  storage.no_partitions_hint = false  (bool)
  storage.originating_device = '/org/freedesktop/Hal/devices/computer'  (string)
  storage.partitioning_scheme = 'none'  (string)
  storage.removable = true  (bool)
  storage.removable.media_available = true  (bool)
  storage.removable.media_size = 16358768640  (0x3cf0f0000) (uint64)
  storage.removable.support_async_notification = false  (bool)
  storage.requires_eject = false  (bool)
  storage.size = 0  (0x0)  (uint64)
  storage.vendor = ''  (string)

udi = '/org/freedesktop/Hal/devices/volume_uuid_25E6_DE47'
  block.device = '/dev/utdisk1p1'  (string)
  block.is_volume = true  (bool)
  block.major = 251  (0xfb)  (int)
  block.minor = 2  (0x2)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/computer_storage_pci_disk'  (string)
  info.capabilities = {'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/computer_storage_pci_disk'  (string)
  info.product = 'USB20FD'  (string)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_25E6_DE47' (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/devices/virtual/block/utdisk1/utdisk1p1' (string)
  org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list)
  org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} (string list)
  volume.block_size = 512  (0x200)  (int)
  volume.fstype = 'vfat'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fsversion = 'FAT32'  (string)
  volume.ignore = false  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = true  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = true  (bool)
  volume.label = 'USB20FD'  (string)
  volume.linux.is_device_mapper = false  (bool)
  volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'relatime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush'} (string list)
  volume.mount_point = '/tmp/SUNWut/mnt/uname/noname'  (string)
  volume.num_blocks = 31950672  (0x1e78750)  (uint64)
  volume.partition.media_size = 16358768640  (0x3cf0f0000)  (uint64)
  volume.partition.number = 1  (0x1)  (int)
  volume.partition.start = 24576  (0x6000)  (uint64)
  volume.size = 16358744064  (0x3cf0ea000)  (uint64)
  volume.unmount.valid_options = {'lazy'} (string list)
  volume.uuid = '25E6-DE47'  (string)

Last edited by emarqe on Tue Sep 16, 2014 5:24 pm, edited 1 time in total.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Is the output you posted above from "solid-hardware details"?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
emarqe
Registered Member
Posts
13
Karma
0
This was the output of lshal, which was very alike to the one shown by solid-hardware. I finally got it running (seems that a reboot was needed to make the new patched HAL package work entirely), but unfortunately I realized this is not going to work as I expected :'(

Basically what happens patching the HAL to make it detect the USB drives on the thin-clients is that devices get mounted and HAL gathers the necessary information of the new device, and afterwards it sends the notification to all the users. So if an user mounts an USB drive, all the clients connected to the same server will see the notification in their Device Notifier saying that there's a new device, although they can't access it thanks to the appropiate permissions.

I think this is the expected behavior, because HAL actually doesn't know who mounted a device, it just recovers the information about it and propagates it to whoever, so with this schema neither KDE knows who belongs a device that was plugged into a client. It's logic, when you are running KDE and you want to mount a device having several desktop instances, the device is also shown on all of them...

In any case, thanks so much for your help, it made clear to me how the Device Notifier works in this old versions.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Unfortunate. I think you may have this problem with UDisks also - you can use the "udisks --monitor" command to verify if this is the case. I'm not sure if it is seat aware or not. If it is, then a migration to using the UDisks backend might be worth looking into.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
emarqe
Registered Member
Posts
13
Karma
0
I guess UDisks would have the same behavior as it neither handles information about owners. I will try to build a similar scenario with udisks and a bigger version of KDE and see whether I can reproduce it, though.

Thanks.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]