USB Configuration Notebook


What's new: Bug fix release for 0.8.1; Check History section
below for details.


What is usbcfg.exe?


This is a settings notebook designed to reconfigure most USB settings.

NOTE: This application is not designed to work with the CW USB drivers.

It can also be used to add more Controller lines to the config.sys file
should a user add a USB Host Controller card to the system.

It is not designed to perform the initial installation of any required
drivers, only reconfigure the installation of those drivers so the
drivers already need to exist in their default location.

Note: I think the Ethernet driver should be configured using the MPTS
application although the "/V" option should not cause problems.



Feedback required on how well the application works generally and
especially on Modem, Quatech Serial Port, Ethernet and Printer options.

Feedback - and moans :-(  - should be emailed to 
        losepete@ntlworld.com using a Subject of USBcfg 
- simply click on the Button with my name on the Information page.




A brief overview of what usbcfg.exe does


When started usbcfg.exe:-
   Identifies how many of what type(s) of controller are available.
   The config.sys file is read to establish the current USB use and a
   "USB Free" copy of the config.sys file, config.tmp, is generated.
   The various notebook pages display the current installation values
   based on the config.sys values


Any changes made are saved at program exit:-
   Copies the current config.sys to config.nnn (where nnn is a value
   between 001 - 999) - a backup in case of problems.
   The values currently displayed in the notebook are written to the
   config.tmp file, appended to the end in BASEDEV and then DEVICE order
   The config.tmp file is copied to config.sys 
   The config.tmp file is deleted
   A Warning is displayed that it is necessary to Reboot to activate the
   changes - also states the name of the config.sys backup file
   Current window size, position and state are written to the
   usbcfg.ini file
      



Install Instructions


Warpin package

USBcfg is available as a warpin package, USBcfg082.wpi
Presuming Warpin is installed simply double click the USBcfg082.wpi file 
to install USBcfg.
The files will be installed into the directories shown below.


ZIP package

USBcfg is also available as a Zip package,USBcfgb082.zip
USBcfgb082.zip contains
        usbcfg.exe - application
        usbcfg.hlp - help file
        GETDESC.DLL - support library
        USBcfg.txt - this readme file
        install.cmd - install script
        usbmsdFAQ.inf.inf - frequently asked questions about USB drives
        usbacpiFAQ.inf - observation about reserving USB drives related
        to multi-slot cardreaders

Unzip to a temp directory and run the install.cmd script.


This should copy the usbcfg.exe file to

 [BootDrive]:\ecs\bin - eCS System
 Or
 [BootDrive]:\OS2 - OS/2 Systems

The usbcfg.hlp file should be copied to

 [BootDrive]:\ecs\help - eCS System
 Or
 [BootDrive]:\OS2\HELP  - OS/2 Systems

The USBcfg.txt (this file) should be copied to

 [BootDrive]:\ecs\DOC\USBcfg\USBcfg.txt - eCS System
 Or
 [BootDrive]:\OS2\USBcfg.txt  - OS/2 Systems

The GETDESC.DLL file should be copied to
 
 [BootDrive]:\ecs\dll - eCS Systems
 Or 
 [BootDrive]:\OS2\DLL - OS/2 Systems

The usbmsdFAQ.inf file should be copied to

 [BootDrive]:\ecs\book - eCS Systems
 Or
 [BootDrive]:\OS2\BOOK - OS/2 Systems

The usbacpiFAQ.inf file should be copied to

 [BootDrive]:\ecs\book - eCS Systems
 Or
 [BootDrive]:\OS2\book - OS/2 Systems


where [BootDrive] is the boot drive for the system


The install creates a program object, "USB", in the System Setup folder

If the install routine installs USBcfg to [BootDrive]:\ecs\bin then it
will check for and, if found, remove a previous release 
from [BootDrive]:\os2


Alternatively:-

Unzip files into your choice of location

Manually create a program object in your System Setup folder:-
        Open System Setup folder
        Open location you have unzipped the USBcfg.* files to
        RMB on USBcfg.exe and select Create Program Object
        Give object the name USB and create it in System Setup

If updating an existing install of USBcfg then it is necessary to delete 
the existing USBCFG.INI file.

Run the program by clicking the object - Or, if you have not created the
object, click on the executable.



Problems

1] Xit seems to be causing some problems when trying to start USBcfg. 
I do not use Xit myself but am informed there is a list (?) that 
applications need to be added to otherwise Xit prevents them 
from running.

