USB 2.0 All-in-1 card reader can't switch cards without unplugging


J

Jamie

I have a generic usb 2.0 all-in-1 card reader. When I plug it in, only
1 drive letter shows up. On other ones I've used a drive letter shows
up for each slot. Anyway, it works when I plug a card in a slot, but
will not work when I change cards. It still shows the old information
as if the original card is still inserted. The only way I can get it
to read another card is to unplug and replug in the card reader.

Additional info:
-When card reader is plugged in, 1 drive shows up. The access light
doesn't come on.
-When a card is inserted, the access light comes on.
-It remains on, even after the card is removed. And the contents are
still displayed in Windows Explorer.
-If I eject it. It ejects the whole reader.
-The only way I can get it to read a new card is to unplug and replug
the card reader.
-It is using Windows XP drivers. It didn't come with any disk and says
plug in play.
Any help will be greatly appreciated. If there's a more appropriate
group I should post in, please let me know.

Thanks in advance.
 
Ad

Advertisements

B

BillW50

In
Jamie said:
I have a generic usb 2.0 all-in-1 card reader. When I plug it in, only
1 drive letter shows up. On other ones I've used a drive letter shows
up for each slot. Anyway, it works when I plug a card in a slot, but
will not work when I change cards. It still shows the old information
as if the original card is still inserted. The only way I can get it
to read another card is to unplug and replug in the card reader.

Additional info:
-When card reader is plugged in, 1 drive shows up. The access light
doesn't come on.
-When a card is inserted, the access light comes on.
-It remains on, even after the card is removed. And the contents are
still displayed in Windows Explorer.
-If I eject it. It ejects the whole reader.
-The only way I can get it to read a new card is to unplug and replug
the card reader.
-It is using Windows XP drivers. It didn't come with any disk and says
plug in play.
Any help will be greatly appreciated. If there's a more appropriate
group I should post in, please let me know.

Thanks in advance.

Try USB Safety Remove or Zentimo. They are from the same company, except
the latter has more features.

Safely Remove Hardware better alternative
http://safelyremove.com/

Zentimo is an external storage manager
http://zentimo.com/
 
P

Paul

Jamie said:
I have a generic usb 2.0 all-in-1 card reader. When I plug it in, only
1 drive letter shows up. On other ones I've used a drive letter shows
up for each slot. Anyway, it works when I plug a card in a slot, but
will not work when I change cards. It still shows the old information
as if the original card is still inserted. The only way I can get it
to read another card is to unplug and replug in the card reader.

Additional info:
-When card reader is plugged in, 1 drive shows up. The access light
doesn't come on.
-When a card is inserted, the access light comes on.
-It remains on, even after the card is removed. And the contents are
still displayed in Windows Explorer.
-If I eject it. It ejects the whole reader.
-The only way I can get it to read a new card is to unplug and replug
the card reader.
-It is using Windows XP drivers. It didn't come with any disk and says
plug in play.
Any help will be greatly appreciated. If there's a more appropriate
group I should post in, please let me know.

Thanks in advance.

You could try the procedure here, to unmount a partition. Maybe
that would work to make the system forget your old (flash based) card ?

http://www.ehow.com/how_8137497_unmount-partition.html

As for tracing down the issue with the hardware, I'd be looking for
means to identify who makes it, and whether there are already
recognized issues with it. While the product may be generic and
lack labels, the chip inside could be used to make other similar
branded products.

The chips are listed (an unofficial list), on web pages like this one.

http://www.linux-usb.org/usb.ids

Using a utility like UVCView, can get the VID (vendor ID) and PID (product ID).
There are likely other hardware utilities that can do the same thing, but
with less fuss. (If you boot a Linux LiveCD, try "lsusb" for example,
while the device is plugged in.)

The usb.ids method isn't foolproof. Some hardware devices support the
ability to change the identity of the device. That's done, so each
(branded) product made, can have a unique identity for driver installation
purposes. But it can also be used to hide who really makes the chip,
and makes it harder to find a solution to any problems that arise.
Some hardware families are worse for this than others. All it takes
is an external 2K EEPROM, to give a chip like that, a new identity
and register settings.

Paul
 
J

Jamie

You could try the procedure here, to unmount a partition. Maybe
that would work to make the system forget your old (flash based) card ?

http://www.ehow.com/how_8137497_unmount-partition.html
This was written for a Mac. There is no command button on a PC.
As for tracing down the issue with the hardware, I'd be looking for
means to identify who makes it, and whether there are already
recognized issues with it. While the product may be generic and
lack labels, the chip inside could be used to make other similar
branded products.

The chips are listed (an unofficial list), on web pages like this one.

http://www.linux-usb.org/usb.ids

Using a utility like UVCView, can get the VID (vendor ID) and PID (product ID).
There are likely other hardware utilities that can do the same thing, but
with less fuss. (If you boot a Linux LiveCD, try "lsusb" for example,
while the device is plugged in.)
I couldn't find UVCView. Mine looks just like 'Gear Head CR4200 23-
in-1 Card Reader' except for the color.

The usb.ids method isn't foolproof. Some hardware devices support the
ability to change the identity of the device. That's done, so each
(branded) product made, can have a unique identity for driver installation
purposes. But it can also be used to hide who really makes the chip,
and makes it harder to find a solution to any problems that arise.
Some hardware families are worse for this than others. All it takes
is an external 2K EEPROM, to give a chip like that, a new identity
and register settings.

    Paul

Thanks
 
P

Paul

Jamie said:
This was written for a Mac. There is no command button on a PC.

I couldn't find UVCView. Mine looks just like 'Gear Head CR4200 23-
in-1 Card Reader' except for the color.

The usb.ids method isn't foolproof. Some hardware devices support the

Thanks

OK, try this one :) I even tested it. diskmgmt.msc, click partition,
"Change drive letters and paths", click Remove button. My partition is
gone. I can also add it back with the Add button.

That method appears to dismount it, because when I look in Explorer,
it is no longer shown.

http://www.ehow.com/how_6909914_unmount-drive-xp.html

