
RCONTROL 1.0  Copyright (C)1997 Cornel Huth
6-Jan-1997

--------
Overview
--------

RCONTROL, also known as EJECTnnn.ZIP, is a utility that I wrote
specifically to fix a problem in the stand-alone restore of the
Back Again/2 Personal software.  The problem is that if the
restore spans a cartridge there's no way to switch to the next
cartrdige since the PM interface is not available, and without
it, there's no way to unlock/eject a cartridge to insert the
next in the backup.

To do a full stand-alone restore, where the boot drive needs to
be restored, you most likely will have to do a floppy boot.  The
regular OS/2 floppy boot doesn't allow task switches, so even
with RCONTROL you won't be able to do a restore that spans a
single cartridge.  One method is to just backup your boot drive
onto a single cart.  This works fine for Warp 3. where there's
plenty of room on a cart (EZ135 gets 127MB, and to 280MB if
compressed, per cart).  Warp 4 is bigger and it may not be
possible to do a single-cart backup anymore.

I use BackAgain/2 3.10a Personal, along with an EZ135 SCSI and an
UltraStor U34F SCSI H/A.  I've heard that the problem still exists
in BackAgain/2 4.x.  In my case, I've already have to patch
drivers to get my U34F to even support removables drives in OS/2
(see U34F_RMB2.ZIP at www.40th.com), and while I can eject a
disk regardless of its lock state (see U34F_RMB2 for details),
once I do this BA/2 aborts when accessing the newly inserted cart
since BA/2 doesn't do any sort of mounting of new carts.  This
is easy for me to work around in WPS (I can open an OS/2 window
and just do a DIR, or I can open the Drives Object and do a Lock),
but impossible to work around from a floppy boot.

To use RCONTROL in a floppy boot, you should get the EWS package
called BOOTOS2.ZIP.  With it you can switch/start up another
program, for example, RCONTROL to do an unlock+eject.  Then,
switch carts and lock.  BA/2 works and you don't have to reinstall
OS/2 from scratch, and your backup data located on drives after the
boot drive are no longer worthless (BA/2 is useless for stand-alone
restore if you have to span cartridges, for reasons already stated).

--------------
Using RCONTROL
--------------

RCONTROL.EXE (or eject.exe) has the following operations:

 rcontrol k: S   show status of removable drive, k:
 rcontrol k: U   unlock removable drive, k:
 rcontrol k: L   lock removable drive, k:
 rcontrol k: E   unlock then eject cartridge in removable drive, k:

All but S (status) work on CD drives.  E, eject, performs an unlock
before it attempts to eject.  The drive must be the first arg, followed
by S, U, L, or E; the drive can be c: to z:.

Option switches:

 -f             force all steps to be taken, ignoring errors
 -n             do not retry when device is not yet ready

It may be useful to force (-f) a lock or unlock, even if a previous setup
step failed (for whatever reason).  This is especially useful for my
setup (see U34F_RMB2.ZIP for details).  To eject a CD, -f is needed
since CD is a read-only medium.

If RCONTROL cannot lock/unlock on its first attempt, it retries the
call two more times, with a 2 second delay between calls.  If the drive
is still not ready, rc=163 is returned.  Use -n to not do these retries.
Possible errors:

   15 is an invalid drive (see -f)
   21 is drive not ready
   33 is a lock violation; probable open file on drive
   87 the drive probably just is not a valid RMB (-f was used to no avail)
  108 drive is in use; cannot obtain exclusive access (see -f)
  163 uncertain media, or drive still not yet ready

Other return codes are standard OS/2 error codes.  All output in red goes
through stderr, the rest through stdout.  RMB is short for removable.

For updates, or for other OS/2 packages, check the sites listed below.

 .                                             .
 :    Quality Toolkits and Applications for    : info@40th.com
 :          DOS - Win16 - Win32 - OS/2         : http://www.40th.com/
 :                                             : BBS:1-210-684-8065

