Debian packaging of the u3 tool to control the special features of a U3 USB flash disk

Christoph Biedl 3a30dcacec Add riscv64 to list of architectures. 5 months ago
debian 3a30dcacec Add riscv64 to list of architectures. 5 months ago
doc 5665ef141d Import upstream version 0.3 14 years ago
src 5665ef141d Import upstream version 0.3 14 years ago
AUTHORS 957bed6bdd Import upstream version 0.0~svn5 15 years ago
COPYING 957bed6bdd Import upstream version 0.0~svn5 15 years ago
ChangeLog 5665ef141d Import upstream version 0.3 14 years ago
INSTALL 1af1eeca5e Import upstream version 0.2 14 years ago
Makefile.am 1af1eeca5e Import upstream version 0.2 14 years ago
Makefile.in 5665ef141d Import upstream version 0.3 14 years ago
NEWS 1af1eeca5e Import upstream version 0.2 14 years ago
README 1af1eeca5e Import upstream version 0.2 14 years ago
TODO 5665ef141d Import upstream version 0.3 14 years ago
aclocal.m4 5665ef141d Import upstream version 0.3 14 years ago
compile 1af1eeca5e Import upstream version 0.2 14 years ago
config.guess 5665ef141d Import upstream version 0.3 14 years ago
config.h.in 5665ef141d Import upstream version 0.3 14 years ago
config.sub 5665ef141d Import upstream version 0.3 14 years ago
configure 5665ef141d Import upstream version 0.3 14 years ago
configure.ac 5665ef141d Import upstream version 0.3 14 years ago
depcomp 1af1eeca5e Import upstream version 0.2 14 years ago
install-sh 1af1eeca5e Import upstream version 0.2 14 years ago
missing 1af1eeca5e Import upstream version 0.2 14 years ago

README

Description:
-----------
u3-tool is a tool for unlocking and configuring U3 smart USB Flash devices.

Main features:
- Change CD partition size and Replace CD image
- (de-)secure data partition
- Unlock secured data partition

Supported device:
----------------
In theory all U3 USB flash devices should be supported. A list of U3 compatible devices can be obtained from http://www.U3.com.

The software is currently tested with the following drives:
* Sandisk Cruzer Micro U3 512Mb
* Sandisk Cruzer Micro U3 4Gb
* Verbatim Store 'N Go 1Gb

Selecting a subsystem:
---------------------
U3-Tool can utilize a number of subsystems to access the USB drive. Which one to use depends on you Operating system and version.

- sg
The sg subsystem uses the Linux SCSI Generic interface to communicate with the device. The big advantage of this subsystem is that the u3-tool can issue commands to the device while the device is under control of the usb-storage Linux subsystem. This means that u3-tool can be used without having to unmount the volume or unassociate the device from any kernel drivers. Big disadvantage is that the sg system on older kernels(<2.6.22??) don't allow all commands to be executed.
When building on Unix the 'u3-tool' executable uses this subsystem.

- LibUSB
The LibUSB subsystem uses LibUSB to send raw USB commands to the device. The advantage of this subsystem is that LibUSB should work on all Linux kernels >= 2.4, and should even work other operating systems.
However... For LibUSB to be able send commands to the USB device it needs exclusive access to the device. This requires the Linux usb-storage system, which makes the device available as disk to the end-user, to release the device. So effectively this means that you can't use the device as disk and use U3-tool at the same time.
When building on Unix the 'u3-tool-usb' executable uses this subsystem.

- spt
The spt subsystem uses Microsoft Windows SCSI pass through interface to communicate with the device. This is similar to the sg subsystem, with the difference that this is Windows specific.
When building on Windows the 'u3-tool.exe' executable uses this subsystem.

So what subsystem do you need to use? Simply said:
- Microsoft Windows --> spt subsystem
- Linux >2.6.21? --> sg subsystem
- Linux <=2.6.21? --> LibUSB
- Other OS(BSD/Mac OS?) --> LibUSB, but hasn't been tested

Compilation:
------------
If you have downloaded the source:
- On Linux/Unix see INSTALL for instructions.
- On Windows you need the mingw32 compiler. Type 'make -f Makefile.win' in the src/ directory. Or open the u3_tool.dev file with Bloodshed's Dev-C++(http://www.bloodshed.net/devcpp.html).