For some reason, even though I use Windows as a search term, the
Macintosh article appears at the top of the search results. The link
I posted this time, is from further down the page.

I wish I could test the idea while using a card reader, but
I don't even own one of those. What I would have liked to do,
is find out what driver files it lists in Device Manager, then
track down the INF file that mentions those files in the Windows
INF folder. But without a hardware sample, I've got nothing to work
with.

Paul
 
J

Jamie

OK, try this one :) I even tested it. diskmgmt.msc, click partition,
"Change drive letters and paths", click Remove button. My partition is
gone. I can also add it back with the Add button.

That method appears to dismount it, because when I look in Explorer,
it is no longer shown.

http://www.ehow.com/how_6909914_unmount-drive-xp.html

For some reason, even though I use Windows as a search term, the
Macintosh article appears at the top of the search results. The link
I posted this time, is from further down the page.

I wish I could test the idea while using a card reader, but
I don't even own one of those. What I would have liked to do,
is find out what driver files it lists in Device Manager, then
track down the INF file that mentions those files in the Windows
INF folder. But without a hardware sample, I've got nothing to work
with.

    Paul

OK, I did that. The driver is USBSTOR.sys

The contents of USBSTOR.inf is:
[Version]
Signature="$CHICAGO$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
provider=%MSFT%
LayoutFile=LAYOUT.INF
DriverVer=07/01/2001,5.1.2600.0

[ControlFlags]
ExcludeFromSelect = *

[Manufacturer]
; sorted by VID
%Generic.Mfg%=Generic
%Mitsumi.Mfg%=Mitsumi
%HP.Mfg%=HP
%NEC.Mfg%=NEC
%SMSC.Mfg%=SMSC
%IBM.Mfg%=IBM
%IOData.Mfg%=IOData
%FujiFilm.Mfg%=FujiFilm
%ScanLogic.Mfg%=ScanLogic
%Panasonic.Mfg%=Panasonic
%SCM.Mfg%=SCM
%Sony.Mfg%=Sony
%YEData.Mfg%=YEData
%Iomega.Mfg%=Iomega
%LaCie.Mfg%=LaCie
%TEAC.Mfg%=TEAC
%Hagiwara.Mfg%=Hagiwara
%Imation.Mfg%=Imation
%SanDisk.Mfg%=SanDisk
%Casio.Mfg%=Casio
%DioGraphy.Mfg%=DioGraphy
%M-Sys.Mfg%=M-Sys
%Addonics.Mfg%=Addonics
%OnSpec.Mfg%=OnSpec


[Generic]
%GenericBulkOnly.DeviceDesc%=USBSTOR_BULK, USB
\Class_08&SubClass_02&Prot_50
%GenericBulkOnly.DeviceDesc%=USBSTOR_BULK, USB
\Class_08&SubClass_05&Prot_50
%GenericBulkOnly.DeviceDesc%=USBSTOR_BULK, USB
\Class_08&SubClass_06&Prot_50

[Mitsumi]
%USB\VID_03EE&PID_0000.DeviceDesc%=USBSTOR_CBI, USB
\VID_03EE&PID_0000
%USB\VID_03EE&PID_6901.DeviceDesc%=USBSTOR_CBI, USB
\VID_03EE&PID_6901

[HP]
%USB\VID_03F0&PID_0107.DeviceDesc%=USBSTOR_BULK, USB
\VID_03F0&PID_0107
%USB\VID_03F0&PID_2001.DeviceDesc%=USBSTOR_CBI, USB
\VID_03F0&PID_2001
%USB\VID_03F0&PID_4002.DeviceDesc%=USBSTOR_BULK, USB
\VID_03F0&PID_4002
%USB\VID_03F0&PID_6102.DeviceDesc%=USBSTOR_BULK, USB
\VID_03F0&PID_6102

[NEC]
%USB\VID_0409&PID_002C.DeviceDesc%=USBSTOR_BULK, USB
\VID_0409&PID_002C
%USB\VID_0409&PID_0040.DeviceDesc%=USBSTOR_CBI, USB
\VID_0409&PID_0040

[SMSC]
%USB\VID_0424&PID_0FDC.DeviceDesc%=USBSTOR_CBI, USB
\VID_0424&PID_0FDC

[IBM]
%USB\VID_04B3&PID_4427.DeviceDesc%=USBSTOR_BULK, USB
\VID_04B3&PID_4427

[IOData]
%USB\VID_04BB&PID_0301.DeviceDesc%=USBSTOR_CBI, USB
\VID_04BB&PID_0301

[FujiFilm]
%USB\VID_04CB&PID_0100.DeviceDesc%=USBSTOR_CBI, USB
\VID_04CB&PID_0100

[ScanLogic]
%USB\VID_04CE&PID_0002.DeviceDesc%=USBSTOR_BULK, USB
\VID_04CE&PID_0002

[Panasonic]
%USB\VID_04DA&PID_0B01.DeviceDesc%=USBSTOR_CBI, USB
\VID_04DA&PID_0B01
%USB\VID_04DA&PID_1B00.DeviceDesc%=USBSTOR_CB, USB
\VID_04DA&PID_1B00
%USB\VID_04DA&PID_0B03.DeviceDesc%=USBSTOR_BULK, USB
\VID_04DA&PID_0B03

[SCM]
%USB\VID_04E6&PID_0001.DeviceDesc%=USBSTOR_CB, USB
\VID_04E6&PID_0001
%USB\VID_04E6&PID_0002.DeviceDesc%=USBSTOR_BULK, USB
\VID_04E6&PID_0002
%USB\VID_04E6&PID_000A.DeviceDesc%=USBSTOR_BULK, USB
\VID_04E6&PID_000A
%USB\VID_04E6&PID_0101.DeviceDesc%=USBSTOR_BULK, USB
\VID_04E6&PID_0101

