USB Basic Device Driver Support

Version: 
11.17 & 10.226
Release date: 
Monday, 11 March, 2019
Price: 
$49.00

Categories:

License:

Interface:

USB basic driver stack including UHCI, OHCI, EHCI (USB 2.0) support, always required and to be installed first!

All this drivers are the result of Lars Erdmann's efforts and now support also isochronous transfers!

Basic USB Device Driver Stack for OS/2 Warp Programmer’s Reference, Version 1.1 reprinted Courtesy of International Business Machines Corporation on 08/12/2013. Thanks to International Business Machines and Martin Iturbide for mediating!

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Available both as ZIP and WarpIN package:

  • download the ZIP package to temporary directory and unpack it to destination folder;
  • the WarpIN package is self-installing.

OS/2 Warp4 >= fixpak13 or equivalent is required to use these drivers. See below for download link(s).

Following ones are the download links for manual installation:

USB Basic Device Driver Support v. 10.226 (11/3/2019, Lars Erdmann) Readme/What's new
changes in 10.226: USBAUDIO,USBAUD2: 1) added (playback) support for 16-bit mono/stereo at 12/15/24 kHz sampling rates. PLEASE RERUN THE USBAUDIO INSTALLATION (usbaudio.zip) USBMSD: 1) in OS/2 HW Manager, add a RM device node for each attached MSD under the "USB Mass Storage Device Class driver" The strings displayed (vendor,product,product rev) are directly taken from the "SCSI Inquiry" command These are the very same strings that DFSee >= version 15.5. will display for USB sticks/disks USBHID: 1) remove /S switch (/S: show HID devices names (for mice and keyboards) in OS/2 HW manager), /S switch behaviour is now the default USBRESMG: 1) fix a bug when clearing a stalled pipe (direction flag for endpoint was not properly set), wait for stalled pipe command to finish (before accepting next command) 2) some sanity check for control transfers added (for the rare case of control transfers that do NOT go via endpoint zero) USBD: 1) on clearing a stalled pipe, do not attempt to call class/client driver notification routine if it is not specified 2) on attaching a new device, do not call "cancel endpoint" processing against the default address for the HC serving the device, this is unnecessary and would just kill all current transfers of all other devices attached to the same HC (due to a bug in the HC drivers which has also been fixed, see below) UHCI,OHCI,EHCI: 1) rework endpoint cancel processing. This will fix errors where on a new device insert, any interrupt device (mouse,keyboard) or isochronous device (USB audio) would cease to work OHCI: 1) additional fixes for endpoint cancel processing with regard to isochronous devices: fix a memory leak
 hobbes.nmsu.edu/download/pub/os2/system/drivers/misc/usbdrv226.zip
