MCLIB - Robotic control programs for Windows NT/2000


There are three programs that can be used with any SCSI-enabled medium changer (tape library or optical jukebox). These programs have been tested on Windows NT and 2000 systems with Adaptec SCSI cards, Qlogic Fibre Channel cards (QLA-2340) and the CISCO iSCSI drivers.


mcstat – queries the medium changer to display the vendor and product identifier and to display the starting addresses of the storage slots, the data transfer elements (drives), the import/export slots and the transport addresses (picker(s)).

mm – Move Medium program. Allows you to move optical media or tape drives from one slot to another; keep in mind that some move combinations don’t work on all libraries. For example, some libraries cannot move from a storage slot to the transport slot (picker)

readvol – Query the library and display the slots that are occupied by media.


Compiling the Source Code

Unfortunately, compiling the source code is not an open-source kind of thing. The source code needs access to the .h files included in the Microsoft Driver Developer Kit (DDK). This previously free kit now costs, last time I checked, US$199. So, I have included a compiled binary for those users without the DDK. I use Microsoft Visual C++ (I know, I know, not open source) to get this software compiled. Someday, I might get around to using GCC, but getting around the DDK issue will still remain.


Finding your device name in Windows

The more recent Windows operating systems (NT4.0, 98, XP, 2000) have a generic SCSI interface that allows this software to communicate with the SCSI devices without a special device driver. The file name (in UNC terms) is of the format “\\.\SCSI#”, where the “#” is replaced with the SCSI HBA number assigned at boot time. The number can change if you add a new HBA. HBAs include SCSI, ATA, and software emulators (like the iSCSI driver from CISCO/Microsoft). On my current test system, \\.\SCSI0 is the interfacee for the boot ATA drive, \\.\SCSI1 is the IDE interface for my CD-ROM, \\.\SCSI2 and \\.\SCSI3 are the two ports on my Qlogic Fibre Channel cards, and \\.\SCSI4 is the iSCSI driver which talks to a CISCO 5428 via gigabit ethernet.


The easiest way to quickly find these devices is to run regedit (START->RUN->enter REGEDIT, press return). A picture of the pertinent registry keys is shown below.