[Sony]
%USB\VID_054C&PID_0022.DeviceDesc%=USBSTOR_BULK, USB
\VID_054C&PID_0022
%USB\VID_054C&PID_0023.DeviceDesc%=USBSTOR_CB, USB
\VID_054C&PID_0023
%USB\VID_054C&PID_0024.DeviceDesc%=USBSTOR_CB, USB
\VID_054C&PID_0024
%USB\VID_054C&PID_0025.DeviceDesc%=USBSTOR_CB, USB
\VID_054C&PID_0025
%USB\VID_054C&PID_002C.DeviceDesc%=USBSTOR_CBI, USB
\VID_054C&PID_002C
%USB\VID_054C&PID_0032.DeviceDesc%=USBSTOR_CBI_NR, USB
\VID_054C&PID_0032
%USB\VID_054C&PID_0037.DeviceDesc%=USBSTOR_CBI, USB
\VID_054C&PID_0037
%USB\VID_054C&PID_0046.DeviceDesc%=USBSTOR_CBI, USB
\VID_054C&PID_0046
%USB\VID_054C&PID_004A.DeviceDesc%=USBSTOR_CBI, USB
\VID_054C&PID_004A
%USB\VID_054C&PID_0056.DeviceDesc%=USBSTOR_CBI_NR, USB
\VID_054C&PID_0056
%USB\VID_054C&PID_0058.DeviceDesc%=USBSTOR_CBI, USB
\VID_054C&PID_0058
%USB\VID_054C&PID_0069.DeviceDesc%=USBSTOR_CBI_NR, USB
\VID_054C&PID_0069

[YEData]
%USB\VID_057B&PID_0000.DeviceDesc%=USBSTOR_CBI, USB
\VID_057B&PID_0000
%USB\VID_057B&PID_0001.DeviceDesc%=USBSTOR_CBI, USB
\VID_057B&PID_0001
%USB\VID_057B&PID_0010.DeviceDesc%=USBSTOR_BULK, USB
\VID_057B&PID_0010

[Iomega]
%USB\VID_059B&PID_0001.DeviceDesc%=USBSTOR_BULK, USB
\VID_059B&PID_0001
%USB\VID_059B&PID_0030.DeviceDesc%=USBSTOR_BULK, USB
\VID_059B&PID_0030
%USB\VID_059B&PID_0031.DeviceDesc%=USBSTOR_BULK, USB
\VID_059B&PID_0031
%USB\VID_059B&PID_0032.DeviceDesc%=USBSTOR_BULK, USB
\VID_059B&PID_0032
%USB\VID_059B&PID_0060.DeviceDesc%=USBSTOR_BULK, USB
\VID_059B&PID_0060

[LaCie]
%USB\VID_059F&PID_A601.DeviceDesc%=USBSTOR_CB, USB
\VID_059F&PID_A601
%USB\VID_059F&PID_A602.DeviceDesc%=USBSTOR_CB, USB
\VID_059F&PID_A602

[TEAC]
%USB\VID_0644&PID_0000.DeviceDesc%=USBSTOR_CBI, USB
\VID_0644&PID_0000
%USB\VID_0644&PID_1000.DeviceDesc%=USBSTOR_BULK, USB
\VID_0644&PID_1000

[Hagiwara]
%USB\VID_0693&PID_0002.DeviceDesc%=USBSTOR_BULK, USB
\VID_0693&PID_0002
%USB\VID_0693&PID_0003.DeviceDesc%=USBSTOR_BULK, USB
\VID_0693&PID_0003
%USB\VID_0693&PID_0005.DeviceDesc%=USBSTOR_BULK, USB
\VID_0693&PID_0005
%USB\VID_0693&PID_0006.DeviceDesc%=USBSTOR_BULK, USB
\VID_0693&PID_0006
%USB\VID_0693&PID_0007&MI_00.DeviceDesc%=USBSTOR_BULK, USB
\VID_0693&PID_0007&MI_00
%USB\VID_0693&PID_000A.DeviceDesc%=USBSTOR_BULK, USB
\VID_0693&PID_000A

[Imation]
%USB\VID_0718&PID_0002.DeviceDesc%=USBSTOR_BULK, USB
\VID_0718&PID_0002
%USB\VID_0718&PID_0003&MI_00.DeviceDesc%=USBSTOR_BULK, USB
\VID_0718&PID_0003&MI_00

[SanDisk]
%USB\VID_0781&PID_0001.DeviceDesc%=USBSTOR_CB, USB
\VID_0781&PID_0001
%USB\VID_0781&PID_0002&MI_00.DeviceDesc%=USBSTOR_BULK, USB
\VID_0781&PID_0002&MI_00
%USB\VID_0781&PID_0100.DeviceDesc%=USBSTOR_CB, USB
\VID_0781&PID_0100

[Casio]
%USB\VID_07CF&PID_1001.DeviceDesc%=QV2KUX, USB
\VID_07CF&PID_1001

[DioGraphy]
%USB\VID_0892&PID_0101.DeviceDesc%=USBSTOR_BULK, USB
\VID_0892&PID_0101

[M-Sys]
%USB\VID_08EC&PID_0010.DeviceDesc%=USBSTOR_BULK, USB
\VID_08EC&PID_0010

[Addonics]
%USB\VID_0BF6&PID_1234.DeviceDesc%=USBSTOR_BULK, USB
\VID_0BF6&PID_1234
%USB\VID_0BF6&PID_0103.DeviceDesc%=USBSTOR_BULK, USB
\VID_0BF6&PID_0103

[OnSpec]
%USB\VID_55AA&PID_0102.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_0102
%USB\VID_55AA&PID_0103.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_0103
%USB\VID_55AA&PID_1234.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_1234
%USB\VID_55AA&PID_B004.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_B004
%USB\VID_55AA&PID_B200&MI_00.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_B200&MI_00
%USB\VID_55AA&PID_B204&MI_00.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_B204&MI_00
%USB\VID_55AA&PID_B207&MI_00.DeviceDesc%=USBSTOR_BULK, USB
\VID_55AA&PID_B207&MI_00


[PreCopySection]
HKR,,NoSetupUI,,1

[DestinationDirs]
USBSTOR.CopyList = 10, system32\drivers
QV2KUX.CopyList = 10, system32\drivers

; Bulk-Only Specific Sections
;
[USBSTOR_BULK.NT]
CopyFiles=USBSTOR.CopyList
AddReg=USBSTOR_BULK.AddReg

