Quote:
Originally Posted by {BBI}Nexus{BBI}
|
Thanks Nexus. That page was helpful in providing a basic HAL overview, and gets me a bit closer, but I'm still stumped.
I ran lshal before and after inserting the two different cards. Here is the lshal output for the SD card that works (the one that the system discovers is mountable and actually mounts into /media/disk):
Code:
udi = '/org/freedesktop/Hal/devices/volume_uuid_6237_6236'
block.device = '/dev/sdc1' (string)
block.is_volume = true (bool)
block.major = 8 (0x8) (int)
block.minor = 33 (0x21) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Generic_USB_SD_Reader_058F312D81B_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_Generic_USB_SD_Reader_058F312D81B_0_0' (string)
info.product = 'Volume (vfat)' (string)
info.udi = '/org/freedesktop/Hal/devices/volume_uuid_6237_6236' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/block/sdc/sdc1' (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)
storage.model = '' (string)
volume.block_size = 512 (0x200) (int)
volume.fstype = 'vfat' (string)
volume.fsusage = 'filesystem' (string)
volume.fsversion = 'FAT16' (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 = '' (string)
volume.linux.is_device_mapper = false (bool)
volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush'} (string list)
volume.mount_point = '/media/disk' (string)
volume.num_blocks = 3967239 (0x3c8907) (int)
volume.partition.flags = {} (string list)
volume.partition.label = '' (string)
volume.partition.media_size = 2032664576 (0x79280000) (uint64)
volume.partition.number = 1 (0x1) (int)
volume.partition.scheme = 'mbr' (string)
volume.partition.start = 127488 (0x1f200) (uint64)
volume.partition.type = '0x06' (string)
volume.partition.uuid = '' (string)
volume.size = 2031226368 (0x79120e00) (uint64)
volume.unmount.valid_options = {'lazy'} (string list)
volume.uuid = '6237-6236' (string)
lshal also shows a new device object added when I insert the miniSDHC card into the USB card reader below:
Code:
udi = '/org/freedesktop/Hal/devices/volume_part1_size_4000285184'
block.device = '/dev/sdc1' (string)
block.is_volume = true (bool)
block.major = 8 (0x8) (int)
block.minor = 33 (0x21) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Generic_USB_SD_Reader_058F312D81B_0_0' (string)
info.capabilities = {'volume', 'block'} (string list)
info.category = 'volume' (string)
info.parent = '/org/freedesktop/Hal/devices/storage_serial_Generic_USB_SD_Reader_058F312D81B_0_0' (string)
info.product = 'Volume' (string)
info.udi = '/org/freedesktop/Hal/devices/volume_part1_size_4000285184' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/block/sdc/sdc1' (string)
storage.model = '' (string)
volume.block_size = 512 (0x200) (int)
volume.fstype = '' (string)
volume.fsusage = '' (string)
volume.fsversion = '' (string)
volume.is_disc = false (bool)
volume.is_mounted = false (bool)
volume.is_mounted_read_only = false (bool)
volume.is_partition = true (bool)
volume.label = '' (string)
volume.linux.is_device_mapper = false (bool)
volume.mount_point = '' (string)
volume.num_blocks = 7813057 (0x7737c1) (int)
volume.partition.flags = {} (string list)
volume.partition.label = '' (string)
volume.partition.media_size = 4000317440 (0xee700000) (uint64)
volume.partition.number = 1 (0x1) (int)
volume.partition.scheme = 'mbr' (string)
volume.partition.start = 32256 (0x7e00) (uint64)
volume.partition.type = '0x0b' (string)
volume.partition.uuid = '' (string)
volume.size = 4000285184 (0xee6f8200) (uint64)
volume.uuid = '' (string)
But notice both volume.uuid and the volume.fstype are empty. I suspect that the miniSDHC card is a FAT32 type filesystem and is 4GB in size, while the normal SD card is is FAT16 and only 2GB in size (which is reflected in the volume.fstype = 'vfat' line in the output for the normal SD card).
I took a closer look at the /var/log files, and saw that, when connecting the normal SD card, I see this added to /var/log/daemon.log:
Code:
Sep 7 18:27:53 hungover NetworkManager: <debug> [1220837273.762931] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/volume_uuid_6237_6236').
Sep 7 18:27:53 hungover hald: mounted /dev/sdc1 on behalf of uid 1000
But when connecting the miniSDHC card, I only see this:
Code:
Sep 7 18:24:53 hungover NetworkManager: <debug> [1220837093.890870] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/volume_part1_size_4000285184').
So, is the missing uuid on the card the problem, or is that because there is a incomplete HAL device information file? Or, is the missing volume.fstype value the key to the problem here?
Also, how do I map the above lshal output for the working SD card back to the specific HAL configuration files under /usr/share/hal/fdi/information/, so that I can figure out what is missing?
Thanks for your help!
bgoodr