2] After a fresh, clean (not migration) install of eCS1.2MR with the 
included SNAP video drivers to a system based on a VIA KT333 mainboard
chipset and nVidia MX440 video card USBcfg failed to start with the 
following exception:-

Exception occured: TList error exception (EListError) occured at    
$00023021
Program is terminated.

The above was resolved by updating USB and IDE/DASD drivers and also
installing the SNAP314 (current) release.

I can only conclude there is something flaky about some of the drivers
supplied with eCS1.2MR as I did get an email report about this problem
from another eCS1.2MR user before being able to (accidentally) recreate
the problem myself. So, advice to eCS1.2MR users: Update USB, IDE, DASD
and SNAP drivers if the above error occurs - maybe that advice should 
apply to anyone who gets the above error...


3] USBcfg beta6 introduced some error checking on the call to 
hcimonit.exe - used to identify Type and Quantity of 
Controllers available.
On some systems this revealed what seems to be a Bug in hcimonit.exe 
which has a return code value of 1 (Fail variant) rather than the 
expected 0 (Success). This has been fixed in USBcfgb6c and later by
USBcfg dispensing with the call to hcimonit.exe and querying 
hardware directly.



History

Beta 0.8.2

Changed USBECD popup menu item Delete Line to Remove Line

"Synchronised" keyboard shortcuts for the USBECD popup menu items with the
state of those items ie Enabled = Keys work or Disabled = nothing happens                                                                                   

Changed code to allow USBECD lines without leading 0's to be valid
 eg
   DEVICE=H:\OS2\BOOT\USBECD.SYS /D:3:0000:1 /N:AA$
 is the same as
   DEVICE=H:\OS2\BOOT\USBECD.SYS /D:0003:0000:0001 /N:AA$

Added the parameter /bin to the call to USBDock.exe

Increased size of Revision text area to avoid truncation of Revision data

Corrected System, Page1 EHCI showing as USB v1; now shows as USB v2

Allow Printer Device Name to be LPT

Updated Help file with changes and corrected some "typos"

Available in ZIP and Warpin packages.


Beta 0.8.1

Adds support for the USB 2.0 Extended Control Driver for OS/2, USBECD.SYS

Adds support for specified non-IBM USBD.SYS to have Controller lines 
written in the same order as IBM USBD.SYS ie No message asking about
reversing the driver order when using builds by D Azarewicz and/or 
Lars Erdmann; they are treated as though they are IBM versions.

Minor tweaks to interface

    App window now wider (740 * 480) if using horizontal resolution 
    better than 1024 and is no longer Resizable. However, for those who
    prefer a 640 * 480 window you can reset the width to 640.
    Open the Properties Notebook for the USB program object in System
    Setup and enter 640 as the Parameter. If you decide to try 740
    width again you will need to delete the 640 Parameter.

    Increased the width of the Vendor Driver Information area 
                                       
    Changed Text links Peter Brown and WDSibyl to Buttons on the
    Information tab

    The "+" and "-" keys can now be used to navigate through the 
    notebook pages

USBcfg now looks for USBAUDIO.SYS in [BootDrive]:\OS2\BOOT

Updated Help file to add help for USBECD.SYS

Updated the Install.cmd file to delete existing USBCFG.INI file due 
to resized interface and modified USBCFG.INI file structure

Updated GETDESC.DLL - Lars Erdmann has supplied an updated version 
which seems to work fine with all the Vendors that I have tried.
Thank you, Lars.

Available in ZIP and Warpin packages.                                        


Beta0.7.5

Changed the method of extracting driver buildlevel details - Thanks 
to Lars Erdmann for the GETDESC.DLL file now included with USBcfg

Added the EHCI Controller speed selector for use with Lars Erdmanns
builds of USBEHCD.SYS

