quester@macom1.UUCP (Rikki ( afraid to post under his real name ) Welsh) (04/25/89)
I'm confused. What I'm trying to do is to take a SCSI disk (WORM) which contains a wealth of data written by a non-Unix machine, and connect it to a Sun-4 for processing. All I ever want to do is to use these disks as a raw, read-only character device. I already have the software that understands what's what by block number on the disk. I just need to be able to read specific block numbers from the SCSI disk. It seemed to me (in my naiveity) that "Gee, we already have a raw SCSI disk handler (major node = 17). Maybe all I have to do is mknod /dev/worm and try to read it"! Alas, no such luck. So, I have written some drivers before and figured that's what needs to be done. The "Writing Device Drivers for the Sun" has left me somewhat confused and looks quite different from what I've encountered before (which was plain old Sys V and a little version7 before that). Some random thoughts/questions: Are there separate drivers for the SCSI host adapter (sc.o?) and the SCSI disk (i.e, sd.o)? How do these get tied together? Can I keep sc.o and just add mydisk.o? Is there some way I can use the existing raw SCSI driver, maybe by some magic ioctl call that will allow me to read specific blocks? Why won't one raw SCSI disk driver work with some other SCSI disk? Is the driver for SCSI devices really 2 drivers -- one for the host adapter and one device specific (whatever happened to standards?)? Is there some way of getting source for the/a SCSI driver short of having a source license for SunOS? Would some kind soul point me in the right direction (or any direction for that matter)? I'm lost with mbvar's, mb_driver, md_driver, autoconfig probe, slave, and attach? Thanks. -- K. N. Quester UUCP: grebyn!macom1!quester