[USBSTOR_BULK.NT.Services]
Addservice = USBSTOR, 0x00000002, USBSTOR.AddService


; CBI Specific Sections
;
[USBSTOR_CBI.NT]
CopyFiles=USBSTOR.CopyList
AddReg=USBSTOR_CBI.AddReg

[USBSTOR_CBI.NT.Services]
Addservice = USBSTOR, 0x00000002, USBSTOR.AddService


; CB Specific Sections
;
[USBSTOR_CB.NT]
CopyFiles=USBSTOR.CopyList
AddReg=USBSTOR_CB.AddReg

[USBSTOR_CB.NT.Services]
Addservice = USBSTOR, 0x00000002, USBSTOR.AddService


; CBI Non-Removable Specific Sections
;
[USBSTOR_CBI_NR.NT]
CopyFiles=USBSTOR.CopyList
AddReg=USBSTOR_CBI.AddReg,USBSTOR_NR.AddReg

[USBSTOR_CBI_NR.NT.Services]
Addservice = USBSTOR, 0x00000002, USBSTOR.AddService

[USBSTOR_CBI_NR.NT.HW]
DelReg = USBSTOR_CBI_NR.DelReg

[USBSTOR_CBI_NR.DelReg]
HKR,,"LowerFilters"

; QV2KUX specific sections
[QV2KUX.NT]
Needs=USBSTOR_CB.NT
CopyFiles=QV2KUX.CopyList

[QV2KUX_Filter_Reg]
HKR,,"LowerFilters",0x00010000,"QV2KUX"

[QV2KUX.NT.HW]
Addreg=QV2KUX_Filter_Reg

[QV2KUX.NT.Services]
Needs=USBSTOR_CB.NT.Services
Addservice = QV2KUX, , QV2KUX.AddService

[QV2KUX.AddService]
DisplayName = %QV2KUX.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\qv2kux.sys
LoadOrderGroup = PnP Filter

[QV2KUX.CopyList]
qv2kux.sys




; Registry Sections
;
[USBSTOR_BULK.AddReg]
HKR,,DriverFlags,0x00010001,0x00000001

[USBSTOR_CBI.AddReg]
HKR,,DriverFlags,0x00010001,0x00000002

[USBSTOR_CB.AddReg]
HKR,,DriverFlags,0x00010001,0x00000003

[USBSTOR_NR.AddReg]
HKR,,NonRemovable,0x00010001,0x00000001


