Single-Use Camera Reader for Windows
Single-Use Camera Reader, as the name implies, is software that allows you to read picture data from one or more types of "single-use" digital cameras currently on the market. It is known to support the SPCA504b-based Dakota Digital Camera (PureDigital Technology), but according to this, not the Walgreens single-use digital camera.
Beware, some (many?) of the Dakota cameras being sold now are the new "PV2" series (both with and without color LCD screen); these are based around a completely different chipset, and are not compatible with SUCR. These can be identified by the new case style and the 'PV2' displayed on the camera and packaging.
The program allows you to read picture data, clear the camera (for reuse), view basic status and hardware information (such as firmware version), and dump the raw contents of the camera's internal memory. Future versions may allow you to do additional things such as upload custom firmware or send raw commands to the camera.
Download Single-Use Camera Reader
Current version (0.05) with LibUSB-Win32 version 0.1.8.0. This version corrects a bug that prevented more than 127 pictures from being correctly downloaded. Yes, now you can actually store that many pictures under certain conditions :-) See the readme for details.
Source code
Current stable version
The USB requests should be pretty self-explanatory with the help of good documentation.
Features
- Download pictures onto your PC, and clear the camera for re-use (duh)
- View hardware information
- Dump raw memory contents, registers or firmware to a file
- Take a specified number of pictures in succession, while the camera is connected to your computer - use this to bypass the camera's 25-picture hardlimit
- View and modify camera registers and memory contents in real-time
- Force the camera into specific modes such as Webcam mode (not useful from within SUCR, but you can capture the Webcam output from the camera's isochronous USB endpoint, if you have and/or can write a program which does this. If you do, mail me!)
Old versions
Version 0.04 - Includes libusb-win32 version 0.1.8.0 and testlibusb.exe. Adds new 'Quick Snap' feature, camera RAM explorer and register/memory editing.
Version 0.03 - Includes libusb-win32 version 0.1.7.9 and testlibusb.exe. This release features re-coding as necessary to work with the newer releases of LibUSB-Win32.
Version 0.02 - Includes libusb-win32 version 0.1.7.7 and testlibusb.exe. This release contains only cosmetic changes to version 0.01.
Version 0.01 - Includes libusb-win32 version 0.1.7.7 and testlibusb.exe
Version 0.00 - Includes libusb-win32 version 0.1.7.5
Screen shots
Current version showing main window and memory-watch window
Reporting Bugs
The Single-Use Camera Reader bundle consists of two different pieces of software: there is the reader itself (sucr.exe), and a set of driver software (libusb-win32) for talking to the USB port. Single-Use Camera Reader is written by me, and libusb-win32 is written by Stephan Meyer and probably(?) others. If you experience problems after installing the libusb drivers (such as any blue screens, hangs, etc.), please fill out a bug report to the libusb-win32 developers using this form. If you experience problems in the sucr.exe program itself (such as program crash, picture download fails, etc.), e-mail me. My e-mail address is at the very bottom of this page.
I will be unable to help with or correct bugs in libusb-win32, and by the same token, the libusb-win32 developers definitely will not want to hear about how you cannot download pictures! So, please follow the above when trying to determine where to send a bug report.
Walgreens Cam?
Sorry folks, it looks like the Walgreens cam uses a different (unknown) command set; Single-Use Camera Reader doesn't speak it. I don't have one (and since I have a couple of Dakotas already, don't have the inclination to go buy one and try hacking it), but if some enterprising hardware hacker is able to figure out / document the command set, I'll be happy to add support for this cam.
Troubleshooting / known issues
Previous SUCR v0.04 release:
The previous release of SUCR 0.04 featured incorrect instructions for installing a libusb-win32 package. (It directed users to an .EXE installer for a filter driver, not a stub driver.) This is corrected in the current release; back to right-clicking and "install" on the .inf file. Stub drivers are now again packaged with the SUCR release.
Windows (All versions):
If upgrading from an old release of libusb-win32 (0.1.7.7 or before) to a new version (0.1.7.8 or later), Windows may not detect the camera's interfaces as separate devices (e.g. USB Composite Device, Bulk, ISO).
- Solution: If your camera is working properly after upgrading and there are no adverse effects, you can continue using it this way. If the camera does not detect, you may have to completely remove the old libusb-win32 drivers before installing the new ones. See the "Uninstalling" section of the readme.txt for instructions on doing this.
Windows (All versions):
You receive a "sanity check failed" error while downloading pictures.
- Solution: This error occurs if you are using mismatched versions of sucr.exe and libusb-win32. It can also occur if a bulk transfer from the camera (such as a picture download) has been previously interrupted. First, try closing sucr.exe, unplugging the camera, then plugging it back in. If you continue to receive this error, check the version numbers of sucr.exe and libusb-win32.exe: Libusb-win32 versions 0.1.7.7 and earlier MUST be used with sucr.exe version 0.02 or earlier. Libusb-win32 versions 0.1.7.8 or later MUST be used with sucr.exe version 0.03 or later. This is necessary due to changes that were made to libusb-win32 starting with version 0.1.7.8.
Windows (All versions): Camera plugged in, but not detected even after installing the drivers and REBOOTING.
- Solution: Verify that the LibUSB drivers installed correctly by running "testlibusb.exe" from the command line. You should get a long list of information about your USB hub/motherboard and all the devices connected. If it just prints "bus/device idVendor/idProduct" and exits (or worse, crashes the computer with a bluescreen), LibUSB has NOT installed correctly - see troubleshooting stuff above for possible causes and remedies. If testlibusb is working but Single Use Camera Reader does not detect the camera, check that its Vendor/Product ID is listed in the testlibusb output (you may have to do "testlibusb.exe | more" at the command line to see all the output). The IDs for the Dakota camera are 04FC/FFFF and for the Walgreens camera are 0461/0819. If it is not listed, check the connection between the camera and the USB port, the wiring, etc. Make sure the camera shows "PC" when connected to the computer. If it is listed but sucr.exe won't detect it, e-mail me a bug report.
Windows XP:After installing the libusb-win32 drivers on some Windows XP systems, Windows hangs on shutdown or takes an unusually long time to shut down.
- This problem has been reported by some Windows XP users, but no fix is currently available. If this happens on your system, please fill out a bug report for the libusb-win32 developers. The best solution at this time would be to remove the libusb-win32 drivers (see the 'Uninstalling' section of the Single-Use Camera Reader readme.txt) and try on a different machine or wait for a newer release.
The following problems are believed to be fixed as of sucr.exe 0.03 and libusb-win32 0.1.7.8, but are retained for reference.
Windows (All versions?)
Problem: When attaching the camera for the first time, Windows may detect your camera as a "Composite USB Device" and automatically install a generic driver, rather than asking you for the LibUSB stub driver. Then, it will detect each of the camera's USB pipes as separate devices, and thus ask for (and install) 2 copies of the stub driver in addition to the "Composite USB Device". NOTE: This is correct and expected behavior as of version 0.03 (libusb-win32 version 0.1.7.9)!
If this happens on older bundles, however, the camera will not be detected, and you may get a bluescreen when running sucr.exe or testlibusb.exe.
- Solution: Open Device Manager and remove both instances of the camera (stub driver). Reboot the computer. If Windows asks for drivers when you reboot or plug the camera in, press 'Skip' or 'Cancel' to skip installation of the stub driver. You should now be able to run testlibusb.exe and sucr.exe without problems if the filter driver is installed. If Windows continues to beg you for drivers when you plug the camera in, try doing "Update driver" on the "Composite USB Device" and specifying the USB stub driver .inf file.
Windows 98 and 98SE
Problem: If installing the stub driver, Windows may report that the .inf file could not be copied even though it may have copied correctly. This is a known issue with the .inf file supplied by earlier versions of LibUSB-Win32, and is (hopefully) fixed as of version 0.1.7.7 included with this release.
- WORKAROUND: If the error message continues to appear after the .inf file was successfully copied (appears in C:\Windows\inf), press "Skip file" on the error dialog. Also have a look at the solution to the previous problem, especially if Windows continues to bug you for drivers.
Back to my Dakota Camera page.
Contents © 2003 T. R. Gipson, dakota "at" cexx dot org. Reproduction in whole or in part permitted for personal use.