memstick - old Memory Sticks not recognized

From: Mantas M.
Date: Thu Nov 03 2011 - 15:33:28 EST


I have a few Sony Memory Stick cards laying around, and tried to use them with my laptop's card reader. Unfortunately, while the reader seems to recognize all cards, Linux does not -- only the "Memory Stick Pro" series one is recognized as a mountable block device. The other two, from the original "Memory Stick" series, are not. (They work fine in a camera, however.)

Ideas? Patches?

Linux 3.1.0-09034-g70c9f18.

--
Mantas M.
(card inserted)
[ 871.210930] jmb38x_ms 0000:05:00.3: irq_status = 00000008
[ 871.210934] jmb38x_ms 0000:05:00.3: media changed
[ 871.210951] memstick_host memstick0: memstick_check started
[ 871.223747] jmb38x_ms 0000:05:00.3: power on
[ 871.223754] jmb38x_ms 0000:05:00.3: Set Host Interface Mode to 0
[ 871.223770] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 871.223777] memstick_host memstick0: control 000540c7
[ 871.223782] memstick_host memstick0: status 00000000
[ 871.223787] memstick_host memstick0: hstatus 00000600
[ 871.223794] memstick_host memstick0: executing TPC 00080004, len 4
[ 871.223853] jmb38x_ms 0000:05:00.3: irq_status = 00000001
[ 871.223859] memstick_host memstick0: c control 000544c7
[ 871.223863] memstick_host memstick0: c status 00000000
[ 871.223868] memstick_host memstick0: c hstatus 00000600
[ 871.223892] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 871.223898] memstick_host memstick0: control 000540c7
[ 871.223901] memstick_host memstick0: status 00000000
[ 871.223905] memstick_host memstick0: hstatus 00000600
[ 871.223909] memstick_host memstick0: executing TPC 00044004, len 4
[ 871.224000] jmb38x_ms 0000:05:00.3: irq_status = 00000001
[ 871.224011] memstick_host memstick0: c control 000544c7
[ 871.224017] memstick_host memstick0: c status 00000000
[ 871.224022] memstick_host memstick0: c hstatus 00000600
[ 871.224031] memstick memstick0: if_mode = 00
[ 871.224046] memstick_host memstick0: new card 00, 00, 00
[ 871.224146] memstick_host memstick0: memstick_check finished
(card removed)
[ 915.857652] jmb38x_ms 0000:05:00.3: irq_status = 00000010
[ 915.857657] jmb38x_ms 0000:05:00.3: media changed
[ 915.857674] memstick_host memstick0: memstick_check started
[ 915.857687] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 915.857692] memstick_host memstick0: no media status
[ 915.857695] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 915.857699] memstick_host memstick0: no media status
[ 915.857702] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 915.857706] memstick_host memstick0: no media status
[ 915.857710] jmb38x_ms 0000:05:00.3: tasklet req -11
[ 915.857900] jmb38x_ms 0000:05:00.3: power off
[ 915.857902] memstick_host memstick0: memstick_check finished
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[867.357117] add /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1990
SUBSYSTEM=memstick
UDEV_LOG=3

UDEV [867.358732] add /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1990
SUBSYSTEM=memstick
UDEV_LOG=3
USEC_INITIALIZED=867357458

KERNEL[911.987512] remove /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1991
SUBSYSTEM=memstick
UDEV_LOG=3

UDEV [911.987833] remove /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1991
SUBSYSTEM=memstick
UDEV_LOG=3
USEC_INITIALIZED=911987557

(card inserted)
[ 965.754858] jmb38x_ms 0000:05:00.3: irq_status = 00000008
[ 965.754863] jmb38x_ms 0000:05:00.3: media changed
[ 965.754880] memstick_host memstick0: memstick_check started
[ 965.768051] jmb38x_ms 0000:05:00.3: power on
[ 965.768058] jmb38x_ms 0000:05:00.3: Set Host Interface Mode to 0
[ 965.768074] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 965.768082] memstick_host memstick0: control 000540c7
[ 965.768087] memstick_host memstick0: status 00000000
[ 965.768091] memstick_host memstick0: hstatus 00001600
[ 965.768098] memstick_host memstick0: executing TPC 00080004, len 4
[ 965.768154] jmb38x_ms 0000:05:00.3: irq_status = 00000001
[ 965.768160] memstick_host memstick0: c control 000544c7
[ 965.768165] memstick_host memstick0: c status 00000000
[ 965.768170] memstick_host memstick0: c hstatus 00001600
[ 965.768194] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 965.768204] memstick_host memstick0: control 000540c7
[ 965.768207] memstick_host memstick0: status 00000000
[ 965.768211] memstick_host memstick0: hstatus 00001600
[ 965.768215] memstick_host memstick0: executing TPC 00044004, len 4
[ 965.768304] jmb38x_ms 0000:05:00.3: irq_status = 00000001
[ 965.768315] memstick_host memstick0: c control 000544c7
[ 965.768320] memstick_host memstick0: c status 00000000
[ 965.768325] memstick_host memstick0: c hstatus 00001600
[ 965.768334] memstick memstick0: if_mode = 00
[ 965.768350] memstick_host memstick0: new card 00, 00, 00
[ 965.768447] memstick_host memstick0: memstick_check finished
(card removed)
[ 970.235117] jmb38x_ms 0000:05:00.3: irq_status = 00000010
[ 970.235121] jmb38x_ms 0000:05:00.3: media changed
[ 970.235139] memstick_host memstick0: memstick_check started
[ 970.235152] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 970.235157] memstick_host memstick0: no media status
[ 970.235160] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 970.235165] memstick_host memstick0: no media status
[ 970.235167] jmb38x_ms 0000:05:00.3: tasklet req 0
[ 970.235171] memstick_host memstick0: no media status
[ 970.235175] jmb38x_ms 0000:05:00.3: tasklet req -11
[ 970.235334] jmb38x_ms 0000:05:00.3: power off
[ 970.235339] memstick_host memstick0: memstick_check finished
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[961.897152] add /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1992
SUBSYSTEM=memstick
UDEV_LOG=3

UDEV [961.898702] add /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1992
SUBSYSTEM=memstick
UDEV_LOG=3
USEC_INITIALIZED=961897429

KERNEL[966.364672] remove /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1993
SUBSYSTEM=memstick
UDEV_LOG=3

UDEV [966.364936] remove /devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0 (memstick)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.3/memstick_host/memstick0/memstick0
MEMSTICK_CATEGORY=00
MEMSTICK_CLASS=00
MEMSTICK_TYPE=00
SEQNUM=1993
SUBSYSTEM=memstick
UDEV_LOG=3
USEC_INITIALIZED=966364672