; Common Sections
;
[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS

; Windows 2000 Copy List Section
;
[USBSTOR.CopyList]
USBSTOR.SYS
































[Strings]
MSFT="Microsoft"











Generic.Mfg = "Compatible USB storage device"
GenericBulkOnly.DeviceDesc = "USB Mass Storage Device"

Mitsumi.Mfg = "Mitsumi Electronics, Corp."
USB\VID_03EE&PID_0000.DeviceDesc = "Mitsumi USB CD-R/RW Drive"
USB\VID_03EE&PID_6901.DeviceDesc = "Mitsumi USB Floppy"

HP.Mfg = "Hewlett-Packard"
USB\VID_03F0&PID_0107.DeviceDesc = "HP USB CD-Writer Plus"
USB\VID_03F0&PID_2001.DeviceDesc = "HP USB Floppy"
USB\VID_03F0&PID_4002.DeviceDesc = "Hewlett-Packard Digital Camera"
USB\VID_03F0&PID_6102.DeviceDesc = "Hewlett-Packard Digital Camera"

NEC.Mfg = "NEC Systems"
USB\VID_0409&PID_002C.DeviceDesc = "NEC Clik!-USB Drive"
USB\VID_0409&PID_0040.DeviceDesc = "NEC USB Floppy"

SMSC.Mfg = "Standard Microsystems Corporation"
USB\VID_0424&PID_0FDC.DeviceDesc = "SMSC USB Floppy"

IBM.Mfg = "IBM"
USB\VID_04B3&PID_4427.DeviceDesc = "IBM USB CD-ROM Drive"

IOData.Mfg = "I-O Data Device, Inc."
USB\VID_04BB&PID_0301.DeviceDesc = "USB Storage Device"

FujiFilm.Mfg = "FujiFilm"
USB\VID_04CB&PID_0100.DeviceDesc = "FujiFilm FinePix Digital Camera"

ScanLogic.Mfg = "ScanLogic Corporation"
USB\VID_04CE&PID_0002.DeviceDesc = "ScanLogic USB Storage Device"

Panasonic.Mfg = "Panasonic"
USB\VID_04DA&PID_0B01.DeviceDesc = "Panasonic USB CD-R/RW Drive"
USB\VID_04DA&PID_1B00.DeviceDesc = "USB Reader Writer for SD Memory
Card"
USB\VID_04DA&PID_0B03.DeviceDesc = "Panasonic USB SuperDisk 240MB"

SCM.Mfg = "SCM Microsystems"
USB\VID_04E6&PID_0001.DeviceDesc = "USB ATAPI Storage Device"
USB\VID_04E6&PID_0002.DeviceDesc = "USB SCSI Storage Device"
USB\VID_04E6&PID_000A.DeviceDesc = "USB CompactFlash Reader"
USB\VID_04E6&PID_0101.DeviceDesc = "USB ATAPI Storage Device"

Sony.Mfg = "Sony Corporation"
USB\VID_054C&PID_0010.DeviceDesc = "Sony Digital Camera"
USB\VID_054C&PID_0022.DeviceDesc = "Sony USB HiFD Drive"
USB\VID_054C&PID_0023.DeviceDesc = "Sony USB CD-R/RW Drive"
USB\VID_054C&PID_0024.DeviceDesc = "Sony Mavica Digital Still Camera"
USB\VID_054C&PID_0025.DeviceDesc = "Sony USB Memory Stick Walkman"
USB\VID_054C&PID_002C.DeviceDesc = "Sony USB Floppy"
USB\VID_054C&PID_0032.DeviceDesc = "Sony Memory Stick Reader/Writer"
USB\VID_054C&PID_0037.DeviceDesc = "Sony MG Memory Stick Reader/
Writer"
USB\VID_054C&PID_0046.DeviceDesc = "Sony USB Network Walkman"
USB\VID_054C&PID_004A.DeviceDesc = "Sony USB Memory Stick Hi-Fi
System"
USB\VID_054C&PID_0056.DeviceDesc = "Sony MG Memory Stick Reader/
Writer"
USB\VID_054C&PID_0058.DeviceDesc = "Sony MG Memory Stick CLIE"
USB\VID_054C&PID_0069.DeviceDesc = "Sony Memory Stick Reader/Writer"

YEData.Mfg = "Y-E Data, Inc."
USB\VID_057B&PID_0000.DeviceDesc = "Y-E Data USB Floppy"
USB\VID_057B&PID_0001.DeviceDesc = "Y-E Data USB Floppy"
USB\VID_057B&PID_0010.DeviceDesc = "Y-E Data USB Memory Stick Reader"

Iomega.Mfg = "Iomega Corporation"
USB\VID_059B&PID_0001.DeviceDesc = "Iomega USB Zip 100"
USB\VID_059B&PID_0030.DeviceDesc = "Iomega USB Zip 250"
USB\VID_059B&PID_0031.DeviceDesc = "Iomega USB Zip 100"
USB\VID_059B&PID_0032.DeviceDesc = "Iomega USB Bus Powered Zip 250"
USB\VID_059B&PID_0060.DeviceDesc = "Iomega USB Click!Dock"

LaCie.Mfg = "LaCie"
USB\VID_059F&PID_A601.DeviceDesc = "LaCie USB Hard Drive"
USB\VID_059F&PID_A602.DeviceDesc = "LaCie USB CD-R/RW Drive"

TEAC.Mfg = "TEAC Corporation"
USB\VID_0644&PID_0000.DeviceDesc = "TEAC USB Floppy"
USB\VID_0644&PID_1000.DeviceDesc = "TEAC USB CD-ROM Drive"

Hagiwara.Mfg = "Hagiwara Sys-Com Co., Ltd."
USB\VID_0693&PID_0002.DeviceDesc = "USB SmartMedia Reader/Writer"
USB\VID_0693&PID_0003.DeviceDesc = "USB CompactFlash Reader/Writer"
USB\VID_0693&PID_0005.DeviceDesc = "USB Dual Slot Reader/Writer"
USB\VID_0693&PID_0006.DeviceDesc = "USB SM PCCard R/W and SPD"
USB\VID_0693&PID_0007&MI_00.DeviceDesc = "FlashGate ME
(Authenticated)"
USB\VID_0693&PID_000A.DeviceDesc = "USB SDCard/MMC Reader/Writer"

Imation.Mfg = "Imation Corp."
USB\VID_0718&PID_0002.DeviceDesc = "Imation SuperDisk USB 120MB"
USB\VID_0718&PID_0003&MI_00.DeviceDesc = "Imation SuperDisk USB 120MB
(Authenticated)"

SanDisk.Mfg = "SanDisk Corporation"
USB\VID_0781&PID_0001.DeviceDesc = "SanDisk USB ImageMate"
USB\VID_0781&PID_0002&MI_00.DeviceDesc = "SanDisk USB ImageMate
(Authenticated)"
USB\VID_0781&PID_0100.DeviceDesc = "SanDisk USB ImageMate Multimedia
Card Reader"

Casio.Mfg = "Casio"
USB\VID_07CF&PID_1001.DeviceDesc = "Casio Digital Camera"
QV2KUX.SvcDesc="Casio Digital Camera"

DioGraphy.Mfg = "DioGraphy Inc."
USB\VID_0892&PID_0101.DeviceDesc = "DioGraphy USB Smartdio Reader/
Writer"

M-Sys.Mfg = "M-Systems Flash Disk Pioneers Ltd."
USB\VID_08EC&PID_0010.DeviceDesc = "DiskOnKey USB personal storage
device"

Addonics.Mfg = "Addonics Technologies"
USB\VID_0BF6&PID_1234.DeviceDesc = "Addonics USB Storage Device"
USB\VID_0BF6&PID_0103.DeviceDesc = "Addonics USB Storage Device"

OnSpec.Mfg = "OnSpec Electronic Inc."
USB\VID_55AA&PID_0015.DeviceDesc = "OnSpec USB Hard Drive"
USB\VID_55AA&PID_0102.DeviceDesc = "USB SuperDisk"
USB\VID_55AA&PID_0103.DeviceDesc = "OnSpec USB IDE Hard Drive"
USB\VID_55AA&PID_1234.DeviceDesc = "OnSpec USB CD-R/RW Drive"
USB\VID_55AA&PID_B004.DeviceDesc = "OnSpec USB MMC/SD Reader/Writer"
USB\VID_55AA&PID_B200&MI_00.DeviceDesc = "OnSpec USB Compact Flash
Reader (Authenticated)"
USB\VID_55AA&PID_B204&MI_00.DeviceDesc = "OnSpec USB MMC/ SD Reader
(Authenticated)"
USB\VID_55AA&PID_B207&MI_00.DeviceDesc = "OnSpec USB Memory Stick
Reader (Authenticated)"


USBSTOR.SvcDesc = "USB Mass Storage Driver"


Thank you,
 
Ad

Advertisements

P

Paul

Jamie said:
OK, I did that. The driver is USBSTOR.sys

The contents of USBSTOR.inf is:
USBSTOR.SvcDesc = "USB Mass Storage Driver"


Thank you,

So the card reader is USB storage class, and one of the vid/pid entries
in the file, corresponds to your USB chip.

If you look in setupapi.log file, you can see when the OS loads a driver
for a piece of hardware.

This is a chunk of C:\WINDOWS\setupapi.log from my machine, when my external
USB hard drive enclosure is detected. (This is the closest device I've got,
to doing things the same way as your hardware.) You can see a VID and PID here.

[2011/09/30 07:48:39 1012.3 Driver Install]
#-019 Searching for hardware ID(s): usb\vid_04b4&pid_6830&rev_0001,usb\vid_04b4&pid_6830
#-018 Searching for compatible ID(s): usb\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#-198 Command line processed: C:\WINDOWS\system32\services.exe
#I022 Found "USB\VID_04B4&PID_6830" in C:\WINDOWS\inf\oem27.inf; Device: "Cypress AT2LP Manufacturing Driver"; Driver: "Cypress AT2LP Manufacturing Driver"; Provider: "Cypress"; Mfg: "Cypress"; Section name: "CyUsb".
#I087 Driver node not trusted, rank changed from 0x00000001 to 0x00008001.
#I023 Actual install section: [CyUsb.NT]. Rank: 0x00008001. Effective driver date: 01/01/1601.
#I393 Modified INF cache "C:\WINDOWS\inf\INFCACHE.1".
#I022 Found "USB\Class_08&SubClass_06&Prot_50" in C:\WINDOWS\inf\usbstor.inf; Device: "USB Mass Storage Device"; Driver: "USB Mass Storage Device"; Provider: "Microsoft"; Mfg: "Compatible USB storage device"; Section name: "USBSTOR_BULK".
#I023 Actual install section: [USBSTOR_BULK.NT]. Rank: 0x00002000. Effective driver date: 07/01/2001.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:\windows\inf\usbstor.inf".

From that, I can get the VID and PID, vid_04b4&pid_6830. I would expect
your card reader has a unique usb.ids and from that, perhaps you can figure out
what additional stuff is added to make it work.

You notice in my example, there is a reference to oem27.inf . When a third party INF file
is added, Windows changes the name of the file. But if you open the file with Notepad,
sometimes the real name of the file is shown. The actual file was "CyUSB.inf", Windows
changed that to oem27.inf and copied it to C:\WINDOWS\inf. It might have something
to do with preventing naming collisions.

"Installation INF for the Cypress Generic USB Driver for Windows 2000/XP"

That particular one happened on my machine, after Seagate Seatools damaged
the config information on my external USB driver. And the entries in setupapi.log
are from when I repaired it by reflashing the config info (using a repair procedure
from Cypress). Part of that, was using a Cypress driver until the flash was
finished. Then it reverts to usb storage class.

I don't think any thing dramatic has happened to your device, but using the setupapi.log
file, you can get info similar to the hints you might get by using UVCView or the
Linux "lsusb" program. UVCView or lsusb give the VID and PID numbers. But the setupapi.log
file will also record the info. Once you have identified the device, via the VID and
PID, you can start Googling for similar reports of your symptoms, and see whether
anyone uncovered an easy solution.

*******

There are procedures for clearing out the USB stack, but I wouldn't do that unless
absolutely necessary. I'd do a backup before trying it, just in case.

For example, RenewUSB.bat uses "devcon" to interact with Device Manager,
and in this case, clean out all USB entries. The OS then rediscovers the
hardware and the stack is rebuilt. "devcon", the program that does the
work, is downloadable from Microsoft. Open the renewusb.bat file with
Notepad, for comments on where to download it.

http://www.robvanderwoude.com/devcon.php

RenewUSB.bat

A manual method of doing the same thing, is described here.

http://www.usbman.com/Guides/Cleanup Device Manager Safe Mode.htm

"WinXP and 2000 - Removing USB devices in Safe Mode will force the OS to
refresh the USB driver stack and may cause a shift in IRQ assignment."

That's a solution you can try, if identifying the device and researching
its quirks doesn't lead anywhere. Sometimes misbehavior is related to
corruption (or confusion caused by devices that lack serial numbers perhaps).

Paul
 
J

Jamie

OK, I did that. The driver is USBSTOR.sys
The contents of USBSTOR.inf is:
USBSTOR.SvcDesc = "USB Mass Storage Driver"
Thank you,

So the card reader is USB storage class, and one of the vid/pid entries
in the file, corresponds to your USB chip.

If you look in setupapi.log file, you can see when the OS loads a driver
for a piece of hardware.

This is a chunk of C:\WINDOWS\setupapi.log from my machine, when my external
USB hard drive enclosure is detected. (This is the closest device I've got,
to doing things the same way as your hardware.) You can see a VID and PIDhere.

[2011/09/30 07:48:39 1012.3 Driver Install]
#-019 Searching for hardware ID(s): usb\vid_04b4&pid_6830&rev_0001,usb\vid_04b4&pid_6830
#-018 Searching for compatible ID(s): usb\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#-198 Command line processed: C:\WINDOWS\system32\services.exe
#I022 Found "USB\VID_04B4&PID_6830" in C:\WINDOWS\inf\oem27.inf; Device: "Cypress AT2LP Manufacturing Driver"; Driver: "Cypress AT2LP Manufacturing Driver"; Provider: "Cypress"; Mfg: "Cypress"; Section name: "CyUsb".
#I087 Driver node not trusted, rank changed from 0x00000001 to 0x00008001..
#I023 Actual install section: [CyUsb.NT]. Rank: 0x00008001. Effective driver date: 01/01/1601.
#I393 Modified INF cache "C:\WINDOWS\inf\INFCACHE.1".
#I022 Found "USB\Class_08&SubClass_06&Prot_50" in C:\WINDOWS\inf\usbstor.inf; Device: "USB Mass Storage Device"; Driver: "USB Mass Storage Device"; Provider: "Microsoft"; Mfg: "Compatible USB storage device"; Section name: "USBSTOR_BULK".
#I023 Actual install section: [USBSTOR_BULK.NT]. Rank: 0x00002000. Effective driver date: 07/01/2001.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:\windows\inf\usbstor.inf".

 From that, I can get the VID and PID, vid_04b4&pid_6830. I would expect
your card reader has a unique usb.ids and from that, perhaps you can figure out
what additional stuff is added to make it work.

You notice in my example, there is a reference to oem27.inf . When a third party INF file
is added, Windows changes the name of the file. But if you open the file with Notepad,
sometimes the real name of the file is shown. The actual file was "CyUSB.inf", Windows
changed that to oem27.inf and copied it to C:\WINDOWS\inf. It might have something
to do with preventing naming collisions.

    "Installation INF for the Cypress Generic USB Driver for Windows 2000/XP"

That particular one happened on my machine, after Seagate Seatools damaged
the config information on my external USB driver. And the entries in setupapi.log
are from when I repaired it by reflashing the config info (using a repairprocedure
from Cypress). Part of that, was using a Cypress driver until the flash was
finished. Then it reverts to usb storage class.

I don't think any thing dramatic has happened to your device, but using the setupapi.log
file, you can get info similar to the hints you might get by using UVCView or the
Linux "lsusb" program. UVCView or lsusb give the VID and PID numbers. Butthe setupapi.log
file will also record the info. Once you have identified the device, via the VID and
PID, you can start Googling for similar reports of your symptoms, and seewhether
anyone uncovered an easy solution.

*******

There are procedures for clearing out the USB stack, but I wouldn't do that unless
absolutely necessary. I'd do a backup before trying it, just in case.

For example, RenewUSB.bat uses "devcon" to interact with Device Manager,
and in this case, clean out all USB entries. The OS then rediscovers the
hardware and the stack is rebuilt. "devcon", the program that does the
work, is downloadable from Microsoft. Open the renewusb.bat file with
Notepad, for comments on where to download it.

http://www.robvanderwoude.com/devcon.php

    RenewUSB.bat

A manual method of doing the same thing, is described here.

http://www.usbman.com/Guides/Cleanup Device Manager Safe Mode...

    "WinXP and 2000 - Removing USB devices in Safe Mode will force the OS to
     refresh the USB driver stack and may cause a shift in IRQ assignment."

That's a solution you can try, if identifying the device and researching
its quirks doesn't lead anywhere. Sometimes misbehavior is related to
corruption (or confusion caused by devices that lack serial numbers perhaps).

    Paul

Wow Paul,

I am amazed at your knowledge on this stuff.

Here is my setupapi.log pertaining to this device:

[2012/01/23 19:20:36 7480.2774 Driver Install]
#-019 Searching for hardware ID(s): usb\vid_3207&pid_0300&rev_0100,usb
\vid_3207&pid_0300
#-018 Searching for compatible ID(s): usb
\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#-198 Command line processed: "C:\WINDOWS\system32\mmc.exe" C:\WINDOWS
\system32\devmgmt.msc /s
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:
\windows\inf\usbstor.inf".
#I320 Class GUID of device remains: {36FC9E60-
C465-11CF-8056-444553540000}.
#I060 Set selected driver.
#-124 Doing copy-only install of "USB\VID_3207&PID_0300\816820090226".
#-019 Searching for hardware ID(s): usb\vid_3207&pid_0300&rev_0100,usb
\vid_3207&pid_0300
#-018 Searching for compatible ID(s): usb
\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:
\windows\inf\usbstor.inf".
#I320 Class GUID of device remains: {36FC9E60-
C465-11CF-8056-444553540000}.
#I060 Set selected driver.

