Home OS/2 Warp Contact Me About Me
 
OS/2 Warp Introduction
os2warp.be Hardware List
OS/2 and WiFi WLAN
OS/2 and eCS Modems
OS/2 and PCI-X
PCI sound cards for eCS and OS/2
Daniela's Enhanced Drivers
OS/2 and USB Web Site
 News
 The Complete OS/2 USB Story
 Adapters
 Audio/Multimedia
 Cameras
 Cards
 CD/CDRW
 Hubs
 Joysticks
 Modems
 Mice/Keyboard
 Network Adapters
 Printers
 Scanners
 Storage
 Drivers & Tools
 CW-USB Mass Storage Kit
 Tips & Articles
 Get Support
 Report Compatible Hardware
OS/2 NICPAK
OS/2 and Gigabit LAN
NoteBook/2 web site
Gomi NDIS MAC drivers
Scanning with Tame/2
OS/2 and RAID Solutions
Win32prn Printers Project
UniAud Project
OS/2 and FireWire (IEEE1394)
PCMCIA Socket Chipsets
The SCSI Workshop
Technical Support Center
Download Center
test
 

Related Links:
os2warp.be Technical Support
OS/2 Warp Homepage
OS/2 Device Driver Pak OnLine
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


    1. Introduction to Chris Wohlgemuth's USB mass storage kit V1.2
      1. Introduction
      2. UHCI compliant USB host controller driver
      3. OHCI compliant USB host controller driver
      4. USB driver
      5. Enhanced USB mass storage class driver
      6. Installation
      7. Usage
      8. Known problems
      9. Tested devices
      10. License
      11. Download Drivers
    2. Archos Jukebox Recorder and OS/2
      1. Requirements
      2. Installation
      3. Usage
      4. Problems
    3. 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.



Copyright Information


Last modified: 2004/08/30, 15:36 | This site is sponsored by Mensys B.V.