Dane-Elec PhotoMate Combo
I just got a Dane-Elec PhotoMate Combo SmartMedia/CompactFlash reader manufactured by SCM Microsystems. It is a USB device with ID 04e6:0005.
The http://www.qbik.ch/usb/devices/ list of supported devices calls this thing unsupported, and [email protected] writes:
"I want this to work ! I'll help testing."
I think the status can be changed to fully supported, at least it works fine in my first tests.
Changes required:
(i) in sd.c there is a peculiar code fragment that assumes that a removable disk is write protected in case the status is unknown; reversing this default allows writing to the flash card.
if (the_result) {
- printk("%s: test WP failed, assume Write Protected\n", nbuff);
- rscsi_disks[i].write_prot = 1;
+ printk("%s: test WP failed, assume Write Enabled\n", nbuff);
} else {
rscsi_disks[i].write_prot = ((buffer[2] & 0x80) != 0);(ii) this card needs usb/storage/dpcm.c which is compiled when CONFIG_USB_STORAGE_DPCM is set, but this variable is missing from usb/Config.in. Add it.
(iii) add to unusual_devs.h:
diff -u --recursive --new-file ../linux-2.4.3/linux/drivers/usb/storage/unusual_devs.h ./l\inux/drivers/usb/storage/unusual_devs.h
linux/drivers/usb/storage/unusual_devs.h Sat Apr 28 14:39:20 2001 renamed from linux-2.4.3/linux/drivers/usb/storage/unusual_devs.h Sun Apr 1 20:44:19 2001 +6 -0
@@ -79,6 +79,12 @@ "CameraMate (DPCM_USB)", US_SC_SCSI, US_PR_DPCM_USB, NULL, US_FL_START_STOP ), + +UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, + "SCM Microsystems Inc", + "eUSB SmartMedia / CompactFlash Adapter", + US_SC_SCSI, US_PR_DPCM_USB, NULL, + US_FL_START_STOP ), #endif
Maybe the device is slow, and I got read errors with a Compact Flash card in the reader at boot time. A "blockdev --rereadpt /dev/sdX" worked.
Andries
Quoted 7 lines · On Sat, Apr 28, 2001 at 05:02:21PM +0200, [email protected] wrote:
I just got a Dane-Elec PhotoMate Combo SmartMedia/CompactFlash reader manufactured by SCM Microsystems. It is a USB device with ID 04e6:0005.
The http://www.qbik.ch/usb/devices/ list of supported devices calls this thing unsupported, and [email protected] writes:
"I want this to work ! I'll help testing."
Quoted 7 lines
I think the status can be changed to fully supported, at least it works fine in my first tests.
Changes required:
(i) insd.cthere is a peculiar code fragment that assumes that a removable disk is write protected in case the status is unknown; reversing this default allows writing to the flash card.
This is an unsafe assumption. The code fragment you call "peculiar" is definately necessary.
Quoted 3 lines
(ii) this card needs
usb/storage/dpcm.cwhich is compiled whenCONFIG_USB_STORAGE_DPCMis set, but this variable is missing from usb/Config.in. Add it.
This config option is considered so immature that it's not ready for the kernel config, even as an EXPERIMENTAL. Use it at your own risk.
Matt
Signature · 6 lines
Matthew Dharm Home: [email protected] Maintainer, Linux USB Mass Storage Driver A female who groks UNIX? My universe is collapsing. -- Mike User Friendly, 10/11/1998