preferences.fdi being ignored

Yan Seiner yan at seiner.com
Thu May 15 21:10:43 PDT 2008


Or I'm doing something wrong....  I've been beating my head against this 
for the better part of 2 days and hal is completely ignoring everything 
I try....

I'm trying to change the mount options on a mp3 player.  I've put this 
together from various mailists and other references.

The problem is that no matter what I do, hal ignores any and all changes 
to any of the /etc/hal/fdi/policy/*fdi files.

I make changes and then restart hal.   No errors, nothing in the log 
files either indicating success, failure, or syntax errors. Then I plug 
in my mp3 player; it's mounted but completely ignores my desired mount 
options.

selene:/media# cat .hal-mtab
/dev/sdj1       1000    0       vfat    
nosuid,nodev,uhelper=hal,shortname=lower,uid=1000       /media/disk-1
/dev/sdi        1000    0       vfat    
nosuid,nodev,uhelper=hal,shortname=lower,uid=1000       /media/disk-2
selene:/media#   

So either I need to explicitly tell hal to re-read those *fdi files, or 
I'm doing something wrong.  Can someone please look at this and tell me 
if it should work?

selene:/etc/hal/fdi/policy# lsusb
Bus 002 Device 014: ID 0781:7422 SanDisk Corp.

udi = 
'/org/freedesktop/Hal/devices/usb_device_781_7422_C904060F7752B4870000000000000000'
  info.linux.driver = 'usb'  (string)
  info.parent = 
'/org/freedesktop/Hal/devices/usb_device_409_5a_noserial'  (string)
  info.product = 'SanDisk Sansa e280'  (string)
  info.subsystem = 'usb_device'  (string)
  info.udi = 
'/org/freedesktop/Hal/devices/usb_device_781_7422_C904060F7752B4870000000000000000'  
(string)
  info.vendor = 'SanDisk Corp.'  (string)
  linux.device_file = '/dev/bus/usb/002/014'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'usb'  (string)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:02.1/usb2/2-1/2-1.2'  (string)
  usb_device.bus_number = 2  (0x2)  (int)
  usb_device.can_wake_up = false  (bool)
  usb_device.configuration = 'config1: Mass Storage only'  (string)
  usb_device.configuration_value = 1  (0x1)  (int)
  usb_device.device_class = 0  (0x0)  (int)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.device_revision_bcd = 52708  (0xcde4)  (int)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.is_self_powered = false  (bool)
  usb_device.linux.device_number = 14  (0xe)  (int)
  usb_device.linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:02.1/usb2/2-1/2-1.2'  (string)
  usb_device.max_power = 500  (0x1f4)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.num_interfaces = 1  (0x1)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  usb_device.product = 'SanDisk Sansa e280'  (string)
  usb_device.product_id = 29730  (0x7422)  (int)
  usb_device.serial = 'C904060F7752B4870000000000000000'  (string)
  usb_device.speed = 480.0 (480) (double)
  usb_device.speed_bcd = 294912  (0x48000)  (int)
  usb_device.vendor = 'SanDisk Corp.'  (string)
  usb_device.vendor_id = 1921  (0x781)  (int)
  usb_device.version = 2.0 (2) (double)
  usb_device.version_bcd = 512  (0x200)  (int)

and finally the sansa.fdi file:

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="block.is_volume" bool="true">
       <match key="volume.fsusage" string="filesystem">
         <match 
key="@block.storage_device:@storage.physical_device:usb.vendor_id" 
int="0x0781">
           <match 
key="@block.storage_device:@storage.physical_device:usb.product_id" 
int="0x7422">
             <merge key="volume.policy.mount_option.sync" 
type="bool">true</merge>
             <merge key="volume.policy.mount_option.noatime" 
type="bool">true</merge>
             <merge key="volume.policy.mount_option.uid=0" 
type="bool">true</merge>
             <merge key="volume.policy.mount_option.gid=47" 
type="bool">true</merge>
             <merge key="volume.policy.mount_option.umask=0002" 
type="bool">true</merge>
           </match>
         </match>
      </match>
    </match>
  </device>
</deviceinfo>

-- 
  o__
  ,>/'_          o__
  (_)\(_)        ,>/'_        o__
Yan Seiner      (_)\(_)       ,>/'_     o__
       Personal Trainer      (_)\(_)    ,>/'_        o__
             Professional Engineer     (_)\(_)       ,>/'_
Who says engineers have to be pencil necked geeks?  (_)\(_)




More information about the hal mailing list