# [SOLVED]CardReader 5-in-1: strange problem with HAL

## petrosha

Hello!

I use 5 in 1 Cardreader from Texas Instruments in my Sony Vaio VGN FZ-18M laptop.

modules - tifm_core tifm_sd tifm_7xx1 mmc_core mmc_block - are loaded.

When I insert a SD card system creates nodes in /dev/ like mmcblk0 and mmcblk0p1

I can mount it with mount or pmount command and everything works fine.

When I take the card out nodes disappear.

The problem is with HAL. When I insert my SD card for the first time after full reboot

HAL shows the card and volumes - so my automounter can easily mount the volume.

But when I take the card out and insert it back - HAL only shows the card itself without any 

partitions. So automounter cannot mount it.  :Sad: 

lshal when inserted first time:

```

udi = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'

  info.bus = 'mmc'  (string)

  info.linux.driver = 'mmcblk'  (string)

  info.parent = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host'  (string)

  info.product = 'SDC'  (string)

  info.subsystem = 'mmc'  (string)

  info.udi = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'  (string)

  info.vendor = 'Unknown (28)'  (string)

  linux.hotplug_type = 2  (0x2)  (int)

  linux.subsystem = 'mmc'  (string)

  linux.sysfs_path = '/sys/class/mmc_host/mmc0/mmc0:b368'  (string)

  mmc.cid = '1c5356534443202010000109f4006651'  (string)

  mmc.csd = '005e00325f5a83d52db7ffbf96800085'  (string)

  mmc.date = '06/2006'  (string)

  mmc.fwrev = 0  (0x0)  (int)

  mmc.hwrev = 1  (0x1)  (int)

  mmc.oem = 'Unknown (21334)'  (string)

  mmc.rca = 45928  (0xb368)  (int)

  mmc.scr = '0125000000000000'  (string)

  mmc.serial = 68084  (0x109f4)  (int)

  mmc.vendor = 'Unknown (28)'  (string)

udi = '/org/freedesktop/Hal/devices/storage_serial_0x000109f4'

  block.device = '/dev/mmcblk0'  (string)

  block.is_volume = false  (bool)

  block.major = 179  (0xb3)  (int)

  block.minor = 0  (0x0)  (int)

  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_0x000109f4'  (string)

  info.capabilities = {'storage', 'block'} (string list)

  info.category = 'storage'  (string)

  info.parent = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'  (string)

  info.udi = '/org/freedesktop/Hal/devices/storage_serial_0x000109f4'  (string)

  linux.hotplug_type = 3  (0x3)  (int)

  linux.sysfs_path = '/sys/block/mmcblk0'  (string)

  storage.automount_enabled_hint = true  (bool)

  storage.bus = 'mmc'  (string)

  storage.drive_type = 'sd_mmc'  (string)

  storage.hotpluggable = true  (bool)

  storage.media_check_enabled = false  (bool)

  storage.model = ''  (string)

  storage.no_partitions_hint = false  (bool)

  storage.originating_device = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'  (string)

  storage.partitioning_scheme = 'none'  (string)

  storage.physical_device = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'  (string)

  storage.removable = false  (bool)

  storage.removable.media_available = true  (bool)

  storage.removable.media_size = 2057830400  (0x7aa80000)  (uint64)

 storage.requires_eject = false  (bool)

  storage.serial = '0x000109f4'  (string)

  storage.size = 2057830400  (0x7aa80000)  (uint64)

  storage.vendor = ''  (string)

udi = '/org/freedesktop/Hal/devices/volume_uuid_5068_B77D'

  block.device = '/dev/mmcblk0p1'  (string)

  block.is_volume = true  (bool)

  block.major = 179  (0xb3)  (int)

  block.minor = 1  (0x1)  (int)

  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_0x000109f4'  (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_0x000109f4'  (string)

  info.product = 'KODAK'  (string)

  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_5068_B77D'  (string)

  linux.hotplug_type = 3  (0x3)  (int)

  linux.sysfs_path = '/sys/block/mmcblk0/mmcblk0p1'  (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)

 storage.model = ''  (string)

  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 = 'KODAK'  (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', 'flush'} (string list)

  volume.mount.valid_options.codepage = '866'  (string)

  volume.mount.valid_options.flush = true  (bool)

  volume.mount.valid_options.iocharset = 'koi8-r'  (string)

  volume.mount.valid_options.utf8 = false  (bool)

  volume.mount_point = '/media/KODAK'  (string)

  volume.num_blocks = 4015629  (0x3d460d)  (int)

  volume.partition.flags = {'boot'} (string list)

  volume.partition.label = ''  (string)

  volume.partition.media_size = 2057830400  (0x7aa80000)  (uint64)

  volume.partition.number = 1  (0x1)  (int)

  volume.partition.scheme = 'mbr'  (string)

  volume.partition.start = 124416  (0x1e600)  (uint64)

 volume.partition.start = 124416  (0x1e600)  (uint64)

  volume.partition.type = '0x0b'  (string)

  volume.partition.uuid = ''  (string)

  volume.size = 2056002048  (0x7a8c1a00)  (uint64)

  volume.unmount.valid_options = {'lazy'} (string list)

  volume.uuid = '5068-B77D'  (string)

```