Updated USBCFG.HLP with above changes

Updated INSTALL.CMD to copy the GETDESC.DLL file to either 
[BootDrive]:\ecs\dll for eCS systems or 
[BootDrive]:\os2\dll for OS/2 systems


Beta0.7.2

As the IBM recommended load order for Controllers is reported to cause
problems when using the non-IBM USBD.SYS driver from the mmportv1 
package Users of the non-IBM driver can opt to write the Controller 
lines in "Reverse Order" to the IBM load order ie:-

        USBEHCD.SYS
        USBOHCD.SYS
        USBUHCD.SYS


Beta0.7.1

Changed the USB Controller driver load order to the below - as 
recommended in the IBM readme

        USBUHCD.SYS
        USBOHCD.SYS
        USBEHCD.SYS

When a setting is changed and the config.sys file is updated the 
Controller lines will be written in the above order. The interface has
been changed to match the above order

Changed the Resource Manager page

        Added the USB Dock application

Changed the Information page

        1] clicking on Peter Brown fires up the default email client to send
           me an email about USBcfg

        2] clicking on WDSibyl fires up the default browser with the WDSibyl
           website url

       NOTE: Both the above rely on Default browser and email cient settings
              in the OS2.INI file.

        3] added USBcfg version data

Renamed the USBFAQ.INF filename to usbmsdFAQ.inf

Added a USB and ACPI FAQ, usbacpiFAQ.inf - observation about reserving
USB drives related to multislot cardreaders - feel free to send me
additions to this FAQ

Updated USBCFG.HLP with above changes

Updated INSTALL.CMD to copy the usbacpiFAQ.inf and usbmsdFAQ.inf to 
either [BootDrive]:\ecs\book or [BootDrive]:\OS2\book depending on 
system in use

 

Beta7

Some minor changes to prevent USBcfg from trying to configure the 
CWUSB drivers.

Added an USBFAQ.INF file which contains Lon Hookers helpful 
"USB Removables - Care and Feeding FAQs".

Updated USBCFG.HLP to link to the above USBFAQ.INF file

Updated INSTALL.CMD to copy the USBFAQ.INF to either 
[BootDrive]:\ecs\book or [BootDrive]:\OS2\book
depending on system in use.



Beta6c

Replaced the call to hcimonit.exe with some code that seems to work on
the systems that hcimonit.exe failed to run on previously.
Thanks to Paul Ratcliffe for his c code - he spent "a spare hour
knocking it up" and I spent a lot longer working out how it worked, 
"transcodelating" it into Pascal and incorporating it into USBcfg  :-)

This build also dispenses with the use of bldlevel.exe when obtaining
Driver Vendor and Build data.

Minor updates to the install.cmd script: eCS users will now find the 
help file stored in the eCS default location of [BootDrive]:\ecs\help
If the help file exists in [BootDrive]:\ecs\bin - from a previous 
install - it will be deleted


Beta6

Driver information (Vendor and Build Revision) are now displayed - as
long as the driver exists and can be found on the system. If a driver
is not found the application displays "N/A" as an abbreviation for 
"Not Available".

USBcfg now checks for an already running instance and will not start a
second copy running  - Thanks to Wolfgang for his example code. 
This should result in the already running copy being displayed but it
seems to depend on how the application was started - something else to
"tidy up" if possible in the near future.
So, if USBcfg will not start check the Window list to see if it is
already running.

Default Button - now sets the default values for devices (drivers)
only for the current page.

Undo Button - now undoes changes only to the current page.

Help has been indexed a little better and should now work in a 
context-sensitive manner: Click on a driver, eg Mouse, press F1 and 
the Help should open at the correct, eg Mouse, section.

Fixed the problem - Hopefully - where sometimes the backup file created
(when changes had been made) had the same title as the CONFIG.SYS file
rather than the Title of the Backup File ie:-
     2 or more copies of CONFIG.SYS appeared to exist when looking at 
     the directory from the WPS due to duplicate File Titles.



Beta5a

Fix for UHCI Controllers Installed quantities being added to OHCI 
Controller Installed quantities with UHCI Controller Installed quantity
showing 0 in Beta5.