I wasn't able to find anything helpful on google.

BTW, this same thing happens when I try this reader on a second XP
computer, so I don't think it's a corrupt file.

Thank you,
Jamie
 
Ad

Advertisements

P

Paul

Jamie said:
Jamie said:
Jamie wrote:
Jamie wrote:
I have a generic usb 2.0 all-in-1 card reader. When I plug it in, only
1 drive letter shows up. On other ones I've used a drive letter shows
up for each slot. Anyway, it works when I plug a card in a slot, but
will not work when I change cards. It still shows the old information
as if the original card is still inserted. The only way I can get it
to read another card is to unplug and replug in the card reader.
Additional info:
-When card reader is plugged in, 1 drive shows up. The access light
doesn't come on.
-When a card is inserted, the access light comes on.
-It remains on, even after the card is removed. And the contents are
still displayed in Windows Explorer.
-If I eject it. It ejects the whole reader.
-The only way I can get it to read a new card is to unplug and replug
the card reader.
-It is using Windows XP drivers. It didn't come with any disk and says
plug in play.
Any help will be greatly appreciated. If there's a more appropriate
group I should post in, please let me know.
Thanks in advance.
You could try the procedure here, to unmount a partition. Maybe
that would work to make the system forget your old (flash based) card ?
http://www.ehow.com/how_8137497_unmount-partition.html
This was written for a Mac. There is no command button on a PC.
As for tracing down the issue with the hardware, I'd be looking for
means to identify who makes it, and whether there are already
recognized issues with it. While the product may be generic and
lack labels, the chip inside could be used to make other similar
branded products.
The chips are listed (an unofficial list), on web pages like this one.
http://www.linux-usb.org/usb.ids
Using a utility like UVCView, can get the VID (vendor ID) and PID (product ID).
There are likely other hardware utilities that can do the same thing, but
with less fuss. (If you boot a Linux LiveCD, try "lsusb" for example,
while the device is plugged in.)
I couldn't find UVCView. Mine looks just like 'Gear Head CR4200 23-
in-1 Card Reader' except for the color.
The usb.ids method isn't foolproof. Some hardware devices support the
ability to change the identity of the device. That's done, so each
(branded) product made, can have a unique identity for driver installation
purposes. But it can also be used to hide who really makes the chip,
and makes it harder to find a solution to any problems that arise.
Some hardware families are worse for this than others. All it takes
is an external 2K EEPROM, to give a chip like that, a new identity
and register settings.
Paul
Thanks
OK, try this one :) I even tested it. diskmgmt.msc, click partition,
"Change drive letters and paths", click Remove button. My partition is
gone. I can also add it back with the Add button.
That method appears to dismount it, because when I look in Explorer,
it is no longer shown.
http://www.ehow.com/how_6909914_unmount-drive-xp.html
For some reason, even though I use Windows as a search term, the
Macintosh article appears at the top of the search results. The link
I posted this time, is from further down the page.
I wish I could test the idea while using a card reader, but
I don't even own one of those. What I would have liked to do,
is find out what driver files it lists in Device Manager, then
track down the INF file that mentions those files in the Windows
INF folder. But without a hardware sample, I've got nothing to work
with.
Paul
OK, I did that. The driver is USBSTOR.sys
The contents of USBSTOR.inf is:
USBSTOR.SvcDesc = "USB Mass Storage Driver"
Thank you,
So the card reader is USB storage class, and one of the vid/pid entries
in the file, corresponds to your USB chip.