lshal when inserted any other time:

```

udi = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'

  info.bus = 'mmc'  (string)

  info.linux.driver = 'mmcblk'  (string)

  info.parent = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host'  (string)

  info.product = 'SDC'  (string)

  info.subsystem = 'mmc'  (string)

  info.udi = '/org/freedesktop/Hal/devices/pci_104c_803b_mmc_host_mmc_card_rca45928'  (string)

  info.vendor = 'Unknown (28)'  (string)

  linux.hotplug_type = 2  (0x2)  (int)

  linux.subsystem = 'mmc'  (string)

  linux.sysfs_path = '/sys/class/mmc_host/mmc0/mmc0:b368'  (string)

  mmc.cid = '1c5356534443202010000109f4006651'  (string)

  mmc.csd = '005e00325f5a83d52db7ffbf96800085'  (string)

  mmc.date = '06/2006'  (string)

  mmc.fwrev = 0  (0x0)  (int)

  mmc.hwrev = 1  (0x1)  (int)

  mmc.oem = 'Unknown (21334)'  (string)

  mmc.rca = 45928  (0xb368)  (int)

  mmc.scr = '0125000000000000'  (string)

  mmc.serial = 68084  (0x109f4)  (int)

  mmc.vendor = 'Unknown (28)'  (string)

```

I use gentoo-kernel-2.6.23 and dbus-1.1.3-r1 and hal-0.5.10.

Also tasted it with kernel-2.6.24, dbus-1.0.2, hal-5.9.something in different combinations...

Does anybody know what is happening? :Smile: 

Please help...

With best regards

Petr Shatunov.Last edited by petrosha on Tue Feb 19, 2008 11:03 am; edited 1 time in total

----------

## lyallp

I use a multi-card reader also (Transcend), however, I think my usage varies from yours.

I actually unplug the entire card reader prior to removing the card and insert the card prior to plugging in the card reader, whereas, I gather you leave the card reader plugged in whilst removing/inserting the card.

Have you tried my technique? It may not be the solution you are looking for, but it may get you by.

sys-apps/hal-0.5.9.1-r3

sys-apps/dbus-1.0.2-r2

2.6.23-gentoo-r8

----------

## petrosha

Thank you for your reply  :Smile: 

But I think that you use an USB removable card reader  :Smile:  Mine is installed into the laptop, so I cannot unplug it anyhow.

I also have an usb cardreader and everything work fine with it. The problem is with this built in device.

----------

## petrosha

The problem is solved!

When I insert the SD card thunar-volman shows it on the desktop and mounts it any number of times!

I have updated udev to udev-118-r3 from ~x86 and everything is perfect now!

So the working combination is:

udev-118-r3

dbus-1.1.3-r1

hal-0.5.10

I am not sure that everything of it is needed to be of theese versions but 

it works with it  :Smile: 

Best regards

Petr Shatunov

----------

## lexelby

I had the exact same problem.  Just unmasking and emerging udev-118-r3 didn't help; Thunar still only automounts my MMC card the first time I insert it after a reboot.  I tried unmasking and upgrading hal from 0.5.9 to 0.5.10, and that was what actually solved the problem.  My dbus is still back at 1.0.2-r2.

Thanks for pointing me in the right direction!

----------

