OS/2 Warp Compatible Hardware List Web site: CW-USB Mass Storage Kit
OS/2 and USB Web Site: Chris' USB mass storage
kit V1.2.
Listing
of tested and reported USB devices
|
 |
|
- Introduction to Chris Wohlgemuth's USB mass storage kit V1.2
- Introduction
- UHCI compliant USB host controller driver
- OHCI compliant USB host controller driver
- USB driver
- Enhanced USB mass storage class driver
- Installation
- Usage
- Known problems
- Tested devices
- License
- Download Drivers
- Archos Jukebox Recorder and OS/2
- Requirements
- Installation
- Usage
- Problems
- Author
1. Introduction to Chris Wohlgemuth's USB mass
storage kit V1.2
1.1. Introduction.
After purchasing my Archos Jukebox Recorder, a portable MP3 player which may
also be used as an external USB harddisk, I had to discover that the USB mass
storage drivers floating around on my disk don't work with this gadget despite
the fact that the device is USB Mass Storage Class compliant.
The drivers in this archive are mainly written to support the Jukebox but also
work with other USB Mass Storage Devices (MSDs). If you find your particular
USB device is supported by the driver, please report this device using our feedback
form. Please use the USBRES.ZIP package available on ftp://ftp.netlabs.org/pub/usb
to get the Vendor and Product ID of your device and include this information
when reporting, as a replacement of the scanpci.txt file.
The following drivers are included:
- CWUSBUHC.SYS: UHCI compliant USB host controller driver;
- CWUSBOHC.SYS: OHCI compliant USB host controller driver;
- CWUSBD.SYS: USB driver;
- CWUSBMSD.SYS: Enhanced USB Mass Storage Class driver.
1.2. UHCI compliant host controller driver.
This driver is based on the sources available on the DDK site. It does not
have the feature set of the latest IBM driver downloadable with software choice.
If you already have a (maybe better) working driver from there feel free to
use that one. Unlike the latest IBM drivers only one controller chip is supported
with this driver. When loading this driver twice you system may freeze when
attaching an USB device (at least my system does). Use this driver if your USB
controller chip is UHCI compliant (for example Intel and VIA chipsets). Refer
to your mainboard documentation if in doubt.
The driver supports the following switches:
/V |
Verbose, show some information while booting; |
/FS |
Forces driver to stop USB host during OS/2 shutdown process. This parameter
can be used to prevent POST (power on system test) failure on some hardware
with legacy keyboard. |
Add the following line to CONFIG.SYS to install the driver:
[...]
BASEDEV=CWUSBUHC.SYS /V
[...]
1.3. OHCI compliant host controller driver.
This driver is based on the sources available on the DDK site. It does not
have the feature set of the latest IBM driver downloadable with software choice.
If you already have a (maybe better) working driver from there feel free to
use that one. Unlike the latest IBM drivers only one controller chip is supported
with this driver. When loading this driver twice you system may freeze when
attaching an USB device (at least my system does).
Use this driver if your USB controller chip is OHCI compliant. Refer to your
mainboard documentation if in doubt.
The driver supports the following switches:
/V |
Verbose, show some information while booting; |
/FS |
Forces driver to stop USB host during OS/2 shutdown process. This parameter
can be used to prevent POST (power on system test) failure on some hardware
with legacy keyboard. |
Add the following line to CONFIG.SYS to install the driver:
[...]
BASEDEV=CWUSBOHC.SYS /V
[...]
1.4. USB driver.
This driver is based on the sources available on the DDK site. It does not
have the feature set of the latest IBM driver downloadable with software choice.
If you already have a (maybe better) working driver from there feel free to
use that one.
The driver supports the following switches:
/V |
Verbose, show some information while booting; |
/I13 |
Parameter could be used to delay USB host overtaking by USB driver stack
until other device driver finishes required initialization operations and
then send request to USBD driver to start USB service. It could be used
to boot from USB floppy drive; |
/REQ |
This parameter controls USBD driver initialization: driver at initialization
time checks for listed host controller drivers and fails to install if
none of listed drivers is loaded. Current version of USB stack supports
the following parameter codings:
- /REQ:USBUHCD$
/REQ:CWUSBUHC$: USBD driver is loaded only if UHCI compliant host driver
is loaded
- /REQ:USBOHCD$
/REQ:CWUSBOHC$ USBD: driver is loaded only if OHCI compliant host driver
is loaded
- /REQ:USBUHCD$,USBOHCD$,CWUSBOHC$,CWUSBUHC$:
USBD driver is loaded only if one of OHCI/UHCI compliant host drivers
is loaded. This most general form of parameter and must be used in most
cases.
|
Add the following line to CONFIG.SYS to install the driver:
[...]
BASEDEV=CWUSBD.SYS /V
[...]
1.5. USB mass storage class driver.
Enhanced USB mass storage driver which supports more (or other) devices than
the IBM version. Support for READ 10 commands and better disk geometry handling.
Can force external hard disks to appear as removable devices.
The driver supports the following switches:
/V |
Verbose, show some information while booting; |
/FLOPPIES:n |
Number of floppy devices to be served (by default 1). In order to remove
service the key value must be set to 0; |
/A_USAGE:n |
Parameter controls usage of 'A' drive flag for the 1st floppy device.
The following values of n can be used:
0 |
'A' drive flag is not used |
1 |
'A' drive flag is used |
2 (default value) |
'A' drive flag is used only if there is no other device driver using
this flag. |
|
/MAX_FLOPPY |
Parameter forces driver to report floppy device geometry with maximal
sector count as floppy device physical geometry. With this parameter driver
supports LS-120 media formatting but does not support XDF floppy filter
features and vice versa; |
/REMOVABLES:n |
Number of removable media devices to be served (by default 1); |
/FIXED_DISKS:n |
Number of fixed disks to be served; |
/CDS:n |
Number of CD-ROM/CD-RW devices to be served (by default 1); |
/REMOVABLE_AS_FLOPPY |
System uses removable disks as partitioned volumes: BASEDEV=USBMSD.ADD
/REMOVABLE_AS_FLOPPY |
/FORCE_TO_REMOVABLE |
Change external hard disks (for example Archos Jukebox) to removable.
This may be necessary if a device announces itself as a fixed disk but
you want to use it as a removable device. |
Add the following line to CONFIG.SYS to install the driver:
[...]
BASEDEV=CWUSBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1 /FIXED_DISKS:0 /FORCE_TO_REMOVABLE
[...]
1.6. Installation.
Copy the files *.SYS and *.ADD to your \OS2\BOOT directory. Add the following
lines to your config.sys then reboot.
[...]
BASEDEV=CWUSBUHC.SYS /V **** If you have an OHCI chipset use CWUSBOHC.SYS
BASEDEV=CWUSBD.SYS /V
BASEDEV=CWUSBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1 /FIXED_DISKS:0 /FORCE_TO_REMOVABLE
[...]
1.7. Usage.
After attaching an USB device to your system you should hear a short beep.
If not, the device is not recognized by the Mass Storage driver. Check if the
drivers are loaded using the hardware manager. Make sure you attached to the
right port.
If you hear the beep but you can't switch to the device afterwards the disk
geometry wasn't determined properly. This means your device isn't supported.
Before detaching a device make sure you eject the media using the eject command
or the context menu! Even if you have a device without changeable media (for
example a memory stick) this is necessary to close the file system.
1.8. Known problems.
- Only one USB controller is supported. If you need support for two use the
IBM base drivers. You may still use CWUSBMSD.ADD;
- You should detach your USB device before shutdown otherwise shutdown may
hang (seen especially in conjunction with FAT32);
- To support some memory devices the determination algorithm for disk geometry
had to be changed. This may have broken support for devices with differently
sized media. For example using flash readers with media of different sizes
(16MB/32MB/64MB...) may not work without detaching and reattaching the device
with the particular medium inserted. The same problem may occur with floppy
drives. I never tested and can't test this at all because I don't own such
a device.
1.9. Tested devices.
The Mass Storage driver has been tested extensively with a broad range of
USB MSD devices. These devices have been added in the USB databases on this
site. Below are only very few examples of devices that have been tested and
approved to work correctly with this driver set. For more devices, use our online
search system with "cw-usb" as search string.
- Archos Jukebox Recorder 20.
This is a portable MP3 player which may also be used as a hard disk. It contains
an In-System Design USB 2.0 bridge. The file system is FAT32. No DRM or similar
crap. Read how to get this device to work in OS/2 with all features here.
VendorID |
0x05AB |
|
In-System Design |
ProductID |
0x0060 |
|
USB 2.0 Bridge |
Class |
Storage Device |
SubClass |
SCSI transparent command set |
Protocol |
Bulk-Only Transport |
- EasyDisk memory stick
A memory stick with 64M flash memory.
VendorID |
0x1065 |
|
CCYU Technology |
ProductID |
0x2136 |
|
EasyDisk ED1064 (EasyDisk Portable Device) |
Class |
Storage Device |
SubClass |
SCSI transparent command set |
Protocol |
Bulk-Only Transport |
- Siemens MP3-Player USB
Small MP3-player to be used with Siemens cell phones and some Siemens Gigaset
cordless phones (Gigaset Micro). The mobile is used for display and power
supply. It uses MultiMedia cards (MMC) for storing the MP3s and may also be
used as an external memory device for carrying any kind of files. File system
is VFAT. No DRM or similar crap.
VendorID |
0x0483 |
|
SGS Thomson Microelectronics |
ProductID |
0x1307 |
|
ST92163 Mass Storage library Tester |
Class |
Storage Device |
SubClass |
SCSI transparent command set |
Protocol |
Bulk-Only Transport |
1.10. License.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
In short, if it burns your house it's all your fault.
1.11. Download Drivers.
Here you can download Chris Wohlgemuth's USB MSD set of device drivers. Only
use them when having read and agreed to the licensing terms in the section above.
2. Archos Jukebox Recorder and OS/2
The Archos Jukebox Recorder is a portable MP3
player which may also be used as an external USB harddisk. The device is USB
mass storage class compliant and uses FAT32 as the file system. This HowTo describes
a way to use this player with OS/2. For eCS users things are slightly different
because of LVM. If you run eCS make sure to read the documentation of DaniDASD.
The solution described here isn't perfect yet but at least it works for me ;-).
2.1. Requirements
You need the following drivers to use the Jukebox:
- FAT32 file system driver V0.94 made by Henk Kelder. This is an installable
file system driver so OS/2 may read FAT32 partitions;
- DaniDASD V1.4.4 or above. This is an enhanced version of the OS/2 DASD
manager OS2DASD.DMD so OS/2 may recognize FAT32 partitions;
- Chris' USB mass storage driver. The IBM mass storage drivers can't deal
with the controller chip used in the Jukebox so this modified driver must
be used. Additionally this driver changes the external hard disk from a fixed
disk to removable disk.
2.2. Installation
2.2.1. DaniDasd.
Follow the instructions given in the documentation coming with daniDASD. You'll
end with the following line in your CONFIG.SYS:
[...]
REM BASEDEV=OS2DASD.DMD
BASEDEV=DANIDASD.DMD
[...]
2.2.2. FAT32-IFS.
Install the FAT32-IFS by adding the following lines to your config.sys and
copying the helper programs cachef32.exe, monitor.exe and f32stat.exe to a directory
on your path and the DLLs to a directory on LIBPATH.
[...]
IFS=D:\OS2\FAT32.IFS /EAS
CALL=D:\OS2\CACHEF32.EXE
[...]
It's not necessary to install partfilt.flt because DaniDASD already helps OS/2
to recognize FAT32.
2.2.3. USB drivers.
Add the following lines to your CONFIG.SYS:
[...]
BASEDEV=CWUSBUHC.SYS /V <-- Driver for UHCI chipsets. For OHCI chipsets
use CWUSBOHC.SYS.
BASEDEV=CWUSBD.SYS /REQ:USBUHCD$,USBOHCD$,USBEHCD$,CWUSBUHC$
BASEDEV=CWUSBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1 /FIXED_DISKS:0 /FORCE_TO_REMOVABLE
[...]
If you already have the USB base drivers (USBUHCI.SYS/USBOHCI.SYS, USBD.SYS)
installed only add the mass storage driver CWUSBMSD.ADD.
Now reboot so the new drivers are loaded.
2.3. Usage
In your drive folder you find a new removable drive object even without the
Archos attached. Turn your Jukebox on and connect it to your USB port. Wait
a few seconds so the device may be found by OS/2.
Before disconnecting the device make sure to "eject" it using the
eject command! This will write the cache contents to the drive if not yet done.
2.4. Problems
FAT32-IFS was not made for removable devices, so one has to face a few minor
problems. On every shutdown disks are normally marked as clean. Without this
mark CHKDSK is run on next boot.
- If you eject the USB disk the disk remains dirty. After the next attach
use F32STAT.EXE x: /FCLEAN to mark the disk as clean so OS/2 may write on
it. If you removed the device without eject or you're not sure eject succeeded
you should run CHKDSK on the newly attached drive;
- Because the drive is dirty the first access to the drive letter will need
some time. After this first access everything is fast as usual;
- Disconnect the device from your system before shutting down or the shutdown
may hang;
- The EJECT command sometimes fails with an error message. Nevertheless the
buffers are written to disk and the device is unmounted. You may check this
with the monitor command coming with FAT32-IFS;
- An access to the drive letter after unmounting (eject) will automatically
remount the drive.
3. Author.
This driver set is copyright (c) Chris Wohlgemuth 2002-2003. This document
is copyright (c) Chris Wohlgemuth 2002-2003.
THE INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED
"AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS ALL WARRANTIES,
WHETHER EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES
OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE
INFORMATION IN THIS DOCUMENT.
|