USB Flash drive gets a new device every time

From: Vadim
Date: Thu Oct 23 2003 - 20:57:51 EST


This is happening right now and is 100% reproducible on two
computers.

First computer is a dual Athlon MP 2000+, running the Gentoo
2.4.20-gentoo-r7 kernel. The second one is a Toshiba 470CDT
laptop running the 2.4.22 vanilla kernel.

The laptop currently doesn't have a working network card so I'm
using a PQI TravelFlash card reader to exchange data.

The problem is that every time I remove the card reader and
insert it again it gets a new device. The old ones remain in
/proc/partitions and get set to 1GB size if I try to access
them. Otherwise they remain showing the 64MB of the removed card
reader.

For example, on the Athlon, /proc/partitions looks like this
after inserting and removing the card several times:

8 0 1048575 scsi/host1/bus0/target0/lun0/disc 2 6 16 0
0 0 0 0 0 0 0
8 16 61440 scsi/host1/bus0/target0/lun1/disc 160 6 174
484 23 4012 4035 26798 0 2866 27282
8 17 61375 scsi/host1/bus0/target0/lun1/part1 159 3
166 478 23 4012 4035 26798 0 2860 27276
8 32 1048575 scsi/host1/bus0/target0/lun2/disc 2 6 16 0
0 0 0 0 0 0 0
8 48 1048575 scsi/host1/bus0/target0/lun3/disc 2 6 16 0
0 0 0 0 0 0 0
8 64 1048575 scsi/host2/bus0/target0/lun0/disc 2 6 16 0
0 0 0 0 0 0 0
8 80 61440 scsi/host2/bus0/target0/lun1/disc 1 3 8 6 0
0 0 0 0 6 6
8 81 61375 scsi/host2/bus0/target0/lun1/part1 0 0 0 0
0 0 0 0 0 0 0
8 96 1048575 scsi/host2/bus0/target0/lun2/disc 2 6 16 0
0 0 0 0 0 0 0
8 112 1048575 scsi/host2/bus0/target0/lun3/disc 2 6 16 0
0 0 0 0 0 0 0
8 128 1048575 scsi/host3/bus0/target0/lun0/disc 2 6 16 0
0 0 0 0 0 0 0
8 144 61440 scsi/host3/bus0/target0/lun1/disc 1 3 8 6 0
0 0 0 0 6 6
8 145 61375 scsi/host3/bus0/target0/lun1/part1 0 0 0 0
0 0 0 0 0 0 0

I have also noticed that in /proc/scsi/ there is a usb-storage-N
directory created every time I insert the card reader, with the
file inside having a content like:

Host scsi2: usb-storage
Vendor: Generic
Product: USB Storage Device
Serial Number: 0AEC305000001A006
Protocol: Transparent SCSI
Transport: Bulk
GUID: 0aec5010aec305000001a006
Attached: No

Only the last one has 'Attached' set to 'Yes':

Host scsi4: usb-storage
Vendor: Generic
Product: USB Storage Device
Serial Number: 0AEC305000001A008
Protocol: Transparent SCSI
Transport: Bulk
GUID: 0aec5010aec305000001a008
Attached: Yes

I'm guessing the kernel is keeping it there for some reason, but
I can't figure out why. I guess it might be trying to allow to
reinsert a device later, but if so, it's definitely not working.

Here are the USB lines from .config for the laptop.
CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_OHCI=y
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_PWC=y
CONFIG_USB_USBNET=y


Perhaps I'm missing something obvious here, but I googled for
this and didn't find anything. Other people seem to have had
this problem, but I haven't found any answers.

Thanks in advance

Attachment: pgp00001.pgp
Description: signature