USB Basic Device Driver Support v. 10.225 (10/11/2018, Lars Erdmann) Readme/What's new
changes in 10.225: USBAUD2: 1) adding USB audio 2.0 support. The USB audio 1.0 and USB audio 2.0 standards are different enough to justify adding a separate driver for audio 2.0 support (USBAUD2). The driver for audio 1.0 support (USBAUDIO) can still be used along with USBAUD2. All recent USB devices (let's say newer than > 2016) are likely following the audio 2.0 standard. The USBAUD2 supports the very same sample rates and bit resolutions as the USBAUDIO driver does. In addition it supports DSD (via DART) with these sample rates: 44.1,48,88.2,96,176.4,192,352.8,384,705.6,768 kHz. (thanks Wim Brul !) Here is the detailed info that Wim provides: Capabilities of the USB audio 2.0 driver. Supports playback only. Recording not supported. Plays 8/16-bit mono/stereo legacy sample rates (8 kHz, 11.025 kHz, 22.050 kHz). Plays 16/24/32-bit mono/stereo standard sample rates (32 kHz, 44.1 kHz, 48 kHz, 64 kHz, 88.2 kHz, 96 kHz, 176 kHz, 192 kHz, 352.8 kHz, 384 kHz). If a bit resolution / sample rate is not directly supported by the hardware then conversion will take place according to the following table: +-------------------------------------------------------------------------+ | sampling rates 16/24/32-bit mono/stereo to 16/24/32-bit stereo | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | 32.0 | 44.1 | 48.0 | 64.0 | 88.2 | 96.0 | 176.4 | 192.0 | 352.8 | 384.0 | kHz | +------+------+------+------+------+------+-------+-------+-------+-------+-------+---+ | ok | down | down | down | down | down | down | down | down | down | 32.0 | | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | ok | down | down | down | down | down | down | down | down | 44.1 | H | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | ok | down | down | down | down | down | down | down | 48.0 | A | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | ok | down | down | down | down | down | down | 64.0 | R | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | up | ok | down | down | down | down | down | 88.2 | D | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | up | up | ok | down | down | down | down | 96.0 | W | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | up | up | up | ok | down | down | down | 176.4 | A | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | up | up | up | up | ok | down | down | 192.0 | R | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | up | up | up | up | up | ok | down | 352.8 | E | +------+------+------+------+------+------+-------+-------+-------+-------+-------+ | | up | up | up | up | up | up | up | up | up | ok | 384.0 | | +------+------+------+------+------+------+-------+-------+-------+-------+-------+---+ a) 16-bit to 24/32-bit and 24-bit to 32-bit is done by zero extension. b) 32-bit to 24/16-bit and 24-bit to 16-bit is done by truncation. c) mono is converted to stereo by sample duplication. d) downsampling is done by throwing away samples. e) upsampling is done by duplicating samples. Playback of DoP (DSD over PCM) is possible when your hardware supports it. CAUTION: Inherent to DSD this requires bit perfect playback and muting and not using maximum volume will result into harmfull noise/static. Playback of raw DSD stereo (DSD32, DSD64, DSD128, DSD256, DSD512) is only possible through the DART interface and when your hardware supports it. CAUTION: Inherent to DSD this requires bit perfect playback and muting and not using maximum volume will result into harmfull noise/static. USBAUDIO: 1) fix error in subtype protocol table: incorrectly specified sample frequency of 352000 Hz, needs to be 352800 Hz. This is already correct in USBAUD2. USBMSD: 1) fixing an error when virtual (in memory) Track 0 of a "large floppy" media is accessed: the driver only ever reads/writes 1 sector in this case, and therefore should only report back handling 1 sector (no matter how many were requested) 2) minor changes in locking segments. No functional impact. USBKBD: 1) fix support for media/system keys on a USB keyboard. Changes to additional drivers (AMOUSE.SYS, IBMKBD.SYS, KBDBASE.SYS) might be necessary to see and use these additional keys in applications. However, you can use XWorkplace to add scancodes for these additional keys via the "function keys" page of the Keyboard object and use these additional keys as keyboard shortcuts to open objects (as described in the XWorkplace help) 2) fix keyboard repeat (hopefully, please report if it still does not work ...). 3) fix handling of toggle flag 4) update/add tracing (major code:228 = 0xE4). USBMOUSE: 1) analogous to USBKBD 3), fix handling of toggle flag 2) update/add tracing (major code:228 = 0xE4). USBHID: 1) minor changes in locking segments. No functional impact. 2) update/add tracing (major code:228 = 0xE4). USBEHCD: 1) isochronous data transfer: fixed a bug in "AccIsoBuffer" when arming the context hook to start isochronous processing. The bug lead to overwriting the device driver's header which in turn would break the device driver chain. USBCALLS: 1) properly close notification mutex on DLL termination
 hobbes.nmsu.edu/download/pub/os2/system/drivers/misc/usbdrv225.zip
USB Basic Device Driver Support v. 10.224 (3/8/2018, Lars Erdmann) Readme/What's new
changes in 10.224: USBD: 1) make USBD.SYS compatible with OS/4 kernel (to properly display HUB info in OS/2 Hardware Manager), USBD.SYS will still properly load on the standard OS/2 kernel 2) fixes so that USB will work from a booted up commandline 3) back out Transaction Translater (TT) reset introduced in 10.223. Looks like some hubs don't like this command if issued directly after hub ports power on (thanks Barry Landy) 4) change all delay timing in the root hub processing in the HC drivers ((U|O|E)HCD.SYS) from using blocking to using delay timers. This should reduce device attach problems on bootup. The complete solution would also involve doing the same for USBD.SYS but that has not been done due to lack of time.
 hobbes.nmsu.edu/download/pub/os2/system/drivers/misc/usbdrv224.zip
