*BSD News Article 3757


Return to BSD News archive

Xref: sserve comp.unix.bsd:3804 comp.sys.ibm.pc.hardware:29320
Path: sserve!manuel!munnari.oz.au!uunet!mcsun!sun4nl!star.cs.vu.nl!kjb
From: kjb@cs.vu.nl (Kees J. Bot)
Newsgroups: comp.unix.bsd,comp.sys.ibm.pc.hardware
Subject: Re: Another Adaptec Question
Message-ID: <15776@star.cs.vu.nl>
Date: 17 Aug 92 15:08:04 GMT
References: <1992Aug14.192127.13801@adaptx1.UUCP> <7@tama.spec.co.jp> <1992Aug16.144341.24052@Informatik.TU-Muenchen.DE>
Sender: news@cs.vu.nl
Distribution: world,fj,spec
Lines: 62

rommel@Informatik.TU-Muenchen.DE (Kai-Uwe Rommel) writes:
>
>In article <7@tama.spec.co.jp> amurai@tama.spec.co.jp (Atsushi Murai) writes:
>>ariticle is not ..but) and Fujitsu M2266SA 1.2 GB Disks. Functionality
>>is good but it looks like loosing a space about 200MB (above 1Gbyte).
>>And some guy let me know about this is a known problem of 1542B and
>>Adaptec will be fixed by new board - 1542C. (Oh well.....)
>>Now a day, A lot of guys try to run 386BSD with this card without know
>>this problem!!!
>>
>>My Question:
>>
>>  o Is this a hard ware limitaion or a firm ware one ?
>>  o Is there any upgrade pass from 1542B to 1542C(?) ?
>>  o When new board is available ?
>>  o How about 174X for EISA bus ? (normal/extended mode)
>
>This is a *software* limitation of the operating system. Some OSes don't
>handle disks with more than 1024 cylinders. The standard mapping of SCSI
>disks on the 1542B is to 64 heads and 32 sectors per track, i.e. 1MB per
>cylinder. So, if you have 1 drive >1GB, it exceeds the 1024 cylinder
>range.

It has nothing to do with heads, sectors or cylinders.  The group 0 SCSI
read/write commands allow only for a 21 bit block address limiting one
to 2 megablocks, which is 1GB at the usual 512 bytes per block.

The group 1 SCSI read/write commands offer a 32 bit block address
however, but not all O.S.'s are smart enough to use those commands.

>Adaptec has now a new mapping scheme with 256 heads and 64 sectors per
>track, [etc...]

At least the 64 sectors per track number is wrong, you can't have more
than 63 sectors on a track.  I don't like the 256 heads per track
either, I know of one (1.5GB) disk with an AT interface that uses the
top 2 head bits for two more cylinder bits.  This limits the number of
heads per track to 64, but allows for 4096 cylinders.  I don't know if
this is a normal way of addressing bigger disks under DOS.  Anyone?

>However, as said, Unix systems should generally be able to handle more
>than 1024 (logical, in this case) cylinders. You may want to try this
>first. The Unix file system code uses the BIOS only at boot time
>to determine the drive geometry and to load the kernel.

The Adaptec 1542B card that I bought recently is temporarily installed
in a PC at work with (hold your breath :-)) our spare Fujitsu M2266S
attached to it.

After hacking group 1 support into the Minix SCSI driver I can now address
all of the 2107704 sectors on the disk.  Note that the disk is only 5KB
larger than 1GB, you lose a bit after formatting. :-(

I do not use the Adaptec BIOS by the way, there is a nice SCSI command
to ask the drive how big it is and that is all the info you need with
SCSI.  You can't even see more than two disks with the BIOS.

It's nice to be able to use the whole disk under a toy O.S. like Minix,
something we do not dare do under SunOS yet.
--
	                        Kees J. Bot  (kjb@cs.vu.nl)
	              Systems Programmer, Vrije Universiteit Amsterdam