If you look in setupapi.log file, you can see when the OS loads a driver
for a piece of hardware.

This is a chunk of C:\WINDOWS\setupapi.log from my machine, when my external
USB hard drive enclosure is detected. (This is the closest device I've got,
to doing things the same way as your hardware.) You can see a VID and PID here.

[2011/09/30 07:48:39 1012.3 Driver Install]
#-019 Searching for hardware ID(s): usb\vid_04b4&pid_6830&rev_0001,usb\vid_04b4&pid_6830
#-018 Searching for compatible ID(s): usb\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#-198 Command line processed: C:\WINDOWS\system32\services.exe
#I022 Found "USB\VID_04B4&PID_6830" in C:\WINDOWS\inf\oem27.inf; Device: "Cypress AT2LP Manufacturing Driver"; Driver: "Cypress AT2LP Manufacturing Driver"; Provider: "Cypress"; Mfg: "Cypress"; Section name: "CyUsb".
#I087 Driver node not trusted, rank changed from 0x00000001 to 0x00008001.
#I023 Actual install section: [CyUsb.NT]. Rank: 0x00008001. Effective driver date: 01/01/1601.
#I393 Modified INF cache "C:\WINDOWS\inf\INFCACHE.1".
#I022 Found "USB\Class_08&SubClass_06&Prot_50" in C:\WINDOWS\inf\usbstor.inf; Device: "USB Mass Storage Device"; Driver: "USB Mass Storage Device"; Provider: "Microsoft"; Mfg: "Compatible USB storage device"; Section name: "USBSTOR_BULK".
#I023 Actual install section: [USBSTOR_BULK.NT]. Rank: 0x00002000. Effective driver date: 07/01/2001.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:\windows\inf\usbstor.inf".