USB Basic Device Driver Support v. 10.223 (11/5/2018, Lars Erdmann) Readme/What's new
-------------------------------------------------------------------------------- changes in 10.223: EHCI: 1) fixed errors in bandwidth deallocation computation. The effect of the bug was that extended use of mouse/keyboard attached to USB 2.0 hub would increasingly slow down the system and finally make mouse/keyboard non-operational 2) properly serialize allocation and deallocation of TDs (transfer descriptors). Looks like after an extended time span of using mouse/keyboard attached to USB 2.0, the system is running out of free TDs which eventually leads to a system freeze USBPRT: 1) limit the number of USB printers to 4 (and 2 COM port connected printers). It used to be 32 printers (and 16 COM port connected printers) and on driver init, 2 GDT selectors per printer are allocated. GDT selectors are a scarce resource and each GDT selector allocation reduces free memory space in the system arena. USBD: 1) add Transaction Translator (TT) reset for all hubs on initial hub enumeration to get hubs into a consistent state after system start. This is essential for USB 1.x devices attached to a USB 2.0 hub. 2) call HC resets and enumeration of root hubs for all HCs on multiple invocations of the context hook dedicated for this job. That will (hopefully) prevent the system from hanging because HC reset will take an extended period of time
 hobbes.nmsu.edu/download/pub/os2/system/drivers/misc/usbdrv223.zip
