# Cardreader (Hama IC1210-128LQ) generates no devices (Solved)

## Penulci

I try out the second USB 2.0 cardreader here with my machine. Accidentally both of them use the IC120 chip by Hama.

I just can use both of the Cardreaders with CF. The second card I have to try out is a SD card. Both cards are properly recognized in dmesg 

```
usb-storage: device found at 13

usb-storage: waiting for device to settle before scanning

  Vendor: ICSI      Model: IC1210        CF  Rev: 1.6E

  Type:   Direct-Access                      ANSI SCSI revision: 00

SCSI device sda: 128256 512-byte hdwr sectors (66 MB)

sda: Write Protect is off

sda: Mode Sense: 43 00 00 08

sda: assuming drive cache: write through

SCSI device sda: 128256 512-byte hdwr sectors (66 MB)

sda: Write Protect is off

sda: Mode Sense: 43 00 00 08

sda: assuming drive cache: write through

 /dev/scsi/host10/bus0/target0/lun0: p1

Attached scsi removable disk sda at scsi10, channel 0, id 0, lun 0

  Vendor: ICSI      Model: IC1210        MS  Rev: 1.6E

  Type:   Direct-Access                      ANSI SCSI revision: 00

Attached scsi removable disk sdb at scsi10, channel 0, id 0, lun 1

  Vendor: ICSI      Model: IC1210    MMC/SD  Rev: 1.6E

  Type:   Direct-Access                      ANSI SCSI revision: 00

SCSI device sdc: 498176 512-byte hdwr sectors (255 MB)

sdc: Write Protect is off

sdc: Mode Sense: 43 00 00 08

sdc: assuming drive cache: write through

SCSI device sdc: 498176 512-byte hdwr sectors (255 MB)

sdc: Write Protect is off

sdc: Mode Sense: 43 00 00 08

sdc: assuming drive cache: write through

 /dev/scsi/host10/bus0/target0/lun2: p1

Attached scsi removable disk sdc at scsi10, channel 0, id 0, lun 2

  Vendor: ICSI      Model: IC1210        SM  Rev: 1.6E

  Type:   Direct-Access                      ANSI SCSI revision: 00

Attached scsi removable disk sdd at scsi10, channel 0, id 0, lun 3

usb-storage: device scan complete
```

But just the CF card gets a device:

```
ls -la /dev/sd*

/dev/sda  /dev/sda1
```

 I am using udev and these are my udevrules: 

```
cat /etc/udev/rules.d/10-udev.rules

#HAMA 19 in 1 Cardreader

BUS="scsi", KERNEL="sd*", SYSFS{model}="IC1210        CF", NAME="cardreader/CF", SYMLINK="%k"

BUS="scsi", KERNEL="sd*", SYSFS{model}="IC1210        MS", NAME="cardreader/MS", SYMLINK="%k"

BUS="scsi", KERNEL="sd*", SYSFS{model}="IC1210    MMC/SD", NAME="cardreader/MMC_SD", SYMLINK="%k"

BUS="scsi", KERNEL="sd*", SYSFS{model}="IC1210        SM", NAME="cardreader/SM", SYMLINK="%k"

#Minolta Dimage 7Hi

BUS="scsi", KERNEL="sd*", SYSFS{model}="DIMAGE  CAMERA", NAME="digicam", SYMLINK="%k"

#Samsung A400

BUS="scsi", KERNEL="sd*", SYSFS{model}="DIGITAL CAMERA", NAME="digicam", SYMLINK="%k""

#USB Stick Sony 256MB

BUS="scsi", KERNEL="sd*", SYSFS{model}="Storage Media", NAME="usbstick", SYMLINK="%k"

```

Although udev rules shouls be not reponsible and work fine foer everything else and the CF card.

```
udevinfo -a -p /sys/block/sdc

udevinfo starts with the device the node belongs to and then walks up the

device chain, to print for every device found, all possibly useful attributes

in the udev key format.

Only attributes within one device section may be used together in one rule,

to match the device for which the node will be created.

device '/sys/block/sdc' has major:minor 8:32

  looking at class device '/sys/block/sdc':

    SUBSYSTEM=="block"

    SYSFS{dev}=="8:32"

    SYSFS{range}=="16"

    SYSFS{removable}=="1"

    SYSFS{size}=="498176"

    SYSFS{stat}=="       1        0        8        2        0        0        0        0        0        2        2"

follow the "device"-link to the physical device:

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.2/1-2.2:1.0/host10/target10:0:0/10:0:0:2':

    BUS=="scsi"

    ID=="10:0:0:2"

    DRIVER=="sd"

    SYSFS{device_blocked}=="0"

    SYSFS{iocounterbits}=="32"

    SYSFS{iodone_cnt}=="0xb"

    SYSFS{ioerr_cnt}=="0x2"

    SYSFS{iorequest_cnt}=="0xb"

    SYSFS{max_sectors}=="240"

    SYSFS{model}=="IC1210    MMC/SD"

    SYSFS{queue_depth}=="1"

    SYSFS{queue_type}=="none"

    SYSFS{rev}=="1.6E"

    SYSFS{scsi_level}=="3"

    SYSFS{state}=="running"

    SYSFS{timeout}=="30"

    SYSFS{type}=="0"

    SYSFS{vendor}=="ICSI    "

couldn't open device directory

```

 shows me the correct result (of course it could not open the device directory).

Has anyone else encountered this probblem and  maybe found a solution for it?

greetings, Michael

----------

## Penulci

Mea culpa, mea maxima culpa!  :Embarassed: 

I have to confess I really got lazy after reading some posts in different forums about Hama based cardreaders. 

In my case it was just a type a mismatch from my first cardreader generating /dev/cardeader instead of /dev/cardreader. Since rules in udev do not get tested for a second time my current entries were overridden.

So please be careful when editing rules and check everything 4 times instead of 3 times, as I did.

greetings, Michael

----------

## gexcite

To each line like: 

BUS="scsi", KERNEL="sd*", SYSFS{model}="IC1210        CF", NAME="cardreader/CF", SYMLINK="%k"

add OPTIONS="all_partitions"

With this option kernell will create nodes for all partitions

----------

