Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Jan 2000 20:37:54 -0600 (CST)
From:      Acadix Software Systems <acadix@execpc.com>
To:        freebsd-doc@freebsd.org
Subject:   ZIP Drive doc for handbook
Message-ID:  <Pine.SOL.4.10.10001052021200.11292-200000@earth.execpc.com>

index | next in thread | raw e-mail

[-- Attachment #1 --]

Hello ladies and gentlemen,

I just went through some major pains getting my parallel port ZIP drive
to work under FreeBSD 3.2.  As it turns out, I seem to have hit every
possible contingency ( My system has a SCSI root disk that had to be
wired down to prevent the ZIP from becoming the root device, an ATAPI
cdrom that seems to be broke, and my ZIP drive is attached to a second
parallel port that had an IRQ conflict with sio2 )  As a result, I've
learned quite a bit from reconfiguring my kernel about 20 times (mainly
because I thought I had screwed up the cdrom config), and I
thought I'd better document the experience before my emotional defense
mechanisms step in and block out all memories of the incident.
(Sounds a bit like the life of George Costanza, doesn't it?)

Anyway, I wrote up an HTML doc covering everything I know about ZIP
drives under FreeBSD, and you're welcome to use it in the handbook if you
like.  Let me know if you think it needs any tweaking to fit in.

Cheers,

-Jason


[-- Attachment #2 --]

<html>
<head><title>Parallel ZIP Drives</title></head>

<body>
<blockquote>
<h1>ZIP Drive Basics</h1>

    ZIP disks are high capacity, removable, magnetic disks, which can be
    read or written by ZIP drives from iomega corporation.
    ZIP disks are similar to floppy disks, except that they
    are much faster, and have a much greater capacity.  While floppy
    disks typically hold 1.44 megabytes, ZIP disks are available in
    two sizes, namely 100 megabytes and 250 megabytes.
    ZIP drives should not be confused with the <a href=>super-floppy</a>,
    a 120 megabyte floppy drive which also handles traditional 1.44
    megabyte floppies.
    IOMEGA also sells a higher capacity, higher performance drive
    called the JAZZ drive.  JAZZ drives come in 1 gigabyte and
    2 gigabyte sizes.
    <p>
    ZIP drives are available as internal or external units, using one
    of three interfaces:
    <p>
    <! Unordered list of >
    <UL>
    <LI>The SCSI (Small Computer Standard Interface) interface is
	the fastest, most sophisticated, most expandable, and most expensive
	interface.  The SCSI interface is used by all types of computers
	from PC's to RISC workstations to minicomputers,
	to connect all types of peripherals such as disk drives, tape
	drives, scanners, and so on.
	SCSI ZIP drives may be internal or external, assuming your host
	adapter has an external connector.
	<blockquote>
	<em>Note: If you are using an external SCSI device, it is
	    important never to connect or disconnect it from the SCSI
	    bus while the computer is running.  Doing so may cause
	    file-system damage on the disks that remain connected.</em>
	</blockquote>
	
	If you want maximum performance and easy setup, the SCSI interface
	is the best choice.  This will probably require adding a SCSI host
	adapter, since most PC's (except for high-performance servers)
	don't have built-in SCSI support.  Each SCSI host adapter can support
	either 7 or 15 SCSI devices, depending on the model.
	<p>
	Each SCSI
	device has it's own controller, and these controllers are fairly
	intelligent and
	well standardized, (the second `S' in SCSI is for Standard) so
	from the operating system's point of view, all SCSI disk drives
	look about the same, as do all SCSI tape drives, etc.  To support
	SCSI devices, the operating system need only have a driver for
	the particular host adapter, and a generic driver for each type
	of device, i.e. a SCSI disk driver, SCSI tape driver, and so
	on.  There are some SCSI devices that can be better utilized
	with specialized drivers (e.g. DAT tape drives), but they
	tend to work OK with the generic driver, too.  It's just that the
	generic drivers may not support some of the special features.
	<p>
	Using a SCSI zip drive is simply a matter of determining which
	device file in the /dev directory represents the ZIP drive.
	This can be determined by looking at the boot messages while
	FreeBSD is booting (or in /var/log/messages after booting),
	where you'll see a line something like this:
	<blockquote>
	da1: <IOMEGA ZIP 100 D.13> Removable Direct Access SCSI-2 Device
	</blockquote>
	This means that the ZIP drive is represented by the file /dev/da1.

    <p>
    <LI>The IDE (Integrated Drive Electronics) interface is a low-cost
	disk drive interface used by many desktop PC's.  Most IDE
	devices are strictly internal.
	<p>
	Performance of IDE ZIP drives is comparable to SCSI ZIP
	drives.  ( The IDE interface is not as fast as SCSI, but
	ZIP drives performance is limited mainly by the mechanics of the
	drive, not by the bus interface. )
	<p>
	The drawback of the IDE interface is the limitations it
	imposes.  Most IDE adapters can only support 2 devices, and
	IDE interfaces are not typically designed for the long term.
	For example, the original IDE interface would not support
	hard disks with more than 1024 cylinders, which forced a lot
	of people to upgrade their hardware prematurely.  If you
	have plans to expand your PC by adding another disk, a tape
	drive, or scanner, you may want to invest in a SCSI host
	adapter and a SCSI ZIP drive to avoid problems in the future.
	<p>
	IDE devices in FreeBSD are prefixed with a "w".  For example,
	an IDE hard disk might be /dev/wd0, an IDE (ATAPI) cdrom
	might be /dev/wcd1, and so on.
    
    <p>
    <LI>The parallel port interface is popular for portable external
	devices such as external ZIP drives and scanners, because
	virtually every computer has a standard parallel port (usually
	used for printers).  This makes things easy for people to transfer
	data between multiple computers by toting around their
	ZIP drive.
	<p>
	Performance will generally be slower than a SCSI or IDE ZIP
	drive, since it is limited by the speed of the parallel port.
	Parallel port speed varies considerably between various computers,
	and can often be configured in the system BIOS.  Some machines
	will also require BIOS configuration to operate the parallel
	port in bidirectional mode.  ( Parallel ports were originally
	designed only for output to printers )
    </UL>
    
<h1>Parallel ZIP: The vpo Driver</h1>

    To use a parallel-port ZIP drive under FreeBSD, the <em>vpo</em>
    driver must be configured into the kernel.  Parallel port ZIP
    drives also have a built-in SCSI controller.
    The vpo driver allows
    the FreeBSD kernel to communicate with the ZIP drive's SCSI controller
    through the parallel port.
    <p>
    Since the vpo driver is not a standard part of the kernel (as of
    FreeBSD 3.2), you will need to rebuild the kernel to enable this
    device.  The process of building a kernel is outlined in detail
    in another section.  The following steps outline the process in
    brief for the purpose of enabling the vpo driver:
    <p>
    <! Ordered list of >
    <OL>
    <LI>Run /stand/sysinstall, and install the kernel source code
	on your system.
    <p>
    <LI>cd /sys/i386/conf
    <p>
    <LI>cp GENERIC MYKERNEL
    <p>
    <LI>Edit MYKERNEL, change the "ident" line to MYKERNEL,
	and uncomment the line describing the vpo driver.
	<p>
	If you have a second parallel port, you may need to copy the
	section for ppc0 to create a ppc1 device.  The second parallel
	port usually uses IRQ 5 and address 378.  Only the IRQ is required
	in the config file.
	<p>
	If you're root hard disk is a SCSI disk, you might run
	into a problem with probing order, which will cause the system
	to attempt to use the ZIP drive as the root device.  This will
	cause a boot failure, unless you happen to have a FreeBSD root
	file-system on your ZIP disk!  In this case, you will need to
	"wire down" the root disk, i.e. force the kernel to bind a
	specific device to /dev/da0, the root SCSI disk.  It will then assign
	the ZIP disk to the next available SCSI disk, e.g. /dev/da1.
	To wire down your SCSI hard drive as da0, change the line
	<blockquote>
	device  da0
	</blockquote>
	to
	<blockquote>
	disk    da0 at scbus0 target 0 unit 0
	</blockquote>
	You may need to change the target above to match the SCSI ID of your
	disk drive.
	You should also wire down the scbus0 entry to your
	controller.  For example, if you have an Adaptec 15xx controller,
	you would change
	<blockquote>
	controller scbus0
	</blockquote>
	to
	<blockquote>
	controller scbus0 at aha0
	</blockquote>
	Lastly, as long as you're editing the kernel config, you 
	can take the opportunity to remove all the unnecessary drivers.
	This should be done with a great deal of caution, and only if
	you feel confident about making kernel modifications.
	Removing unnecessary drivers will reduce the kernel size,
	leaving more memory available for your applications.  To determine
	which drivers are not needed, go to the end of the file
	/var/log/messages, and look for lines reading "not found".
	Then, comment out these devices in your config file.
	You can also change other options to reduce the size and increase
	the speed of your kernel.
	Read the section on rebuilding your kernel for more
	complete information.
    <p>
    <LI>Now it's time to compile the kernel:
	<p>
	<! Ordered list of >
	<OL>
	<LI>/usr/sbin/config MYKERNEL
	<LI>cd ../../compile/MYKERNEL
	<LI>make depend
	<LI>make
	<LI>make install
	</OL>
    </OL>
    <p>
    After the kernel is rebuilt, you'll need to reboot.  Make sure the
    ZIP drive is connected to the parallel port before the boot begins.
    You should see the ZIP drive show up in the boot messages as device
    vpo0 or vpo1, depending on which parallel port the drive is attached
    to.  It should also show which device file the ZIP drive has been
    bound to.  This will be /dev/da0 if you have no other SCSI disks
    in the system, or /dev/da1 if you have a SCSI hard disk wired down
    as the root device.
    
<h1>Mounting ZIP disks</h1>

    To access the ZIP disk, you simply mount it like any other disk device.
    The file-system is represented as slice 4 on the device, so for SCSI
    or parallel ZIP disks, you would use
    <blockquote>
    mount_msdos /dev/da1s4 /mnt
    </blockquote>
    For IDE ZIP drives, use
    <blockquote>
    mount_msdos /dev/wd1s4 /mnt
    </blockquote>
    It will also be helpful to update /etc/fstab to make mounting easier.
    Add a line like the following, edited to suit your system:
    <blockquote>
    /dev/da1s4  /zip msdos rw,noauto  0 0
    </blockquote>
    and create the directory /zip.
    Then, you can mount simply by typing 
    <blockquote>
    mount /zip
    </blockquote>
    and unmount by typing
    <blockquote>
    umount /zip
    </blockquote>
    For more information on the format of /etc/fstab, run "man fstab".
    <p>
    You can also create a FreeBSD file-system on the ZIP disk
    using mkfs.  However, the disk will only be usable on a FreeBSD
    system, or perhaps a few other Unix clones that recognize FreeBSD
    file-systems.  ( Definitely not DOS or Windows )
    
<h1>Author</h1>
    This document was written by:
    <blockquote>
    Jason W. Bacon<br>
    info@acadix.com<br>
    jbacon@mcw.edu<br>
    bacon@cs.uwm.edu<br>
    </blockquote>
    Questions and comments regarding this document are welcome.
    <p>
    Disclaimer:
    <p>
    I have no affiliation with the FreeBSD organization, iomega,
    or the author(s) of the vpo driver.  ( I'm just a guy with a ZIP
    drive and hopes of making life a little easier for other FreeBSD
    users. )  Good luck, and enjoy!
</blockquote>
</body>
</html>

help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.4.10.10001052021200.11292-200000>