USB Basic Device Driver Support v. 10.222 (25/3/2018, Lars Erdmann) Readme/What's new
changes in 10.222: USBD: 1) change HC reset and root hub enumeration logic: first, reset all EHCI HCs, then reset all UHCI/OHCI HCs, then start root hub enumeration for all EHCI root hubs, then start root hub enumeration for all UHCI/OHCI root hubs USBWAV: 1) remove sample rate conversion, instead, add conversion from 24-bit/32-bit to 16-bit so that you can replay 24-bit/23-bit files to a 16-bit audio device via MMPM (double click on sound file, ...) It also adds a subpage to the Multimedia Setup Object (under "USB Adapter Wave") to disable/enable that feature for example if you do have a USB audio device that is natively capable of playing 24-bit or even 32-bit. Can be used along with the conversion USBAUDIO provides (see below). USBWAV continues to support A-law and u-law codecs. PLEASE RERUN THE USBWAV INSTALLATION EHCI: 1) fix interrupt transfer driven devices (mouse,keyboard) by fixing bandwidth allocation and deallocation computation. That'll allow to properly use mice and keyboards on USB 2.0 hubs, in particular if isochronous devices (USB audio stick) are used on the very same hub (thanks Mikhail Zlobin for reporting this problem) USBAUDIO: 1) adding additional conversion for sample rates and/or bit resolutions (thanks Wim Brul) Wim has provided this complete list of what conversion is provided apart from the legacy sample rates (8 kHz, 11.025 kHz, 22.050 kHz) that continue to be supported. PLEASE RERUN THE USBAUDIO INSTALLATION. In general, if a bit resolution / sample rate is directly supported by the Hardware then no conversion will take place: +-----------------------------------------------------------+ | sampling rates 32-bit mono/stereo to 16/24/32-bit stereo | +------+------+------+------+-------+-------+-------+-------+-------+ | 44.1 | 48.0 | 88.2 | 96.0 | 176.4 | 192.0 | 352.8 | 384.0 | kHz | +------+------+------+------+-------+-------+-------+-------+-------+---+ | ok | down | down | down | down | down | down | down | 44.1 | H | +------+------+------+------+-------+-------+-------+-------+-------+ | | | ok | down | down | down | down | down | down | 48.0 | A | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | ok | down | down | down | down | down | 88.2 | R | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | ok | down | down | down | down | 96.0 | D | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | ok | down | down | down | 176.4 | W | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | ok | down | down | 192.0 | A | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | | ok | down | 352.8 | R | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | | | ok | 384.0 | E | +------+------+------+------+-------+-------+-------+-------+-------+---+ 1) 32-bit is converted to 16/24-bit by truncation. 2) mono is converted to stereo by sample duplication. 3) downsampling is done by throwing away samples. +-----------------------------------------------------------+ | sampling rates 24-bit mono/stereo to 16/24-bit stereo | +------+------+------+------+-------+-------+-------+-------+-------+ | 44.1 | 48.0 | 88.2 | 96.0 | 176.4 | 192.0 | 352.8 | 384.0 | kHz | +------+------+------+------+-------+-------+-------+-------+-------+---+ | ok | down | down | down | down | down | down | down | 44.1 | H | +------+------+------+------+-------+-------+-------+-------+-------+ | | | ok | down | down | down | down | down | down | 48.0 | A | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | ok | down | down | down | down | down | 88.2 | R | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | ok | down | down | down | down | 96.0 | D | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | ok | down | down | down | 176.4 | W | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | ok | down | down | 192.0 | A | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | | ok | down | 352.8 | R | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | | | ok | 384.0 | E | +------+------+------+------+-------+-------+-------+-------+-------+---+ 1) 24-bit is converted to 16-bit by truncation. 2) mono is converted to stereo by sample duplication. 3) downsampling is done by throwing away samples. +-----------------------------------------------------------+ | sampling rates 16-bit mono/stereo to 16/24-bit stereo | +------+------+------+------+-------+-------+-------+-------+-------+ | 44.1 | 48.0 | 88.2 | 96.0 | 176.4 | 192.0 | 352.8 | 384.0 | kHz | +------+------+------+------+-------+-------+-------+-------+-------+---+ | ok | down | down | down | down | down | down | down | 44.1 | H | +------+------+------+------+-------+-------+-------+-------+-------+ | | up | ok | down | down | down | down | down | down | 48.0 | A | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | ok | down | down | down | down | down | 88.2 | R | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | ok | down | down | down | down | 96.0 | D | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | ok | down | down | down | 176.4 | W | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | ok | down | down | 192.0 | A | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | | ok | down | 352.8 | R | +------+------+------+------+-------+-------+-------+-------+-------+ | | | | | | | | | ok | 384.0 | E | +------+------+------+------+-------+-------+-------+-------+-------+---+ 1) 16-bit is converted to 24-bit by zero extension. 2) mono is converted to stereo by sample duplication. 3) downsampling is done by throwing away samples. 4) upsampling is done by duplicating samples.
 hobbes.nmsu.edu/download/pub/os2/system/drivers/misc/usbdrv222.zip
USB Basic Device Driver Support v. 11.17 (8/10/2017, Arca Noae LLC) Readme/What's new
This is a maintenance release and includes minor fixes and enhancements. Specifically, this version fixes keyboard auto-repeat so that it works for all USB keyboards. This version also fixes the ability to use certain unusual types of USB 1.x devices when plugged into a USB 2.0 hub.
 ecsoft2.org/os2-ecs-drivers-and-software-package
USB Basic Device Driver Support v. 11.16 (8/6/2017, Arca Noae LLC) Readme/What's new
Change Log ========== v.11.16 08-Jun-2017 - David Azarewicz Misc cosmetic changes for debugging.
 ecsoft2.org/os2-ecs-drivers-and-software-package
USB Basic Device Driver Support v. 11.15 (30/3/2017, Arca Noae LLC) Readme/What's new
Change Log ========== v.11.15 30-Mar-2017 - David Azarewicz USBD: Fixed a MaxPacketSize error when initializing high speed devices.
 ecsoft2.org/os2-ecs-drivers-and-software-package
USB Basic Device Driver Support v. 11.14 (27/11/2015, Arca Noae LLC) Readme/What's new
Change Log ========== v.11.14 27-Nov-2015 - David Azarewicz Fixed a problem booting from USB devices.
 ecsoft2.org/os2-ecs-drivers-and-software-package
Record updated last time on: 21/03/2019 - 04:46

Translate to...

Add new comment