Subject: Is the ZIP ZOOM (AIC 6360 based) SCSI card supported?
To: None <current-users@netbsd.org>
From: Duncan McEwan <duncan@MCS.VUW.AC.NZ>
List: current-users
Date: 08/26/1998 00:48:29
A few days ago, I posted a query relating to trying a ZIP ZOOM scsi card in an
x86 running NetBSD-1.3.  Basically, I reported that the card seemed to be
probed OK (at 0x140, irq 11) by the aic driver and SCSI devices on the bus (at
least a ZIP drive and a DAT drive) were successfully identified.

But with the ZIP drive connected the system wedged during the boot after
printing the "biomask" line, and before "boot device".  With just the DAT drive
connected, the system booted OK, but then any process trying to read from the
drive hung (the system carried on OK though).

My previous post was to port-i386.  I didn't get any responses to it so I dug
around a bit more, including trying 1.3.2 and current kernels (hence I now feel
justified in posting this to "current-users" :-) and still see the same
behaviour.

When the system hangs during boot, breaking out to DDB gives the following
stack trace (copied down by hand so some numbers might be incorrect).

	idle(f073ae80, 0, f073bc80, 0, f0231d08)
	bpendsleep(f073ae80, 11, f01bf605, 0)
	scsipi_execute_xs(f073ae80, f023ld5c, f073bc80, f073bc80, f0231d64)
	scsi_scsipi_cmd(f073bc80, f0231d5c, 6, 0, 0)
	scsipi_test_unit_ready(f073bc80, 1c0, 4, 0, f0739580)
	sdopen(400, 1, 6000, 0, f01f41d4)
	spec_open(f0231df4)
	match_harddisk(f073dc00, f0203cd0)
	find_root(f0231f78, f0231f74)
	cpu_rootconf(0, 0, 22ff8c, 22f000, 255000)

So I think I'm seeing consistent behaviour with both the ZIP and DAT drives -
namely the inability to read from either device on the ZIP ZOOM scsi bus.  The
above stack trace and a quick code inspection shows that the kernel is
attempting to read from the ZIP drive to determine whether it contains the root
filesystem.  It only does this for fd*, wd* and sd* devices which is why it
doesn't do this for the DAT drive and so I don't get the hang during boot then.

I tried to confirm this by booting with the '-r' flag (RB_DFLTROOT) which I
thought might supress the search for the root, but the system still wedged.  In
the end I hacked the code in arch/i386/i386/autoconf.c to not look at "sd"
devices for the root.  With that change the system booted fine and then (as
expected) a "dd if=/dev/rsd0a ..." hung.

So does anyone know whether the ZIP ZOOM is supported and if not, what changes
are needed to make it work?  Hopefully it won't be far off working, since as I
said earlier, it is probed OK, and devices on the bus are correctly identified.

Any help would be appreciated.

Duncan