From that, I can get the VID and PID, vid_04b4&pid_6830. I would expect
your card reader has a unique usb.ids and from that, perhaps you can figure out
what additional stuff is added to make it work.

You notice in my example, there is a reference to oem27.inf . When a third party INF file
is added, Windows changes the name of the file. But if you open the file with Notepad,
sometimes the real name of the file is shown. The actual file was "CyUSB.inf", Windows
changed that to oem27.inf and copied it to C:\WINDOWS\inf. It might have something
to do with preventing naming collisions.

"Installation INF for the Cypress Generic USB Driver for Windows 2000/XP"

That particular one happened on my machine, after Seagate Seatools damaged
the config information on my external USB driver. And the entries in setupapi.log
are from when I repaired it by reflashing the config info (using a repair procedure
from Cypress). Part of that, was using a Cypress driver until the flash was
finished. Then it reverts to usb storage class.

I don't think any thing dramatic has happened to your device, but using the setupapi.log
file, you can get info similar to the hints you might get by using UVCView or the
Linux "lsusb" program. UVCView or lsusb give the VID and PID numbers. But the setupapi.log
file will also record the info. Once you have identified the device, via the VID and
PID, you can start Googling for similar reports of your symptoms, and see whether
anyone uncovered an easy solution.

*******

There are procedures for clearing out the USB stack, but I wouldn't do that unless
absolutely necessary. I'd do a backup before trying it, just in case.

For example, RenewUSB.bat uses "devcon" to interact with Device Manager,
and in this case, clean out all USB entries. The OS then rediscovers the
hardware and the stack is rebuilt. "devcon", the program that does the
work, is downloadable from Microsoft. Open the renewusb.bat file with
Notepad, for comments on where to download it.

http://www.robvanderwoude.com/devcon.php

RenewUSB.bat

A manual method of doing the same thing, is described here.

http://www.usbman.com/Guides/Cleanup Device Manager Safe Mode...

"WinXP and 2000 - Removing USB devices in Safe Mode will force the OS to
refresh the USB driver stack and may cause a shift in IRQ assignment."

That's a solution you can try, if identifying the device and researching
its quirks doesn't lead anywhere. Sometimes misbehavior is related to
corruption (or confusion caused by devices that lack serial numbers perhaps).

Paul

Wow Paul,

I am amazed at your knowledge on this stuff.

Here is my setupapi.log pertaining to this device:

[2012/01/23 19:20:36 7480.2774 Driver Install]
#-019 Searching for hardware ID(s): usb\vid_3207&pid_0300&rev_0100,usb
\vid_3207&pid_0300
#-018 Searching for compatible ID(s): usb
\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#-198 Command line processed: "C:\WINDOWS\system32\mmc.exe" C:\WINDOWS
\system32\devmgmt.msc /s
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:
\windows\inf\usbstor.inf".
#I320 Class GUID of device remains: {36FC9E60-
C465-11CF-8056-444553540000}.
#I060 Set selected driver.
#-124 Doing copy-only install of "USB\VID_3207&PID_0300\816820090226".
#-019 Searching for hardware ID(s): usb\vid_3207&pid_0300&rev_0100,usb
\vid_3207&pid_0300
#-018 Searching for compatible ID(s): usb
\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
#I063 Selected driver installs from section [USBSTOR_BULK] in "c:
\windows\inf\usbstor.inf".
#I320 Class GUID of device remains: {36FC9E60-
C465-11CF-8056-444553540000}.
#I060 Set selected driver.

I wasn't able to find anything helpful on google.

BTW, this same thing happens when I try this reader on a second XP
computer, so I don't think it's a corrupt file.

Thank you,
Jamie

Well, so much for that idea. I can't find a vendor ID of 3207 *anywhere*.
You weren't kidding when you said that thing was generic.

*******

OK, after much putzing around (which I'm good at), I found this. Some
generic advice for card readers, from our friends at HP. Give this a try.

http://h10025.www1.hp.com/ewfrf/wc/document?lc=en&dlc=en&cc=us&docname=bph07910

Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top