Beta5

Development package change - now using WDSibyl rather than Sibyl (fp3).
Thanks to Wolfgang for his ongoing WDSibyl development which is at 
http://members.chello.at/webstar/wdsibyl.html

A new icon  :-)
It looks more like an eCS-OS/2 configuration notebook icon I think.
My Thanks to Herwig Bauernfeind for this "upgrade to the artwork".

Fixes for some small bugs that crept into beta4:
If using Quatech Serial Ports with a single value (4, 8 or similar) 
beta4 would add a spurious character, Sorry.
Also some unused (here) drivers were showing default values rather than
empty entryfields.

Added the capability to run USB Resource Manager.
For this to work obviously the USB Resource Manager package needs to be
installed. USBcfg checks for the USB Resource Manager in 
[BootDrive]:\ecs\bin and in the system Path.

Some Tab Title changes and repositioning of Pages:
"Devices" became "I/O"
"CD/DVD" became "Optical"
"Other Drives" became "Mass Storage"
added "Resource Manager" Page

Changed the Undo button so that it is always Enabled - for "conformity" 
with other settings notebooks.

Added "Hints" - if you leave the mouse over a driver/option for too 
long you should get a basic "help hint" appear.


Beta4

Now checks screen resolution and sizes accordingly when started for the
first time. Resizes if the system is switched to 800*600 or lower; also
positions app centre screen if the app was closed partially off screen.

As a result of the above "vga compatability" the app has some visual 
changes including new pages to put the changes onto - System, Devices
and Communications now have 2 pages, the Drives page has changed to 
2 pages, CD/DVD and Other Drives.

Backups are now made with the filename config.nnn where nnn is a 
sequential value between 000 to 999 inc. 
The higher value the filename extension the more recent the backup is. 
If you ever generate config.999 then the next attempt to create a 
backup will fail and a message will be displayed bringing this large 
number of backups to your attention...

Checks existing config.sys file for non-standard/default USB Device 
Driver locations and stores the relevent details preventing USBcfg 
from resetting Device driver paths to the standard/Default locations 
when writing a new config.sys file.
Note: Does not hunt through the system for any driver files in 
non-default locations but if the driver is already in the config.sys
file that location is used.

Checks for Drivers when a new Device is selected (user checks a 
previously unchecked device driver checkbox), 
Displays a message if the Driver is not in a Standard directory/Default
directory (for most devices [bootdrive]:\os2\boot) and will not be able
to configure the Device.

The Undo button is still "Global" - undo ALL changes; but it should 
work a bit quicker now.

"Local" Undo allowing changes made to be undone by clicking the same 
checkbox again now works.

Now searches \os2\boot and the system path for hcimonit.exe (this is 
supplied with the IBM USB Base Driver package).

Updated the Other Drives page, Removables options to include the 2 new 
parameters, /CHS and /MS10_OFF, included in the USBMSD.ADD update, 
Build 10.162

Added the gphoto2 usb driver, gph2usb.sys, to the application on 
Devices, Page 2 of 2

*** Removed the Scanner from Devices, Page 2 of 2 - the driver involved,
USBSCAN.SYS, is no longer required with current builds of sane 
(from http://smedley.info/sane.html)

Disabled the Ethernet configuration options.
This device should be installed and configured using MPTS, the details 
are shown for completeness of information with the option to Add/Remove
the Verbose parameter being the only active option if the Ethernet 
driver is already installed and in use.


Beta 3

Rectified all config.sys lines being written in uppercase - all 
non-USB config.sys lines are left in the original case, USB lines are
written using uppercase due to some reports in newsgroups of lowercase
parameters not working  - "v" and "/removables:" among them.

Added program icon to application window


Beta 2

Changes are written to the config.sys file.

App "remembers" window position, size and state - now uses an ini file.

Error checking is minimal - No check on whether any required drivers 
are installed before writing updated config.sys file.

Help still only Indexed by Topic.

No NLS support
 

Beta1

Help is only Indexed by Topic at the moment.

No config.sys changes are made, all other functions working.

Error checking is minimal.

