hal usb disk a gnome-mount

Ondřej Tůma konference na webjet.cz
Pátek Prosinec 19 18:28:39 CET 2008


zdravím konferenci,

mám problém s automatickým připojováním usb flash disku v gnome.
Dopátral sem se že za celým stojí hal, který v momentě kdy zjistí že
má nějaký připojitelný disk, tak pošle zprávu do gnome a to ho pomocí
gnome-mount připojí.

Celý problém ale je, že zdá se hal vůbec nerozezná připojitelnost USB
disku. Pokud totíž připojím disk do počítače, lshal --monitor vypíše
toto:
18:13:45.731: usb_device_13fe_1d00_5B7A0B940406 added
18:13:46.189: usb_device_13fe_1d00_5B7A0B940406_if0 added
18:13:46.189: usb_device_13fe_1d00_5B7A0B940406_usbraw added
18:13:50.816: usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host added
18:13:50.816: usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host_scsi_device_lun0 added
18:13:50.943: usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host_scsi_device_lun0_scsi_generic added

pokud si nechám vypsat informace o USB disku:
lshal -u usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host_scsi_device_lun0_scsi_generic
výsledek je toto:
udi = '/org/freedesktop/Hal/devices/usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host_scsi_device_lun0_scsi_generic'
  info.capabilities = {'scsi_generic'} (string list)
  info.category = 'scsi_generic'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host_scsi_device_lun0'  (string)
  info.product = 'SCSI Generic Interface'  (string)
  info.subsystem = 'scsi_generic'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_13fe_1d00_5B7A0B940406_if0_scsi_host_scsi_device_lun0_scsi_generic'  (string)
  linux.device_file = '/dev/sg0'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'scsi_generic'  (string)
  linux.sysfs_path = '/sys/class/scsi_generic/sg0'  (string)
  scsi_generic.device = '/dev/sg0'  (string)

podezřelé je na tom celém to, že žádná z vrácených zařízení není vázáno
na /dev/sda1 (které udev vytvoří) a tedy ani žádné zařízení nemá nastavený
příznak block.is_device. Proto také když dám gnome-mount -vdb /dev/sda1
dostanu:
gnome-mount 0.8
** Message: Given device '/dev/sda1' is not a volume or a drive.

u pravidel udev mám toto:
# pass all events to the HAL daemon
RUN+="socket:/org/freedesktop/hal/udev_event"

verze jsou:
hal-0.5.11
hal-info-20081022
udev-116

Všechny fdi soubory jsou pouze z balíčků hal, hal-info a policykit, našel
sem že fedora měla nějaký svůj vlastní soubor 95userpolicy ale to v době,
kdy používala hal 4.x ...

Otázka je, zda někoho nenapadá, kde by mohl být zakopaný pes ? Jsou nutné
nějaké zvláštní pravidla v udev ? Nebo musím vytvořit/zkopírovat onen soubor
95userpolicy do fdi adresáře ?

Resp. jak dostat blokové zařízení do halu ?

Díky za pomoc


-- 
Ondřej Tůma

Unix-like system is the best operation system from the top of the world.
I'm lucky BSD and linux user. :) Use unix-like, be free. :)

www.blackmouse.biz  hash.webjet.cz   mcbig.webjet.cz  IM:mcbig na jabber.cz



Další informace o konferenci Linux